homebridge-melcloud-control 3.8.0-beta.9 → 3.8.0
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/CHANGELOG.md +6 -6
- package/README.md +1 -1
- package/config.schema.json +61 -13
- package/index.js +1 -1
- package/package.json +1 -1
- package/src/deviceata.js +17 -24
- package/src/deviceatw.js +817 -771
- package/src/deviceerv.js +15 -22
- package/src/melcloudata.js +1 -1
- package/src/melcloudatw.js +1 -1
- package/src/melclouderv.js +1 -1
package/src/deviceerv.js
CHANGED
|
@@ -75,7 +75,6 @@ class DeviceErv extends EventEmitter {
|
|
|
75
75
|
const buttonServiceType = ['', Service.Outlet, Service.Switch, Service.MotionSensor, Service.OccupancySensor, Service.ContactSensor][displayType];
|
|
76
76
|
const buttonCharacteristicType = ['', Characteristic.On, Characteristic.On, Characteristic.MotionDetected, Characteristic.OccupancyDetected, Characteristic.ContactSensorState][displayType];
|
|
77
77
|
button.name = button.name || 'Button'
|
|
78
|
-
button.namePrefix = buttonNamePrefix;
|
|
79
78
|
button.serviceType = buttonServiceType;
|
|
80
79
|
button.characteristicType = buttonCharacteristicType;
|
|
81
80
|
button.state = false;
|
|
@@ -237,6 +236,7 @@ class DeviceErv extends EventEmitter {
|
|
|
237
236
|
async startImpulseGenerator() {
|
|
238
237
|
try {
|
|
239
238
|
//start impule generator
|
|
239
|
+
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
240
240
|
await this.melCloudErv.impulseGenerator.start([{ name: 'checkState', sampling: this.refreshInterval }]);
|
|
241
241
|
return true;
|
|
242
242
|
} catch (error) {
|
|
@@ -677,18 +677,16 @@ class DeviceErv extends EventEmitter {
|
|
|
677
677
|
if (this.presetsConfiguredCount > 0) {
|
|
678
678
|
const debug = this.enableDebugMode ? this.emit('debug', `Prepare presets services`) : false;
|
|
679
679
|
this.presetsServices = [];
|
|
680
|
-
|
|
681
|
-
for (let i = 0; i < this.presetsConfiguredCount; i++) {
|
|
682
|
-
const preset = this.presetsConfigured[i];
|
|
680
|
+
this.presetsConfigured.forEach((preset, i) => {
|
|
683
681
|
const presetData = presetsOnServer.find(p => p.ID === preset.Id);
|
|
684
682
|
|
|
685
683
|
//get preset name
|
|
686
|
-
const
|
|
684
|
+
const name = preset.name;
|
|
687
685
|
|
|
688
686
|
//get preset name prefix
|
|
689
|
-
const
|
|
687
|
+
const namePrefix = preset.namePrefix;
|
|
690
688
|
|
|
691
|
-
const serviceName =
|
|
689
|
+
const serviceName = namePrefix ? `${accessoryName} ${name}` : name;
|
|
692
690
|
const serviceType = preset.serviceType;
|
|
693
691
|
const characteristicType = preset.characteristicType;
|
|
694
692
|
const presetService = new serviceType(serviceName, `Preset ${deviceId} ${i}`);
|
|
@@ -722,12 +720,12 @@ class DeviceErv extends EventEmitter {
|
|
|
722
720
|
};
|
|
723
721
|
|
|
724
722
|
await this.melCloudErv.send(deviceData, this.displayMode);
|
|
725
|
-
const info = this.disableLogInfo ? false : this.emit('message', `${state ? 'Set:' : 'Unset:'} ${
|
|
723
|
+
const info = this.disableLogInfo ? false : this.emit('message', `${state ? 'Set:' : 'Unset:'} ${name}`);
|
|
726
724
|
} catch (error) {
|
|
727
725
|
this.emit('warn', `Set preset error: ${error}`);
|
|
728
726
|
};
|
|
729
727
|
});
|
|
730
|
-
};
|
|
728
|
+
});
|
|
731
729
|
this.presetsServices.push(presetService);
|
|
732
730
|
accessory.addService(presetService);
|
|
733
731
|
};
|
|
@@ -736,10 +734,7 @@ class DeviceErv extends EventEmitter {
|
|
|
736
734
|
if (this.buttonsConfiguredCount > 0) {
|
|
737
735
|
const debug = this.enableDebugMode ? this.emit('debug', `Prepare buttons services`) : false;
|
|
738
736
|
this.buttonsServices = [];
|
|
739
|
-
|
|
740
|
-
for (let i = 0; i < this.buttonsConfiguredCount; i++) {
|
|
741
|
-
const button = this.buttonsConfigured[i];
|
|
742
|
-
|
|
737
|
+
this.buttonsConfigured.forEach((button, i) => {
|
|
743
738
|
//get button mode
|
|
744
739
|
const mode = button.mode;
|
|
745
740
|
|
|
@@ -747,9 +742,9 @@ class DeviceErv extends EventEmitter {
|
|
|
747
742
|
const buttonName = button.name;
|
|
748
743
|
|
|
749
744
|
//get button name prefix
|
|
750
|
-
const
|
|
745
|
+
const namePrefix = button.namePrefix;
|
|
751
746
|
|
|
752
|
-
const serviceName =
|
|
747
|
+
const serviceName = namePrefix ? `${accessoryName} ${buttonName}` : buttonName;
|
|
753
748
|
const serviceType = button.serviceType;
|
|
754
749
|
const characteristicType = button.characteristicType;
|
|
755
750
|
const buttonService = new serviceType(serviceName, `Button ${deviceId} ${i}`);
|
|
@@ -846,7 +841,7 @@ class DeviceErv extends EventEmitter {
|
|
|
846
841
|
});
|
|
847
842
|
this.buttonsServices.push(buttonService);
|
|
848
843
|
accessory.addService(buttonService);
|
|
849
|
-
};
|
|
844
|
+
});
|
|
850
845
|
};
|
|
851
846
|
|
|
852
847
|
return accessory;
|
|
@@ -1136,8 +1131,7 @@ class DeviceErv extends EventEmitter {
|
|
|
1136
1131
|
|
|
1137
1132
|
//update presets state
|
|
1138
1133
|
if (this.presetsConfigured.length > 0) {
|
|
1139
|
-
|
|
1140
|
-
const preset = this.presetsConfigured[i];
|
|
1134
|
+
this.presetsConfigured.forEach((preset, i) => {
|
|
1141
1135
|
const presetData = presetsOnServer.find(p => p.ID === preset.Id);
|
|
1142
1136
|
|
|
1143
1137
|
preset.state = presetData ? (presetData.Power === power
|
|
@@ -1151,13 +1145,12 @@ class DeviceErv extends EventEmitter {
|
|
|
1151
1145
|
this.presetsServices[i]
|
|
1152
1146
|
.updateCharacteristic(characteristicType, preset.state)
|
|
1153
1147
|
};
|
|
1154
|
-
};
|
|
1148
|
+
});
|
|
1155
1149
|
};
|
|
1156
1150
|
|
|
1157
1151
|
//update buttons state
|
|
1158
1152
|
if (this.buttonsConfiguredCount > 0) {
|
|
1159
|
-
|
|
1160
|
-
const button = this.buttonsConfigured[i];
|
|
1153
|
+
this.buttonsConfigured.forEach((button, i) => {
|
|
1161
1154
|
const mode = button.mode;;
|
|
1162
1155
|
switch (mode) {
|
|
1163
1156
|
case 0: //POWER ON,OFF
|
|
@@ -1213,7 +1206,7 @@ class DeviceErv extends EventEmitter {
|
|
|
1213
1206
|
this.buttonsServices[i]
|
|
1214
1207
|
.updateCharacteristic(characteristicType, button.state)
|
|
1215
1208
|
};
|
|
1216
|
-
};
|
|
1209
|
+
});
|
|
1217
1210
|
};
|
|
1218
1211
|
|
|
1219
1212
|
//log current state
|
package/src/melcloudata.js
CHANGED
package/src/melcloudatw.js
CHANGED
package/src/melclouderv.js
CHANGED