matterbridge-dyson-robot
Version:
A Matterbridge plugin that connects Dyson robot vacuums and air treatment devices to the Matter smart home ecosystem via their local or cloud MQTT APIs.
226 lines • 8.67 kB
JavaScript
/**
* This module was automatically generated by `ts-interface-builder`
*/
import * as t from "ts-interface-checker";
// tslint:disable:object-literal-key-quotes
export const Dyson360UnifiedschedulerEvent = t.iface(["DysonUnifiedschedulerEvent"], {
"settings": t.iface([], {
"cleaningProgramme": t.union("Dyson360CleaningProgramme", "null"),
"cleaningStrategy": t.union("Dyson360CleaningStrategy", "null"),
"currentCleaningMode": t.opt("Dyson360CleaningMode"),
"powerMode": t.union("Dyson360EyeEventPowerMode", "null"),
}),
});
export const Dyson360UnifiedschedulerEventsResponse = t.iface(["DysonUnifiedschedulerEventsResponse"], {
"events": t.array("Dyson360UnifiedschedulerEvent"),
});
export const Dyson360CleanHistoryEntry = t.iface([], {
"Area": "number",
"Charges": "number",
"Clean": "string",
"Finished": "string",
"FinishedIso8601": "string",
"IsInterim": "boolean",
"Started": "string",
"StartedIso8601": "string",
"Type": "string",
});
export const Dyson360CleanHistoryResponse = t.iface([], {
"Entries": t.array("Dyson360CleanHistoryEntry"),
"TriviaArea": "number",
"TriviaMessage": "string",
});
export const Dyson360PersistentMapMetadataZone = t.iface([], {
"area": "number",
"icon": "Dyson360ZoneIcon",
"id": "string",
"name": "string",
});
export const Dyson360PersistentMapMetadataZoneProperties = t.iface([], {
"zones": t.array("string"),
"zoneBehaviours": t.iface([], {
"vacuumPowerMode": "null",
"cleaningStrategy": "Dyson360CleaningStrategy",
}),
});
export const Dyson360PersistentMapMetadata = t.iface([], {
"id": "string",
"name": t.union("string", "null"),
"lastVisited": "string",
"zones": t.array("Dyson360PersistentMapMetadataZone"),
"zoneProperties": t.array("Dyson360PersistentMapMetadataZoneProperties"),
"zonesDefinitionLastUpdatedDate": t.union("string", "null"),
});
export const Dyson360PersistentMapMetadataResponse = t.array("Dyson360PersistentMapMetadata");
export const Dyson360PersistentMapLocation = t.iface([], {
"x": "number",
"y": "number",
});
export const Dyson360PersistentMapLocationRotated = t.iface(["Dyson360PersistentMapLocation"], {
"angle": "number",
});
export const Dyson360PersistentMapLocationIdentity = t.iface([], {
"x": t.lit(0),
"y": t.lit(0),
"angle": t.lit(0),
});
export const Dyson360PersistentMapBitmap = t.iface([], {
"resolution": "number",
"data": "string",
});
export const Dyson360PersistentMapThreshold = t.iface([], {
"startX": "number",
"startY": "number",
"endX": "number",
"endY": "number",
"leftZone": "string",
"rightZone": "string",
});
export const Dyson360PersistentMapZonesDefinition = t.iface([], {
"lastUpdatedDate": "string",
"persistentMapDisplayOrientation": "Dyson360Rotation",
"persistentMapId": "string",
"persistentMapName": "string",
"persistentMapOffset": "Dyson360PersistentMapLocationIdentity",
"persistentMapVersion": "number",
"thresholds": t.array("Dyson360PersistentMapThreshold"),
"zoneProperties": t.array("Dyson360PersistentMapMetadataZoneProperties"),
"zones": t.array("Dyson360PersistentMapMetadataZone"),
"zonesMap": "Dyson360PersistentMapBitmap",
});
export const Dyson360PersistentMapRestrictionProperties = t.iface([], {
"keepOut": t.union(t.lit(true), "null"),
"brushBarOff": t.union(t.lit(true), "null"),
"vacuumPowerMode": "null",
"noClimb": t.union(t.lit(true), "null"),
"lowObjectSensitivity": "null",
});
export const Dyson360PersistentMapRestriction = t.iface([], {
"icon": "null",
"id": "number",
"name": "string",
"priority": "number",
"properties": "Dyson360PersistentMapRestrictionProperties",
"vertices": t.array("Dyson360PersistentMapLocation"),
});
export const Dyson360PersistentMapRestrictionsDefinition = t.iface([], {
"lastUpdatedDate": "string",
"persistentMapId": "string",
"persistentMapOffset": "Dyson360PersistentMapLocationIdentity",
"persistentMapVersion": "number",
"restrictions": t.array("Dyson360PersistentMapRestriction"),
});
export const Dyson360PersistentMapResponse = t.iface([], {
"dockLocations": t.array("Dyson360PersistentMapLocationRotated"),
"highSensitivityAdditionalObjects": "Dyson360PersistentMapBitmap",
"id": "string",
"lastVisited": "string",
"lowSensitivityObjects": "Dyson360PersistentMapBitmap",
"maturity": "Dyson360PersistentMapBitmap",
"occupancyProbability": "Dyson360PersistentMapBitmap",
"offset": "Dyson360PersistentMapLocationRotated",
"presentationMap": "Dyson360PersistentMapBitmap",
"restrictionsDefinition": t.union("Dyson360PersistentMapRestrictionsDefinition", "null"),
"version": "number",
"visitedFootprint": "Dyson360PersistentMapBitmap",
"zonesDefinition": "Dyson360PersistentMapZonesDefinition",
});
export const Dyson360CleanMapLocation = t.iface([], {
"x": "number",
"y": "number",
});
export const Dyson360CleanMapLocationUnrotated = t.iface(["Dyson360CleanMapLocation"], {
"angle": t.lit(0),
});
export const Dyson360CleanTimelineEntry = t.iface([], {
"eventName": "Dyson360TimelineEvent",
"time": "string",
"zone": t.union("string", "null"),
"targetZone": t.union("string", "null"),
"persistentMapId": t.union("string", "null"),
"reason": "null",
"faultCode": t.union("string", "null"),
"faultType": t.union("string", "null"),
"faultLocation": t.union("Dyson360CleanMapLocation", "null"),
});
export const DysonCleanMapDustData = t.iface([], {
"name": "Dyson360DustName",
"scaleFactor": "number",
"data": "string",
});
export const DysonCleanMapDustMap = t.iface([], {
"width": "number",
"height": "number",
"resolution": "number",
"dustData": t.array("DysonCleanMapDustData"),
});
export const DysonCleanMapPersistentMap = t.iface([], {
"id": "string",
"cleanMapPosition": "Dyson360CleanMapLocationUnrotated",
});
export const Dyson360CleanMap = t.iface([], {
"cleanedFootprint": "Dyson360PersistentMapBitmap",
"cleanId": "string",
"cleanTimeline": t.array("Dyson360CleanTimelineEntry"),
"dustMap": "DysonCleanMapDustMap",
"highSensitivityAdditionalObjects": "Dyson360PersistentMapBitmap",
"lowSensitivityObjects": "Dyson360PersistentMapBitmap",
"occupancyProbability": "Dyson360PersistentMapBitmap",
"persistentMap": t.union("DysonCleanMapPersistentMap", "null"),
"robotPath": t.tuple(),
"sequenceNumber": "number",
"zones": t.union("Dyson360PersistentMapBitmap", "null"),
"zoneStatus": t.union(t.array("Dyson360ZoneStatus"), "null"),
});
export const Dyson360CleanMapsResponse = t.array("Dyson360CleanMap");
export const Dyson360ZonePredictionDustMilligrams = t.iface([], {
"name": "Dyson360DustName",
"weight": "number",
});
export const Dyson360ZonePrediction = t.iface([], {
"zoneId": "string",
"zoneDustMilligrams": t.array("Dyson360ZonePredictionDustMilligrams"),
});
export const Dyson360RecommendedClean = t.iface([], {
"persistentMapId": "string",
"zonePredictions": t.array("Dyson360ZonePrediction"),
});
export const Dyson360RecommendedCleansResponse = t.array("Dyson360RecommendedClean");
export const Dyson360ZoneBehavioursRequest = t.iface([], {
"cleaningStrategy": "Dyson360CleaningStrategy",
});
const exportedTypeSuite = {
Dyson360UnifiedschedulerEvent,
Dyson360UnifiedschedulerEventsResponse,
Dyson360CleanHistoryEntry,
Dyson360CleanHistoryResponse,
Dyson360PersistentMapMetadataZone,
Dyson360PersistentMapMetadataZoneProperties,
Dyson360PersistentMapMetadata,
Dyson360PersistentMapMetadataResponse,
Dyson360PersistentMapLocation,
Dyson360PersistentMapLocationRotated,
Dyson360PersistentMapLocationIdentity,
Dyson360PersistentMapBitmap,
Dyson360PersistentMapThreshold,
Dyson360PersistentMapZonesDefinition,
Dyson360PersistentMapRestrictionProperties,
Dyson360PersistentMapRestriction,
Dyson360PersistentMapRestrictionsDefinition,
Dyson360PersistentMapResponse,
Dyson360CleanMapLocation,
Dyson360CleanMapLocationUnrotated,
Dyson360CleanTimelineEntry,
DysonCleanMapDustData,
DysonCleanMapDustMap,
DysonCleanMapPersistentMap,
Dyson360CleanMap,
Dyson360CleanMapsResponse,
Dyson360ZonePredictionDustMilligrams,
Dyson360ZonePrediction,
Dyson360RecommendedClean,
Dyson360RecommendedCleansResponse,
Dyson360ZoneBehavioursRequest,
};
export default exportedTypeSuite;
//# sourceMappingURL=dyson-360-cloud-types-ti.js.map