├── .eslintignore ├── .eslintrc ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── config.yml │ ├── feature_request.md │ └── new-device-request.md └── workflows │ ├── build.yml │ ├── codeql-analysis.yml │ ├── stale.yml │ └── style.yml ├── .gitignore ├── .npmignore ├── .prettierignore ├── .prettierrc.json ├── LICENSE ├── README.md ├── config.schema.json ├── nodemon.json ├── package.json ├── src ├── accessories │ ├── BaseAccessory.ts │ ├── ClimateAccessory.ts │ ├── ColorAccessory.ts │ ├── CoverAccessory.ts │ ├── DimmerAccessory.ts │ ├── FanAccessory.ts │ ├── GarageDoorAccessory.ts │ ├── LightAccessory.ts │ ├── OutletAccessory.ts │ ├── SceneAccessory.ts │ ├── SwitchAccessory.ts │ ├── TemperatureSensorAccessory.ts │ ├── WindowAccessory.ts │ ├── characteristics │ │ ├── active.ts │ │ ├── base.ts │ │ ├── brightness.ts │ │ ├── colorTemperature.ts │ │ ├── currentDoorState.ts │ │ ├── currentHeatingCoolingState.ts │ │ ├── currentPosition.ts │ │ ├── currentTemperature.ts │ │ ├── holdPosition.ts │ │ ├── hue.ts │ │ ├── index.ts │ │ ├── momentaryOn.ts │ │ ├── obstructionDetected.ts │ │ ├── on.ts │ │ ├── positionState.ts │ │ ├── rotationSpeed.ts │ │ ├── saturation.ts │ │ ├── targetDoorState.ts │ │ ├── targetHeatingCoolingState.ts │ │ ├── targetPosition.ts │ │ ├── targetTemperature.ts │ │ └── temperatureDisplayUnits.ts │ └── index.ts ├── api │ ├── platform.ts │ ├── response.ts │ ├── service.ts │ └── session.ts ├── config.ts ├── errors │ ├── AuthenticationError.ts │ ├── DeviceOfflineError.ts │ ├── RateLimitError.ts │ ├── UnsupportedOperationError.ts │ └── index.ts ├── helpers │ ├── DebouncedPromise.ts │ ├── DeviceList.ts │ ├── MapRange.ts │ ├── TuyaBoolean.ts │ ├── cache.ts │ └── delay.ts ├── index.ts ├── platform.ts └── settings.ts ├── test ├── .gitignore └── tuyawebapi.spec.ts ├── tools ├── .gitignore └── debug_discovery.py └── tsconfig.json /.eslintignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/.eslintignore -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/.eslintrc -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/new-device-request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/.github/ISSUE_TEMPLATE/new-device-request.md -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/.github/workflows/build.yml -------------------------------------------------------------------------------- /.github/workflows/codeql-analysis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/.github/workflows/codeql-analysis.yml -------------------------------------------------------------------------------- /.github/workflows/stale.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/.github/workflows/stale.yml -------------------------------------------------------------------------------- /.github/workflows/style.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/.github/workflows/style.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/.gitignore -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/.npmignore -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | .github/ 2 | dist/ 3 | node_modules/ 4 | tools/ 5 | -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/README.md -------------------------------------------------------------------------------- /config.schema.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/config.schema.json -------------------------------------------------------------------------------- /nodemon.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/nodemon.json -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/package.json -------------------------------------------------------------------------------- /src/accessories/BaseAccessory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/BaseAccessory.ts -------------------------------------------------------------------------------- /src/accessories/ClimateAccessory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/ClimateAccessory.ts -------------------------------------------------------------------------------- /src/accessories/ColorAccessory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/ColorAccessory.ts -------------------------------------------------------------------------------- /src/accessories/CoverAccessory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/CoverAccessory.ts -------------------------------------------------------------------------------- /src/accessories/DimmerAccessory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/DimmerAccessory.ts -------------------------------------------------------------------------------- /src/accessories/FanAccessory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/FanAccessory.ts -------------------------------------------------------------------------------- /src/accessories/GarageDoorAccessory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/GarageDoorAccessory.ts -------------------------------------------------------------------------------- /src/accessories/LightAccessory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/LightAccessory.ts -------------------------------------------------------------------------------- /src/accessories/OutletAccessory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/OutletAccessory.ts -------------------------------------------------------------------------------- /src/accessories/SceneAccessory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/SceneAccessory.ts -------------------------------------------------------------------------------- /src/accessories/SwitchAccessory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/SwitchAccessory.ts -------------------------------------------------------------------------------- /src/accessories/TemperatureSensorAccessory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/TemperatureSensorAccessory.ts -------------------------------------------------------------------------------- /src/accessories/WindowAccessory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/WindowAccessory.ts -------------------------------------------------------------------------------- /src/accessories/characteristics/active.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/characteristics/active.ts -------------------------------------------------------------------------------- /src/accessories/characteristics/base.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/characteristics/base.ts -------------------------------------------------------------------------------- /src/accessories/characteristics/brightness.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/characteristics/brightness.ts -------------------------------------------------------------------------------- /src/accessories/characteristics/colorTemperature.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/characteristics/colorTemperature.ts -------------------------------------------------------------------------------- /src/accessories/characteristics/currentDoorState.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/characteristics/currentDoorState.ts -------------------------------------------------------------------------------- /src/accessories/characteristics/currentHeatingCoolingState.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/characteristics/currentHeatingCoolingState.ts -------------------------------------------------------------------------------- /src/accessories/characteristics/currentPosition.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/characteristics/currentPosition.ts -------------------------------------------------------------------------------- /src/accessories/characteristics/currentTemperature.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/characteristics/currentTemperature.ts -------------------------------------------------------------------------------- /src/accessories/characteristics/holdPosition.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/characteristics/holdPosition.ts -------------------------------------------------------------------------------- /src/accessories/characteristics/hue.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/characteristics/hue.ts -------------------------------------------------------------------------------- /src/accessories/characteristics/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/characteristics/index.ts -------------------------------------------------------------------------------- /src/accessories/characteristics/momentaryOn.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/characteristics/momentaryOn.ts -------------------------------------------------------------------------------- /src/accessories/characteristics/obstructionDetected.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/characteristics/obstructionDetected.ts -------------------------------------------------------------------------------- /src/accessories/characteristics/on.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/characteristics/on.ts -------------------------------------------------------------------------------- /src/accessories/characteristics/positionState.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/characteristics/positionState.ts -------------------------------------------------------------------------------- /src/accessories/characteristics/rotationSpeed.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/characteristics/rotationSpeed.ts -------------------------------------------------------------------------------- /src/accessories/characteristics/saturation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/characteristics/saturation.ts -------------------------------------------------------------------------------- /src/accessories/characteristics/targetDoorState.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/characteristics/targetDoorState.ts -------------------------------------------------------------------------------- /src/accessories/characteristics/targetHeatingCoolingState.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/characteristics/targetHeatingCoolingState.ts -------------------------------------------------------------------------------- /src/accessories/characteristics/targetPosition.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/characteristics/targetPosition.ts -------------------------------------------------------------------------------- /src/accessories/characteristics/targetTemperature.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/characteristics/targetTemperature.ts -------------------------------------------------------------------------------- /src/accessories/characteristics/temperatureDisplayUnits.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/characteristics/temperatureDisplayUnits.ts -------------------------------------------------------------------------------- /src/accessories/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/accessories/index.ts -------------------------------------------------------------------------------- /src/api/platform.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/api/platform.ts -------------------------------------------------------------------------------- /src/api/response.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/api/response.ts -------------------------------------------------------------------------------- /src/api/service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/api/service.ts -------------------------------------------------------------------------------- /src/api/session.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/api/session.ts -------------------------------------------------------------------------------- /src/config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/config.ts -------------------------------------------------------------------------------- /src/errors/AuthenticationError.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/errors/AuthenticationError.ts -------------------------------------------------------------------------------- /src/errors/DeviceOfflineError.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/errors/DeviceOfflineError.ts -------------------------------------------------------------------------------- /src/errors/RateLimitError.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/errors/RateLimitError.ts -------------------------------------------------------------------------------- /src/errors/UnsupportedOperationError.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/errors/UnsupportedOperationError.ts -------------------------------------------------------------------------------- /src/errors/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/errors/index.ts -------------------------------------------------------------------------------- /src/helpers/DebouncedPromise.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/helpers/DebouncedPromise.ts -------------------------------------------------------------------------------- /src/helpers/DeviceList.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/helpers/DeviceList.ts -------------------------------------------------------------------------------- /src/helpers/MapRange.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/helpers/MapRange.ts -------------------------------------------------------------------------------- /src/helpers/TuyaBoolean.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/helpers/TuyaBoolean.ts -------------------------------------------------------------------------------- /src/helpers/cache.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/helpers/cache.ts -------------------------------------------------------------------------------- /src/helpers/delay.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/helpers/delay.ts -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/platform.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/platform.ts -------------------------------------------------------------------------------- /src/settings.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/src/settings.ts -------------------------------------------------------------------------------- /test/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/test/.gitignore -------------------------------------------------------------------------------- /test/tuyawebapi.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/test/tuyawebapi.spec.ts -------------------------------------------------------------------------------- /tools/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | */ 3 | !.gitignore 4 | !debug_discovery.py 5 | -------------------------------------------------------------------------------- /tools/debug_discovery.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/tools/debug_discovery.py -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milo526/homebridge-tuya-web/HEAD/tsconfig.json --------------------------------------------------------------------------------