feat(smarthome): add smart home features and Home Assistant integration (WebSocket protocol, discovery, factories, interfaces)

This commit is contained in:
2026-01-09 16:20:54 +00:00
parent 7bcec69658
commit 38a6e5c250
23 changed files with 4786 additions and 5 deletions

View File

@@ -6,10 +6,20 @@
// Abstract base
export { Feature, type TDeviceReference } from './feature.abstract.js';
// Concrete features
// Concrete features - Document/Infrastructure
export { ScanFeature, type IScanFeatureOptions } from './feature.scan.js';
export { PrintFeature, type IPrintFeatureOptions } from './feature.print.js';
export { PlaybackFeature, type IPlaybackFeatureOptions } from './feature.playback.js';
export { VolumeFeature, type IVolumeFeatureOptions, type IVolumeController } from './feature.volume.js';
export { PowerFeature, type IPowerFeatureOptions } from './feature.power.js';
export { SnmpFeature, type ISnmpFeatureOptions } from './feature.snmp.js';
// Smart Home Features (protocol-agnostic: home-assistant, hue, mqtt, etc.)
export { SwitchFeature, type ISwitchFeatureOptions } from './feature.switch.js';
export { SensorFeature, type ISensorFeatureOptions } from './feature.sensor.js';
export { LightFeature, type ILightFeatureOptions } from './feature.light.js';
export { CoverFeature, type ICoverFeatureOptions } from './feature.cover.js';
export { LockFeature, type ILockFeatureOptions } from './feature.lock.js';
export { FanFeature, type IFanFeatureOptions } from './feature.fan.js';
export { ClimateFeature, type IClimateFeatureOptions } from './feature.climate.js';
export { CameraFeature, type ICameraFeatureOptions } from './feature.camera.js';