Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/devices/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ export * from './shelly-plus-1-pm';
export * from './shelly-plus-2-pm';
export * from './shelly-plus-ht';
export * from './shelly-plus-i4';
export * from './shelly-plus-i4dc';
export * from './shelly-plus-plug-us';
export * from './shelly-pro-1';
export * from './shelly-pro-1-pm';
Expand Down
47 changes: 47 additions & 0 deletions src/devices/shelly-plus-i4dc.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
import { component, Device } from './base';
import {
BluetoothLowEnergy,
Cloud,
Input,
Mqtt,
OutboundWebSocket,
Script,
WiFi,
} from '../components';

export class ShellyPlusI4DC extends Device {
static readonly model: string = 'SNSN-0D24X';
static readonly modelName: string = 'Shelly Plus I4DC';

@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 input0 = new Input(this, 0);

@component
readonly input1 = new Input(this, 1);

@component
readonly input2 = new Input(this, 2);

@component
readonly input3 = new Input(this, 3);

@component
readonly script = new Script(this);
}

Device.registerClass(ShellyPlusI4DC);