From 163eff2d443f005b70aca549d9a97d0abdeb3702 Mon Sep 17 00:00:00 2001 From: Antony Peklo Date: Mon, 14 Aug 2023 13:00:56 -0700 Subject: [PATCH] Add support for the Shelly Plus WallDimmer --- README.md | 1 + src/devices/index.ts | 1 + src/devices/shelly-plus-wd.ts | 38 +++++++++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 src/devices/shelly-plus-wd.ts diff --git a/README.md b/README.md index 51231f56..67534c81 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ For the first generation, see [node-shellies](https://github.com/alexryd/node-sh * [Shelly Plus 2 PM](https://shelly-api-docs.shelly.cloud/gen2/Devices/ShellyPlus2PM) * [Shelly Plus I4](https://shelly-api-docs.shelly.cloud/gen2/Devices/ShellyPlusI4) * [Shelly Plus Plug US](https://shelly-api-docs.shelly.cloud/gen2/Devices/ShellyPlugUS) +* [Shelly Plus WallDimmer](https://shelly-api-docs.shelly.cloud/gen2/Devices/ShellyPlusWallDimmer) * [Shelly Plus H&T](https://shelly-api-docs.shelly.cloud/gen2/Devices/ShellyPlusHT) 1 * [Shelly Pro 1](https://shelly-api-docs.shelly.cloud/gen2/Devices/ShellyPro1) * [Shelly Pro 1 PM](https://shelly-api-docs.shelly.cloud/gen2/Devices/ShellyPro1PM) diff --git a/src/devices/index.ts b/src/devices/index.ts index 68a2fa10..64c74c7b 100644 --- a/src/devices/index.ts +++ b/src/devices/index.ts @@ -6,6 +6,7 @@ export * from './shelly-plus-2-pm'; export * from './shelly-plus-ht'; export * from './shelly-plus-i4'; export * from './shelly-plus-plug-us'; +export * from './shelly-plus-wd'; export * from './shelly-pro-1'; export * from './shelly-pro-1-pm'; export * from './shelly-pro-2'; diff --git a/src/devices/shelly-plus-wd.ts b/src/devices/shelly-plus-wd.ts new file mode 100644 index 00000000..4abd8bdb --- /dev/null +++ b/src/devices/shelly-plus-wd.ts @@ -0,0 +1,38 @@ +import { component, Device } from './base'; +import { + BluetoothLowEnergy, + Cloud, + Mqtt, + OutboundWebSocket, + Script, + Light, + WiFi, +} from '../components'; + +export class ShellyPlusWallDimmer extends Device { + static readonly model: string = 'SNDM-0013US'; + static readonly modelName: string = 'Shelly Plus WallDimmer'; + + @component + readonly wifi = new WiFi(this); + + @component + readonly bluetoothLowEnergy = new BluetoothLowEnergy(this); + + @component + readonly cloud = new Cloud(this); + + @component + readonly mqtt = new Mqtt(this); + + @component + readonly outboundWebSocket = new OutboundWebSocket(this); + + @component + readonly light0 = new Light(this, 0); + + @component + readonly script = new Script(this); +} + +Device.registerClass(ShellyPlusWallDimmer);