@homebridge-plugins/homebridge-tuya 2.2.0 → 2.2.1-beta.1
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/accessory/AccessoryFactory.js +32 -7
- package/dist/accessory/AccessoryFactory.js.map +1 -1
- package/dist/accessory/AirConditionerAccessory.js.map +1 -1
- package/dist/accessory/AirPurifierAccessory.js.map +1 -1
- package/dist/accessory/BaseAccessory.js +5 -5
- package/dist/accessory/BaseAccessory.js.map +1 -1
- package/dist/accessory/CameraAccessory.js.map +1 -1
- package/dist/accessory/CarbonDioxideSensorAccessory.js.map +1 -1
- package/dist/accessory/CarbonMonoxideSensorAccessory.js.map +1 -1
- package/dist/accessory/ContactSensorAccessory.js.map +1 -1
- package/dist/accessory/DehumidifierAccessory.js +1 -1
- package/dist/accessory/DehumidifierAccessory.js.map +1 -1
- package/dist/accessory/DimmerAccessory.js +1 -1
- package/dist/accessory/DimmerAccessory.js.map +1 -1
- package/dist/accessory/DoorbellAccessory.js.map +1 -1
- package/dist/accessory/ExtractionHoodAccessory.js.map +1 -1
- package/dist/accessory/FanAccessory.js.map +1 -1
- package/dist/accessory/GarageDoorAccessory.js.map +1 -1
- package/dist/accessory/HeaterAccessory.js.map +1 -1
- package/dist/accessory/HeaterAccessory_old.js.map +1 -1
- package/dist/accessory/HumidifierAccessory.js +1 -1
- package/dist/accessory/HumidifierAccessory.js.map +1 -1
- package/dist/accessory/IRAirConditionerAccessory.js +13 -20
- package/dist/accessory/IRAirConditionerAccessory.js.map +1 -1
- package/dist/accessory/IRControlHubAccessory.js.map +1 -1
- package/dist/accessory/IRControlHubSubAccessory.js +1 -2
- package/dist/accessory/IRControlHubSubAccessory.js.map +1 -1
- package/dist/accessory/IRGenericAccessory.js +1 -2
- package/dist/accessory/IRGenericAccessory.js.map +1 -1
- package/dist/accessory/LeakSensorAccessory.js.map +1 -1
- package/dist/accessory/LightSensorAccessory.js.map +1 -1
- package/dist/accessory/LocationWeatherAccessory.js.map +1 -1
- package/dist/accessory/LockAccessory.js.map +1 -1
- package/dist/accessory/PetFeederAccessory.js.map +1 -1
- package/dist/accessory/SceneAccessory.js.map +1 -1
- package/dist/accessory/SceneSwitchAccessory.js.map +1 -1
- package/dist/accessory/SmokeSensorAccessory.js.map +1 -1
- package/dist/accessory/SwitchAccessory.js +3 -4
- package/dist/accessory/SwitchAccessory.js.map +1 -1
- package/dist/accessory/ThermostatAccessory.js +1 -1
- package/dist/accessory/ThermostatAccessory.js.map +1 -1
- package/dist/accessory/TowerRackAccessory.js +1 -1
- package/dist/accessory/TowerRackAccessory.js.map +1 -1
- package/dist/accessory/ValveAccessory.js +1 -1
- package/dist/accessory/ValveAccessory.js.map +1 -1
- package/dist/accessory/VibrationSensorAccessory.js.map +1 -1
- package/dist/accessory/WeatherStationAccessory.js +1 -2
- package/dist/accessory/WeatherStationAccessory.js.map +1 -1
- package/dist/accessory/WhiteNoiseLightAccessory.js.map +1 -1
- package/dist/accessory/WindowCoveringAccessory.js.map +1 -1
- package/dist/accessory/WirelessSwitchAccessory.js.map +1 -1
- package/dist/accessory/characteristic/Active.js +1 -2
- package/dist/accessory/characteristic/Active.js.map +1 -1
- package/dist/accessory/characteristic/AirQuality.js +1 -2
- package/dist/accessory/characteristic/AirQuality.js.map +1 -1
- package/dist/accessory/characteristic/CurrentRelativeHumidity.js +1 -2
- package/dist/accessory/characteristic/CurrentRelativeHumidity.js.map +1 -1
- package/dist/accessory/characteristic/CurrentTemperature.js +1 -2
- package/dist/accessory/characteristic/CurrentTemperature.js.map +1 -1
- package/dist/accessory/characteristic/CurrentWeather.js +1 -2
- package/dist/accessory/characteristic/CurrentWeather.js.map +1 -1
- package/dist/accessory/characteristic/CurrentWeatherByOpenMeteo.js +1 -2
- package/dist/accessory/characteristic/CurrentWeatherByOpenMeteo.js.map +1 -1
- package/dist/accessory/characteristic/CurrentWetBulbGlobeTemperature.js +5 -7
- package/dist/accessory/characteristic/CurrentWetBulbGlobeTemperature.js.map +1 -1
- package/dist/accessory/characteristic/EnergyUsage.js +42 -51
- package/dist/accessory/characteristic/EnergyUsage.js.map +1 -1
- package/dist/accessory/characteristic/Light.js +2 -3
- package/dist/accessory/characteristic/Light.js.map +1 -1
- package/dist/accessory/characteristic/LightSensor.js +1 -2
- package/dist/accessory/characteristic/LightSensor.js.map +1 -1
- package/dist/accessory/characteristic/LockPhysicalControls.js +1 -2
- package/dist/accessory/characteristic/LockPhysicalControls.js.map +1 -1
- package/dist/accessory/characteristic/MotionDetected.js +1 -2
- package/dist/accessory/characteristic/MotionDetected.js.map +1 -1
- package/dist/accessory/characteristic/Name.js +7 -4
- package/dist/accessory/characteristic/Name.js.map +1 -1
- package/dist/accessory/characteristic/OccupancyDetected.js +1 -2
- package/dist/accessory/characteristic/OccupancyDetected.js.map +1 -1
- package/dist/accessory/characteristic/On.js +1 -2
- package/dist/accessory/characteristic/On.js.map +1 -1
- package/dist/accessory/characteristic/OutletInUse.js +4 -5
- package/dist/accessory/characteristic/OutletInUse.js.map +1 -1
- package/dist/accessory/characteristic/ProgrammableSwitchEvent.js +2 -3
- package/dist/accessory/characteristic/ProgrammableSwitchEvent.js.map +1 -1
- package/dist/accessory/characteristic/RelativeHumidityDehumidifierThreshold.js +1 -2
- package/dist/accessory/characteristic/RelativeHumidityDehumidifierThreshold.js.map +1 -1
- package/dist/accessory/characteristic/RotationSpeed.js +4 -5
- package/dist/accessory/characteristic/RotationSpeed.js.map +1 -1
- package/dist/accessory/characteristic/SecuritySystemState.js +3 -5
- package/dist/accessory/characteristic/SecuritySystemState.js.map +1 -1
- package/dist/accessory/characteristic/SwingMode.js +1 -2
- package/dist/accessory/characteristic/SwingMode.js.map +1 -1
- package/dist/accessory/characteristic/TargetTemperature.js +1 -2
- package/dist/accessory/characteristic/TargetTemperature.js.map +1 -1
- package/dist/accessory/characteristic/TemperatureDisplayUnits.js +1 -2
- package/dist/accessory/characteristic/TemperatureDisplayUnits.js.map +1 -1
- package/dist/core/TuyaOpenAPI.js +1 -1
- package/dist/core/TuyaOpenAPI.js.map +1 -1
- package/dist/core/TuyaOpenMQ.js.map +1 -1
- package/dist/device/TuyaCustomDeviceManager.js.map +1 -1
- package/dist/device/TuyaDevice.js +2 -2
- package/dist/device/TuyaDevice.js.map +1 -1
- package/dist/device/TuyaDeviceManager.js +24 -16
- package/dist/device/TuyaDeviceManager.js.map +1 -1
- package/dist/device/TuyaHomeDeviceManager.js.map +1 -1
- package/dist/platform.js +34 -20
- package/dist/platform.js.map +1 -1
- package/dist/util/FfmpegStreamingProcess.js +1 -1
- package/dist/util/FfmpegStreamingProcess.js.map +1 -1
- package/dist/util/InfraredTool.js +10 -14
- package/dist/util/InfraredTool.js.map +1 -1
- package/dist/util/Logger.js.map +1 -1
- package/dist/util/TuyaStreamDelegate.js +4 -5
- package/dist/util/TuyaStreamDelegate.js.map +1 -1
- package/dist/util/color.js +3 -4
- package/dist/util/color.js.map +1 -1
- package/dist/util/util.js +19 -4
- package/dist/util/util.js.map +1 -1
- package/package.json +11 -8
- package/test/sanitizeName.test.ts +25 -0
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@homebridge-plugins/homebridge-tuya",
|
|
3
3
|
"displayName": "Homebridge Tuya",
|
|
4
|
-
"version": "2.2.
|
|
4
|
+
"version": "2.2.1-beta.1",
|
|
5
5
|
"description": "Forked from 0x5e/homebridge-tuya-platform, with a focus on fixing bugs and adding new device support.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
@@ -19,8 +19,11 @@
|
|
|
19
19
|
}
|
|
20
20
|
],
|
|
21
21
|
"engines": {
|
|
22
|
-
"
|
|
23
|
-
"
|
|
22
|
+
"homebridge": "^1.8.0 || ^2.0.0-beta.0",
|
|
23
|
+
"node": "^20 || ^22 || ^24 || ^25"
|
|
24
|
+
},
|
|
25
|
+
"peerDependencies": {
|
|
26
|
+
"homebridge": "^1.8.0 || ^2.0.0-beta.0"
|
|
24
27
|
},
|
|
25
28
|
"main": "dist/index.js",
|
|
26
29
|
"scripts": {
|
|
@@ -54,18 +57,18 @@
|
|
|
54
57
|
"@types/debounce": "^1.2.1",
|
|
55
58
|
"@types/jest": "^29.1.2",
|
|
56
59
|
"@types/lodash.isequal": "^4.5.6",
|
|
57
|
-
"@types/node": "^
|
|
60
|
+
"@types/node": "^22.0.0",
|
|
58
61
|
"@types/uuid": "^8.3.4",
|
|
59
62
|
"@typescript-eslint/eslint-plugin": "^5.0.0",
|
|
60
63
|
"@typescript-eslint/parser": "^5.0.0",
|
|
61
64
|
"eslint": "8.57.1",
|
|
62
|
-
"homebridge": "^
|
|
65
|
+
"homebridge": "^2.0.0-beta.0",
|
|
63
66
|
"jest": "^29.1.2",
|
|
64
67
|
"nodemon": "^3.1.10",
|
|
65
|
-
"rimraf": "^
|
|
66
|
-
"ts-jest": "^29.
|
|
68
|
+
"rimraf": "^5.0.0",
|
|
69
|
+
"ts-jest": "^29.4.6",
|
|
67
70
|
"ts-node": "^10.3.0",
|
|
68
|
-
"typescript": "^
|
|
71
|
+
"typescript": "^5.0.0"
|
|
69
72
|
},
|
|
70
73
|
"homebridge": {
|
|
71
74
|
"plugin_type": "platform",
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { sanitizeName } from '../src/util/util';
|
|
2
|
+
|
|
3
|
+
describe('sanitizeName', () => {
|
|
4
|
+
test('removes underscores and collapses to spaces', () => {
|
|
5
|
+
expect(sanitizeName('switch_1')).toBe('switch 1');
|
|
6
|
+
});
|
|
7
|
+
|
|
8
|
+
test('preserves ASCII alphanumeric and apostrophes', () => {
|
|
9
|
+
expect(sanitizeName("John's Lamp")).toBe("John's Lamp");
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
test('preserves accented and non-Latin letters (Unicode letters)', () => {
|
|
13
|
+
expect(sanitizeName('Café')).toBe('Café');
|
|
14
|
+
expect(sanitizeName('Тест123')).toBe('Тест123');
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
test('preserves CJK characters', () => {
|
|
18
|
+
expect(sanitizeName('中文测试')).toBe('中文测试');
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
test('returns undefined if sanitized name is empty or invalid', () => {
|
|
22
|
+
expect(sanitizeName('@@@')).toBeUndefined();
|
|
23
|
+
expect(sanitizeName(' !!! ')).toBeUndefined();
|
|
24
|
+
});
|
|
25
|
+
});
|