@switchbot/homebridge-switchbot 3.7.1-beta.7 → 3.7.1-beta.9
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/config.schema.json +2 -2
- package/dist/device/bot.js +10 -10
- package/dist/device/bot.js.map +1 -1
- package/dist/platform.d.ts +5 -5
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +14 -8
- package/dist/platform.js.map +1 -1
- package/dist/settings.d.ts +1 -1
- package/dist/settings.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/device/bot.ts +10 -10
- package/src/platform.ts +14 -8
- package/src/settings.ts +1 -1
package/dist/settings.d.ts
CHANGED
|
@@ -44,7 +44,7 @@ interface credentials {
|
|
|
44
44
|
interface options {
|
|
45
45
|
devices?: devicesConfig[];
|
|
46
46
|
irdevices?: irDevicesConfig[];
|
|
47
|
-
|
|
47
|
+
allowInvalidCharacters?: boolean;
|
|
48
48
|
mqttURL?: string;
|
|
49
49
|
mqttOptions?: IClientOptions;
|
|
50
50
|
mqttPubOptions?: IClientOptions;
|
package/dist/settings.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAC9G;;GAEG;AACH,eAAO,MAAM,aAAa,cAAc,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,WAAW,oCAAoC,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,OAAO,4CAA4C,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,YAAY,yDAAyD,CAAC;AAEnF;;GAEG;AACH,eAAO,MAAM,YAAY,yDAAyD,CAAC;AAEnF;;GAEG;AACH,eAAO,MAAM,aAAa,0DAA0D,CAAC;AAErF;;GAEG;AACH,eAAO,MAAM,aAAa,0DAA0D,CAAC;AAIrF,MAAM,WAAW,uBAAwB,SAAQ,cAAc;IAC7D,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AACD,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,SAAS,CAAC,EAAE,GAAG,CAAC;CACjB;AAED,UAAU,OAAO;IACf,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAC9B,
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"displayName": "SwitchBot",
|
|
3
3
|
"name": "@switchbot/homebridge-switchbot",
|
|
4
|
-
"version": "3.7.1-beta.
|
|
4
|
+
"version": "3.7.1-beta.9",
|
|
5
5
|
"description": "The SwitchBot plugin allows you to access your SwitchBot device(s) from HomeKit.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "SwitchBot",
|
|
@@ -93,10 +93,10 @@
|
|
|
93
93
|
"@eslint/js": "^9.8.0",
|
|
94
94
|
"@stylistic/eslint-plugin": "^2.4.0",
|
|
95
95
|
"@types/eslint__js": "^8.42.3",
|
|
96
|
-
"@types/node": "^
|
|
96
|
+
"@types/node": "^22.0.0",
|
|
97
97
|
"eslint": "^9.8.0",
|
|
98
98
|
"globals": "^15.8.0",
|
|
99
|
-
"homebridge": "^
|
|
99
|
+
"homebridge": "^1.8.4",
|
|
100
100
|
"homebridge-config-ui-x": "4.56.4",
|
|
101
101
|
"nodemon": "^3.1.4",
|
|
102
102
|
"npm-check-updates": "^16.14.20",
|
|
@@ -104,6 +104,6 @@
|
|
|
104
104
|
"ts-node": "^10.9.2",
|
|
105
105
|
"typedoc": "^0.26.5",
|
|
106
106
|
"typescript": "^5.5.4",
|
|
107
|
-
"typescript-eslint": "^8.0.0-alpha.
|
|
107
|
+
"typescript-eslint": "^8.0.0-alpha.58"
|
|
108
108
|
}
|
|
109
109
|
}
|
package/src/device/bot.ts
CHANGED
|
@@ -1044,7 +1044,7 @@ export class Bot extends deviceBase {
|
|
|
1044
1044
|
Service: accessory.getService(this.hap.Service.Outlet) as Service,
|
|
1045
1045
|
};
|
|
1046
1046
|
accessory.context.Outlet = this.Outlet as object;
|
|
1047
|
-
await this.
|
|
1047
|
+
await this.debugWarnLog('Removing any leftover Outlet Service');
|
|
1048
1048
|
accessory.removeService(this.Outlet.Service);
|
|
1049
1049
|
}
|
|
1050
1050
|
|
|
@@ -1056,7 +1056,7 @@ export class Bot extends deviceBase {
|
|
|
1056
1056
|
Service: accessory.getService(this.hap.Service.GarageDoorOpener) as Service,
|
|
1057
1057
|
};
|
|
1058
1058
|
accessory.context.GarageDoor = this.GarageDoor as object;
|
|
1059
|
-
await this.
|
|
1059
|
+
await this.debugWarnLog('Removing any leftover Garage Door Service');
|
|
1060
1060
|
accessory.removeService(this.GarageDoor.Service);
|
|
1061
1061
|
}
|
|
1062
1062
|
|
|
@@ -1068,7 +1068,7 @@ export class Bot extends deviceBase {
|
|
|
1068
1068
|
Service: accessory.getService(this.hap.Service.Door) as Service,
|
|
1069
1069
|
};
|
|
1070
1070
|
accessory.context.Door = this.Door as object;
|
|
1071
|
-
await this.
|
|
1071
|
+
await this.debugWarnLog('Removing any leftover Door Service');
|
|
1072
1072
|
accessory.removeService(this.Door.Service);
|
|
1073
1073
|
}
|
|
1074
1074
|
|
|
@@ -1080,7 +1080,7 @@ export class Bot extends deviceBase {
|
|
|
1080
1080
|
Service: accessory.getService(this.hap.Service.LockMechanism) as Service,
|
|
1081
1081
|
};
|
|
1082
1082
|
accessory.context.LockMechanism = this.LockMechanism as object;
|
|
1083
|
-
this.
|
|
1083
|
+
await this.debugWarnLog('Removing any leftover Lock Service');
|
|
1084
1084
|
accessory.removeService(this.LockMechanism.Service);
|
|
1085
1085
|
}
|
|
1086
1086
|
|
|
@@ -1092,7 +1092,7 @@ export class Bot extends deviceBase {
|
|
|
1092
1092
|
Service: accessory.getService(this.hap.Service.Valve) as Service,
|
|
1093
1093
|
};
|
|
1094
1094
|
accessory.context.Faucet = this.Faucet as object;
|
|
1095
|
-
await this.
|
|
1095
|
+
await this.debugWarnLog('Removing any leftover Faucet Service');
|
|
1096
1096
|
accessory.removeService(this.Faucet.Service);
|
|
1097
1097
|
}
|
|
1098
1098
|
|
|
@@ -1104,7 +1104,7 @@ export class Bot extends deviceBase {
|
|
|
1104
1104
|
Service: accessory.getService(this.hap.Service.Fan) as Service,
|
|
1105
1105
|
};
|
|
1106
1106
|
accessory.context.Fan = this.Fan as object;
|
|
1107
|
-
this.
|
|
1107
|
+
await this.debugWarnLog('Removing any leftover Fan Service');
|
|
1108
1108
|
accessory.removeService(this.Fan.Service);
|
|
1109
1109
|
}
|
|
1110
1110
|
|
|
@@ -1116,7 +1116,7 @@ export class Bot extends deviceBase {
|
|
|
1116
1116
|
Service: accessory.getService(this.hap.Service.Window) as Service,
|
|
1117
1117
|
};
|
|
1118
1118
|
accessory.context.Window = this.Window as object;
|
|
1119
|
-
await this.
|
|
1119
|
+
await this.debugWarnLog('Removing any leftover Window Service');
|
|
1120
1120
|
accessory.removeService(this.Window.Service);
|
|
1121
1121
|
}
|
|
1122
1122
|
|
|
@@ -1128,7 +1128,7 @@ export class Bot extends deviceBase {
|
|
|
1128
1128
|
Service: accessory.getService(this.hap.Service.WindowCovering) as Service,
|
|
1129
1129
|
};
|
|
1130
1130
|
accessory.context.WindowCovering = this.WindowCovering as object;
|
|
1131
|
-
await this.
|
|
1131
|
+
await this.debugWarnLog('Removing any leftover Window Covering Service');
|
|
1132
1132
|
accessory.removeService(this.WindowCovering.Service);
|
|
1133
1133
|
}
|
|
1134
1134
|
|
|
@@ -1140,7 +1140,7 @@ export class Bot extends deviceBase {
|
|
|
1140
1140
|
Service: accessory.getService(this.hap.Service.StatefulProgrammableSwitch) as Service,
|
|
1141
1141
|
};
|
|
1142
1142
|
accessory.context.StatefulProgrammableSwitch = this.StatefulProgrammableSwitch as object;
|
|
1143
|
-
await this.
|
|
1143
|
+
await this.debugWarnLog('Removing any leftover Stateful Programmable Switch Service');
|
|
1144
1144
|
accessory.removeService(this.StatefulProgrammableSwitch.Service);
|
|
1145
1145
|
}
|
|
1146
1146
|
|
|
@@ -1152,7 +1152,7 @@ export class Bot extends deviceBase {
|
|
|
1152
1152
|
Service: accessory.getService(this.hap.Service.Switch) as Service,
|
|
1153
1153
|
};
|
|
1154
1154
|
accessory.context.Switch = this.Switch as object;
|
|
1155
|
-
await this.
|
|
1155
|
+
await this.debugWarnLog('Removing any leftover Switch Service');
|
|
1156
1156
|
accessory.removeService(this.Switch.Service);
|
|
1157
1157
|
}
|
|
1158
1158
|
|
package/src/platform.ts
CHANGED
|
@@ -2938,13 +2938,13 @@ export class SwitchBotPlatform implements DynamicPlatformPlugin {
|
|
|
2938
2938
|
|
|
2939
2939
|
/**
|
|
2940
2940
|
* Validate and clean a string value for a Name Characteristic.
|
|
2941
|
-
|
|
2942
|
-
|
|
2943
|
-
|
|
2944
|
-
|
|
2945
|
-
|
|
2941
|
+
* @param displayName - The display name of the accessory.
|
|
2942
|
+
* @param name - The name of the characteristic.
|
|
2943
|
+
* @param value - The value to be validated and cleaned.
|
|
2944
|
+
* @returns The cleaned string value.
|
|
2945
|
+
*/
|
|
2946
2946
|
async validateAndCleanDisplayName(displayName: string, name: string, value: string): Promise<string> {
|
|
2947
|
-
if (this.config.options?.
|
|
2947
|
+
if (this.config.options?.allowInvalidCharacters) {
|
|
2948
2948
|
return value;
|
|
2949
2949
|
} else {
|
|
2950
2950
|
const validPattern = new RegExp(/^[\p{L}\p{N}][\p{L}\p{N} ']*[\p{L}\p{N}]$/u);
|
|
@@ -2958,14 +2958,20 @@ export class SwitchBotPlatform implements DynamicPlatformPlugin {
|
|
|
2958
2958
|
|
|
2959
2959
|
// Remove invalid characters
|
|
2960
2960
|
if (invalidCharsPattern.test(value)) {
|
|
2961
|
-
|
|
2961
|
+
const before = value;
|
|
2962
|
+
this.warnLog(`Removing invalid characters from '${name}' characteristic, if you feel this is incorrect,`
|
|
2963
|
+
+ ' please enable \'allowInvalidCharacter\' in the config to allow all characters');
|
|
2962
2964
|
value = value.replace(invalidCharsPattern, '');
|
|
2965
|
+
this.warnLog(`${name} Before: '${before}' After: '${value}'`);
|
|
2963
2966
|
}
|
|
2964
2967
|
|
|
2965
2968
|
// Ensure it starts and ends with an alphanumeric character
|
|
2966
2969
|
if (invalidStartEndPattern.test(value)) {
|
|
2967
|
-
|
|
2970
|
+
const before = value;
|
|
2971
|
+
this.warnLog(`Removing invalid starting or ending characters from '${name}' characteristic, if you feel this is incorrect,`
|
|
2972
|
+
+ ' please enable \'allowInvalidCharacter\' in the config to allow all characters');
|
|
2968
2973
|
value = value.replace(invalidStartEndPattern, '');
|
|
2974
|
+
this.warnLog(`${name} Before: '${before}' After: '${value}'`);
|
|
2969
2975
|
}
|
|
2970
2976
|
}
|
|
2971
2977
|
|
package/src/settings.ts
CHANGED
|
@@ -58,7 +58,7 @@ interface credentials {
|
|
|
58
58
|
interface options {
|
|
59
59
|
devices?: devicesConfig[];
|
|
60
60
|
irdevices?: irDevicesConfig[];
|
|
61
|
-
|
|
61
|
+
allowInvalidCharacters?: boolean;
|
|
62
62
|
mqttURL?: string;
|
|
63
63
|
mqttOptions?: IClientOptions;
|
|
64
64
|
mqttPubOptions?: IClientOptions;
|