matterbridge-roborock-vacuum-plugin
Version:
Matterbridge Roborock Vacuum Plugin
84 lines • 2.66 kB
TypeScript
import { PlatformConfig } from 'matterbridge';
export type RoborockPluginPlatformConfig = PlatformConfig & {
authentication: AuthenticationConfiguration;
pluginConfiguration: PluginConfiguration;
advancedFeature: AdvancedFeatureConfiguration;
};
export interface AuthenticationConfiguration {
username: string;
region: 'US' | 'EU' | 'CN' | 'RU';
forceAuthentication: boolean;
authenticationMethod: 'VerificationCode' | 'Password';
verificationCode?: string;
password?: string;
}
export interface PluginConfiguration {
whiteList: string[];
enableServerMode: boolean;
enableMultipleMap: boolean;
sanitizeSensitiveLogs: boolean;
refreshInterval: number;
debug: boolean;
unregisterOnShutdown: boolean;
}
export interface AdvancedFeatureConfiguration {
enableAdvancedFeature: boolean;
settings: AdvancedFeatureSetting;
}
export interface EmailNotificationSettings {
smtpHost?: string;
smtpPort?: number;
smtpSecure?: boolean;
smtpUser?: string;
smtpPassword?: string;
recipient?: string;
}
export interface AdvancedFeatureSetting {
clearStorageOnStartup: boolean;
showRoutinesAsRoom: boolean;
includeDockStationStatus: boolean;
includeVacuumErrorStatus: boolean;
forceRunAtDefault: boolean;
useVacationModeToSendVacuumToDock: boolean;
enableCleanModeMapping: boolean;
cleanModeSettings: CleanModeSettings;
overrideMatterConfiguration: boolean;
matterOverrideSettings: MatterOverrideSettings;
enableEmailNotification: boolean;
emailNotificationSettings: EmailNotificationSettings;
}
export interface DeviceProductNameOverride {
serialNumber: string;
productName: string;
}
export interface MatterOverrideSettings {
matterVendorName: string;
matterVendorId: number;
matterProductName: string;
matterProductId: number;
deviceProductNames?: DeviceProductNameOverride[];
}
export interface CleanModeSettings {
vacuuming: VacuumingCleanModeSetting;
mopping: MoppingCleanModeSetting;
vacmop: VacMopCleanModeSetting;
}
interface VacuumingCleanModeSetting {
fanMode: string;
mopRouteMode: string;
}
interface MoppingCleanModeSetting {
waterFlowMode: string;
mopRouteMode: string;
distanceOff: number;
}
interface VacMopCleanModeSetting {
fanMode: string;
waterFlowMode: string;
mopRouteMode: string;
distanceOff: number;
}
export declare function createDefaultAdvancedFeature(): AdvancedFeatureConfiguration;
export declare function createDefaultCleanModeSettings(): CleanModeSettings;
export {};
//# sourceMappingURL=RoborockPluginPlatformConfig.d.ts.map