├── .github └── workflows │ ├── publish-to-pypi.yml │ └── tests.yml ├── .gitignore ├── .pylintrc ├── .vscode └── settings.json ├── LICENSE ├── README.md ├── dev-requirements.txt ├── mypy.ini ├── pyproject.toml ├── requirements.txt ├── run-build.sh ├── run-mypy.sh ├── run-pylint.sh ├── run-python-versions-test.sh ├── run-test.sh ├── setup.py ├── setup.sh ├── src ├── __init__.py └── dirigera │ ├── __init__.py │ ├── devices │ ├── __init__.py │ ├── air_purifier.py │ ├── base_ikea_model.py │ ├── blinds.py │ ├── controller.py │ ├── device.py │ ├── environment_sensor.py │ ├── light.py │ ├── motion_sensor.py │ ├── open_close_sensor.py │ ├── outlet.py │ ├── scene.py │ └── water_sensor.py │ └── hub │ ├── __init__.py │ ├── abstract_smart_home_hub.py │ ├── auth.py │ ├── hub.py │ └── utils.py └── tests ├── __init__.py ├── test_air_purifier.py ├── test_blinds.py ├── test_controller.py ├── test_environment_sensor.py ├── test_light.py ├── test_motion_sensor.py ├── test_open_close_sensor.py ├── test_outlet.py ├── test_scenes.py ├── test_utils.py └── test_water_sensor.py /.github/workflows/publish-to-pypi.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/.github/workflows/publish-to-pypi.yml -------------------------------------------------------------------------------- /.github/workflows/tests.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/.github/workflows/tests.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/.gitignore -------------------------------------------------------------------------------- /.pylintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/.pylintrc -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/README.md -------------------------------------------------------------------------------- /dev-requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/dev-requirements.txt -------------------------------------------------------------------------------- /mypy.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/mypy.ini -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/pyproject.toml -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | requests==2.* 2 | websocket-client==1.5.1 3 | pydantic==2.4.2 -------------------------------------------------------------------------------- /run-build.sh: -------------------------------------------------------------------------------- 1 | python3 -m build -------------------------------------------------------------------------------- /run-mypy.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/run-mypy.sh -------------------------------------------------------------------------------- /run-pylint.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/run-pylint.sh -------------------------------------------------------------------------------- /run-python-versions-test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/run-python-versions-test.sh -------------------------------------------------------------------------------- /run-test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/run-test.sh -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/setup.py -------------------------------------------------------------------------------- /setup.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/setup.sh -------------------------------------------------------------------------------- /src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dirigera/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/src/dirigera/__init__.py -------------------------------------------------------------------------------- /src/dirigera/devices/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dirigera/devices/air_purifier.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/src/dirigera/devices/air_purifier.py -------------------------------------------------------------------------------- /src/dirigera/devices/base_ikea_model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/src/dirigera/devices/base_ikea_model.py -------------------------------------------------------------------------------- /src/dirigera/devices/blinds.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/src/dirigera/devices/blinds.py -------------------------------------------------------------------------------- /src/dirigera/devices/controller.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/src/dirigera/devices/controller.py -------------------------------------------------------------------------------- /src/dirigera/devices/device.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/src/dirigera/devices/device.py -------------------------------------------------------------------------------- /src/dirigera/devices/environment_sensor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/src/dirigera/devices/environment_sensor.py -------------------------------------------------------------------------------- /src/dirigera/devices/light.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/src/dirigera/devices/light.py -------------------------------------------------------------------------------- /src/dirigera/devices/motion_sensor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/src/dirigera/devices/motion_sensor.py -------------------------------------------------------------------------------- /src/dirigera/devices/open_close_sensor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/src/dirigera/devices/open_close_sensor.py -------------------------------------------------------------------------------- /src/dirigera/devices/outlet.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/src/dirigera/devices/outlet.py -------------------------------------------------------------------------------- /src/dirigera/devices/scene.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/src/dirigera/devices/scene.py -------------------------------------------------------------------------------- /src/dirigera/devices/water_sensor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/src/dirigera/devices/water_sensor.py -------------------------------------------------------------------------------- /src/dirigera/hub/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dirigera/hub/abstract_smart_home_hub.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/src/dirigera/hub/abstract_smart_home_hub.py -------------------------------------------------------------------------------- /src/dirigera/hub/auth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/src/dirigera/hub/auth.py -------------------------------------------------------------------------------- /src/dirigera/hub/hub.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/src/dirigera/hub/hub.py -------------------------------------------------------------------------------- /src/dirigera/hub/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/src/dirigera/hub/utils.py -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/test_air_purifier.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/tests/test_air_purifier.py -------------------------------------------------------------------------------- /tests/test_blinds.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/tests/test_blinds.py -------------------------------------------------------------------------------- /tests/test_controller.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/tests/test_controller.py -------------------------------------------------------------------------------- /tests/test_environment_sensor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/tests/test_environment_sensor.py -------------------------------------------------------------------------------- /tests/test_light.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/tests/test_light.py -------------------------------------------------------------------------------- /tests/test_motion_sensor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/tests/test_motion_sensor.py -------------------------------------------------------------------------------- /tests/test_open_close_sensor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/tests/test_open_close_sensor.py -------------------------------------------------------------------------------- /tests/test_outlet.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/tests/test_outlet.py -------------------------------------------------------------------------------- /tests/test_scenes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/tests/test_scenes.py -------------------------------------------------------------------------------- /tests/test_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/tests/test_utils.py -------------------------------------------------------------------------------- /tests/test_water_sensor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leggin/dirigera/HEAD/tests/test_water_sensor.py --------------------------------------------------------------------------------