homebridge-roborock-vacuum 1.0.13 → 1.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/platform.js +26 -18
- package/dist/platform.js.map +1 -1
- package/package.json +1 -1
- package/roborockLib/lib/deviceFeatures.js +30 -2
package/dist/platform.js
CHANGED
|
@@ -86,13 +86,18 @@ class RoborockPlatform {
|
|
|
86
86
|
*/
|
|
87
87
|
configureAccessory(accessory) {
|
|
88
88
|
this.log.info(`Loading accessory '${accessory.displayName}' from cache.`);
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
89
|
+
// Store restored accessory in the cached accessories list
|
|
90
|
+
// remove duplicates accessories
|
|
91
|
+
try {
|
|
92
|
+
const existingAccessory = this.accessories.find(a => a.UUID === accessory.UUID);
|
|
93
|
+
if (existingAccessory) {
|
|
94
|
+
this.log.info(`Removing duplicate accessory '${existingAccessory.displayName}' from cache.`);
|
|
95
|
+
this.api.unregisterPlatformAccessories(settings_1.PLUGIN_NAME, settings_1.PLATFORM_NAME, [existingAccessory]);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
catch (e) {
|
|
99
|
+
this.log.error("Error loading accessory from cache: " + e);
|
|
100
|
+
}
|
|
96
101
|
this.accessories.push(accessory);
|
|
97
102
|
}
|
|
98
103
|
isSupportedDevice(model) {
|
|
@@ -129,17 +134,20 @@ class RoborockPlatform {
|
|
|
129
134
|
// Create the accessory handler for the restored accessory
|
|
130
135
|
self.createRoborockAccessory(existingAccessory);
|
|
131
136
|
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
137
|
+
else {
|
|
138
|
+
// The accessory already exists, so we need to create it
|
|
139
|
+
self.log.info(`Adding accessory '${name}' (${uuid}).`);
|
|
140
|
+
// The accessory does not yet exist, so we need to create it
|
|
141
|
+
const accessory = new self.api.platformAccessory(name, uuid);
|
|
142
|
+
// Store a copy of the device object in the `accessory.context` property,
|
|
143
|
+
// which can be used to store any data about the accessory you may need.
|
|
144
|
+
accessory.context = duid;
|
|
145
|
+
// Create the accessory handler for the newly create accessory
|
|
146
|
+
// this is imported from `platformAccessory.ts`
|
|
147
|
+
self.createRoborockAccessory(accessory);
|
|
148
|
+
// Link the accessory to your platform
|
|
149
|
+
self.api.registerPlatformAccessories(settings_1.PLUGIN_NAME, settings_1.PLATFORM_NAME, [accessory]);
|
|
150
|
+
}
|
|
143
151
|
});
|
|
144
152
|
}
|
|
145
153
|
// At this point, we set up all devices from Roborock App, but we did not unregister
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -594,6 +594,7 @@ class deviceFeatures {
|
|
|
594
594
|
"roborock.vacuum.a135", // Qrevo Curv
|
|
595
595
|
"roborock.vacuum.a117", // Qrevo Master
|
|
596
596
|
"roborock.vacuum.a21", // Qrevo Slim
|
|
597
|
+
"roborock.vacuum.a144", // Saros 10R
|
|
597
598
|
].includes(robotModel),
|
|
598
599
|
// isShakeMopStrengthSupported: p.DMM.currentProduct == p.Products.TanosS || p.DMM.currentProduct == p.Products.TanosSPlus || p.DMM.isGarnet || p.DMM.isTopazSV || p.DMM.isPearlPlus || p.DMM.isCoral || p.DMM.isTopazS || p.DMM.isTopazSPlus || p.DMM.isTopazSC || p.DMM.isTopazSV || p.DMM.isPearlPlus || p.DMM.isTanosSMax || p.DMM.isUltron || p.DMM.isUltronSPlus || p.DMM.isUltronSMop || p.DMM.isUltronSV || p.DMM.isPearl
|
|
599
600
|
isShakeMopStrengthSupported: [
|
|
@@ -613,6 +614,7 @@ class deviceFeatures {
|
|
|
613
614
|
"roborock.vacuum.s5e", // S5 Max
|
|
614
615
|
"roborock.vacuum.a87", // Qrevo MaxV
|
|
615
616
|
"roborock.vacuum.a101", // Q Revo Pro
|
|
617
|
+
"roborock.vacuum.a144", // Saros 10R
|
|
616
618
|
].includes(robotModel),
|
|
617
619
|
// isWaterBoxSupported: [p.Products.Tanos_CE, p.Products.Tanos_CN].hasElement(p.DMM.currentProduct)
|
|
618
620
|
isWaterBoxSupported: [
|
|
@@ -638,6 +640,8 @@ class deviceFeatures {
|
|
|
638
640
|
"roborock.vacuum.a135", // Qrevo Curv
|
|
639
641
|
"roborock.vacuum.a117", // Qrevo Master
|
|
640
642
|
"roborock.vacuum.a21", // Qrevo Slim
|
|
643
|
+
"roborock.vacuum.a144", // Saros 10R
|
|
644
|
+
|
|
641
645
|
].includes(robotModel),
|
|
642
646
|
isCustomWaterBoxDistanceSupported: !!(2147483648 & this.features),
|
|
643
647
|
isBackChargeAutoWashSupported: this.featuresStr && !!(4096 & parseInt("0x" + this.featuresStr.slice(-8))),
|
|
@@ -659,12 +663,15 @@ class deviceFeatures {
|
|
|
659
663
|
"roborock.vacuum.a97", // S8 MaxV (Ultra)
|
|
660
664
|
"roborock.vacuum.a104", // Roborock Qrevo S
|
|
661
665
|
"roborock.vacuum.a135", // Qrevo Curv
|
|
662
|
-
"roborock.vacuum.a117" // Qrevo Master
|
|
666
|
+
"roborock.vacuum.a117", // Qrevo Master
|
|
667
|
+
"roborock.vacuum.a144", // Saros 10R
|
|
668
|
+
|
|
663
669
|
].includes(robotModel),
|
|
664
670
|
// this isn't the correct way to use this. This code must be from a different robot
|
|
665
671
|
// isVoiceControlSupported: !!(parseInt(`0x${this.featuresStr || "0"}`.slice(-10, -9)) & 2),
|
|
666
672
|
isVoiceControlSupported: [
|
|
667
673
|
"roborock.vacuum.a27", // S7 MaxV (Ultra)
|
|
674
|
+
|
|
668
675
|
],
|
|
669
676
|
isElectronicWaterBoxSupported: [], // nothing for now. If this is needed, add the models here
|
|
670
677
|
isCleanRouteFastModeSupported: this.featuresStr && !!(256 & parseInt("0x" + this.featuresStr.slice(-8))),
|
|
@@ -937,7 +944,28 @@ class deviceFeatures {
|
|
|
937
944
|
"set_kct",
|
|
938
945
|
"set_switch_status",
|
|
939
946
|
"set_last_clean_t",
|
|
940
|
-
]
|
|
947
|
+
],
|
|
948
|
+
// Saros 10R
|
|
949
|
+
"roborock.vacuum.a144": [
|
|
950
|
+
"setCleaningRecordsString",
|
|
951
|
+
"setConsumablesInt",
|
|
952
|
+
"set_map_flag",
|
|
953
|
+
"set_cleaned_area",
|
|
954
|
+
"set_replenish_mode",
|
|
955
|
+
"set_clean_times",
|
|
956
|
+
"set_task_id",
|
|
957
|
+
"set_monitor_status",
|
|
958
|
+
"set_in_warmup",
|
|
959
|
+
"set_charge_status",
|
|
960
|
+
"set_clean_percent",
|
|
961
|
+
"set_dss",
|
|
962
|
+
"set_rss",
|
|
963
|
+
"set_common_status",
|
|
964
|
+
"set_kct",
|
|
965
|
+
"set_switch_status",
|
|
966
|
+
"set_last_clean_t",
|
|
967
|
+
],
|
|
968
|
+
|
|
941
969
|
};
|
|
942
970
|
|
|
943
971
|
// process modelConfig
|