homebridge-easy-mqtt 1.4.0-beta.9 → 1.4.1-beta.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.
Files changed (127) hide show
  1. package/CHANGELOG.md +28 -9
  2. package/README.md +237 -22
  3. package/config.schema.json +1361 -92
  4. package/dist/accessory/abstract/base.js +5 -5
  5. package/dist/accessory/abstract/base.js.map +1 -1
  6. package/dist/accessory/abstract/common.d.ts +43 -0
  7. package/dist/accessory/abstract/common.js +172 -0
  8. package/dist/accessory/abstract/common.js.map +1 -0
  9. package/dist/accessory/abstract/helper.d.ts +1 -0
  10. package/dist/accessory/abstract/helper.js +21 -2
  11. package/dist/accessory/abstract/helper.js.map +1 -1
  12. package/dist/accessory/abstract/mqtt.d.ts +15 -26
  13. package/dist/accessory/abstract/mqtt.js +26 -143
  14. package/dist/accessory/abstract/mqtt.js.map +1 -1
  15. package/dist/accessory/addons/addon.d.ts +24 -0
  16. package/dist/accessory/addons/addon.js +52 -0
  17. package/dist/accessory/addons/addon.js.map +1 -0
  18. package/dist/accessory/addons/filter.d.ts +11 -0
  19. package/dist/accessory/addons/filter.js +37 -0
  20. package/dist/accessory/addons/filter.js.map +1 -0
  21. package/dist/accessory/button.d.ts +10 -0
  22. package/dist/accessory/button.js +43 -0
  23. package/dist/accessory/button.js.map +1 -0
  24. package/dist/accessory/climate/active.js +14 -8
  25. package/dist/accessory/climate/active.js.map +1 -1
  26. package/dist/accessory/climate/fan2.d.ts +20 -0
  27. package/dist/accessory/climate/fan2.js +122 -0
  28. package/dist/accessory/climate/fan2.js.map +1 -0
  29. package/dist/accessory/climate/heaterCooler.js +4 -2
  30. package/dist/accessory/climate/heaterCooler.js.map +1 -1
  31. package/dist/accessory/climate/purifier.js +5 -3
  32. package/dist/accessory/climate/purifier.js.map +1 -1
  33. package/dist/accessory/climate/temperatureControl.d.ts +1 -1
  34. package/dist/accessory/climate/temperatureControl.js +10 -8
  35. package/dist/accessory/climate/temperatureControl.js.map +1 -1
  36. package/dist/accessory/climate/thermostat.js +8 -8
  37. package/dist/accessory/climate/thermostat.js.map +1 -1
  38. package/dist/accessory/garage.d.ts +17 -0
  39. package/dist/accessory/garage.js +110 -0
  40. package/dist/accessory/garage.js.map +1 -0
  41. package/dist/accessory/lock.d.ts +2 -2
  42. package/dist/accessory/lock.js +3 -3
  43. package/dist/accessory/lock.js.map +1 -1
  44. package/dist/accessory/onoff/lightbulb.js +9 -4
  45. package/dist/accessory/onoff/lightbulb.js.map +1 -1
  46. package/dist/accessory/onoff/onoff.js +1 -1
  47. package/dist/accessory/onoff/onoff.js.map +1 -1
  48. package/dist/accessory/onoff/outlet.js +1 -1
  49. package/dist/accessory/onoff/outlet.js.map +1 -1
  50. package/dist/accessory/position/blind.d.ts +10 -0
  51. package/dist/accessory/position/blind.js +22 -0
  52. package/dist/accessory/position/blind.js.map +1 -0
  53. package/dist/accessory/position/position.d.ts +14 -0
  54. package/dist/accessory/position/position.js +88 -0
  55. package/dist/accessory/position/position.js.map +1 -0
  56. package/dist/accessory/security.js +4 -4
  57. package/dist/accessory/security.js.map +1 -1
  58. package/dist/accessory/sensor/air.d.ts +14 -0
  59. package/dist/accessory/sensor/air.js +96 -0
  60. package/dist/accessory/sensor/air.js.map +1 -0
  61. package/dist/accessory/sensor/carbonDioxide.js +3 -3
  62. package/dist/accessory/sensor/carbonDioxide.js.map +1 -1
  63. package/dist/accessory/sensor/carbonMonoxide.js +3 -3
  64. package/dist/accessory/sensor/carbonMonoxide.js.map +1 -1
  65. package/dist/accessory/sensor/contact.js +1 -1
  66. package/dist/accessory/sensor/contact.js.map +1 -1
  67. package/dist/accessory/sensor/humidity.js +1 -1
  68. package/dist/accessory/sensor/humidity.js.map +1 -1
  69. package/dist/accessory/sensor/leak.js +1 -1
  70. package/dist/accessory/sensor/leak.js.map +1 -1
  71. package/dist/accessory/sensor/light.js +1 -1
  72. package/dist/accessory/sensor/light.js.map +1 -1
  73. package/dist/accessory/sensor/motion.js +1 -1
  74. package/dist/accessory/sensor/motion.js.map +1 -1
  75. package/dist/accessory/sensor/occupancy.js +1 -1
  76. package/dist/accessory/sensor/occupancy.js.map +1 -1
  77. package/dist/accessory/sensor/sensor.js +4 -4
  78. package/dist/accessory/sensor/sensor.js.map +1 -1
  79. package/dist/accessory/sensor/smoke.js +1 -1
  80. package/dist/accessory/sensor/smoke.js.map +1 -1
  81. package/dist/accessory/sensor/temperature.js +1 -1
  82. package/dist/accessory/sensor/temperature.js.map +1 -1
  83. package/dist/accessory/valve.js +7 -7
  84. package/dist/accessory/valve.js.map +1 -1
  85. package/dist/homebridge/platform.js +4 -2
  86. package/dist/homebridge/platform.js.map +1 -1
  87. package/dist/homebridge-ui/public/index.html +1 -1
  88. package/dist/homebridge-ui/public/ui.js +1 -1
  89. package/dist/i18n/en.d.ts +183 -16
  90. package/dist/i18n/en.js +236 -69
  91. package/dist/i18n/en.js.map +1 -1
  92. package/dist/i18n/fr.d.ts +452 -18
  93. package/dist/i18n/fr.js +269 -2
  94. package/dist/i18n/fr.js.map +1 -1
  95. package/dist/i18n/i18n.d.ts +185 -17
  96. package/dist/i18n/i18n.js +6 -0
  97. package/dist/i18n/i18n.js.map +1 -1
  98. package/dist/i18n/it.d.ts +1057 -0
  99. package/dist/i18n/it.js +526 -0
  100. package/dist/i18n/it.js.map +1 -0
  101. package/dist/i18n/ro.d.ts +347 -33
  102. package/dist/i18n/ro.js +164 -17
  103. package/dist/i18n/ro.js.map +1 -1
  104. package/dist/i18n/template.d.ts +183 -16
  105. package/dist/i18n/template.js +1 -1
  106. package/dist/i18n/vi.d.ts +1059 -0
  107. package/dist/i18n/vi.js +528 -0
  108. package/dist/i18n/vi.js.map +1 -0
  109. package/dist/model/enums.d.ts +35 -6
  110. package/dist/model/enums.js +34 -5
  111. package/dist/model/enums.js.map +1 -1
  112. package/dist/model/mqtt.d.ts +4 -3
  113. package/dist/model/mqtt.js +30 -9
  114. package/dist/model/mqtt.js.map +1 -1
  115. package/dist/model/types.d.ts +97 -4
  116. package/dist/tools/log.d.ts +7 -5
  117. package/dist/tools/log.js.map +1 -1
  118. package/dist/tools/properties.d.ts +11 -0
  119. package/dist/tools/properties.js +73 -0
  120. package/dist/tools/properties.js.map +1 -0
  121. package/dist/tools/temperature.d.ts +7 -3
  122. package/dist/tools/temperature.js +20 -9
  123. package/dist/tools/temperature.js.map +1 -1
  124. package/dist/tools/validation.d.ts +2 -0
  125. package/dist/tools/validation.js +11 -0
  126. package/dist/tools/validation.js.map +1 -1
  127. package/package.json +1 -1
@@ -1,8 +1,11 @@
1
1
  export declare enum AccessoryType {
2
2
  AirPurifier = "AirPurifier",
3
+ AirQualitySensor = "AirQualitySensor",
3
4
  CarbonDioxideSensor = "CarbonDioxideSensor",
4
5
  CarbonMonoxideSensor = "CarbonMonoxideSensor",
5
6
  ContactSensor = "ContactSensor",
7
+ Fanv2 = "Fanv2",
8
+ GarageDoorOpener = "GarageDoorOpener",
6
9
  HeaterCooler = "HeaterCooler",
7
10
  HumiditySensor = "HumiditySensor",
8
11
  LeakSensor = "LeakSensor",
@@ -14,13 +17,19 @@ export declare enum AccessoryType {
14
17
  Outlet = "Outlet",
15
18
  SecuritySystem = "SecuritySystem",
16
19
  SmokeSensor = "SmokeSensor",
20
+ StatelessProgrammableSwitch = "StatelessProgrammableSwitch",
17
21
  Switch = "Switch",
18
22
  TemperatureSensor = "TemperatureSensor",
19
23
  Thermostat = "Thermostat",
20
- Valve = "Valve"
24
+ Valve = "Valve",
25
+ WindowCovering = "WindowCovering"
26
+ }
27
+ export declare enum AddonType {
28
+ FilterMaintenance = "FilterMaintenance"
21
29
  }
22
30
  export declare enum CharacteristicKey {
23
31
  Active = "Active",
32
+ AirQuality = "AirQuality",
24
33
  BatteryLevel = "BatteryLevel",
25
34
  Brightness = "Brightness",
26
35
  CarbonDioxideDetected = "CarbonDioxideDetected",
@@ -34,11 +43,19 @@ export declare enum CharacteristicKey {
34
43
  CoolingThresholdTemperature = "CoolingThresholdTemperature",
35
44
  CurrentAmbientLightLevel = "CurrentAmbientLightLevel",
36
45
  CurrentAirPurifierState = "CurrentAirPurifierState",
46
+ CurrentDoorState = "CurrentDoorState",
47
+ CurrentFanState = "CurrentFanState",
37
48
  CurrentHeaterCoolerState = "CurrentHeaterCoolerState",
38
49
  CurrentHeatingCoolingState = "CurrentHeatingCoolingState",
50
+ CurrentHorizontalTiltAngle = "CurrentHorizontalTiltAngle",
51
+ CurrentPosition = "CurrentPosition",
39
52
  CurrentRelativeHumidity = "CurrentRelativeHumidity",
40
53
  CurrentTemperature = "CurrentTemperature",
54
+ CurrentVerticalTiltAngle = "CurrentVerticalTiltAngle",
55
+ FilterChangeIndication = "FilterChangeIndication",
56
+ FilterLifeLevel = "FilterLifeLevel",
41
57
  HeatingThresholdTemperature = "HeatingThresholdTemperature",
58
+ HoldPosition = "HoldPosition",
42
59
  Hue = "Hue",
43
60
  InUse = "InUse",
44
61
  IsConfigured = "IsConfigured",
@@ -47,10 +64,19 @@ export declare enum CharacteristicKey {
47
64
  LockPhysicalControls = "LockPhysicalControls",
48
65
  LockTargetState = "LockTargetState",
49
66
  MotionDetected = "MotionDetected",
67
+ NitrogenDioxideDensity = "NitrogenDioxideDensity",
68
+ ObstructionDetected = "ObstructionDetected",
50
69
  OccupancyDetected = "OccupancyDetected",
51
70
  On = "On",
52
71
  OutletInUse = "OutletInUse",
72
+ OzoneDensity = "OzoneDensity",
73
+ PM10Density = "PM10Density",
74
+ PM2_5Density = "PM2_5Density",
75
+ PositionState = "PositionState",
76
+ ProgrammableSwitchEvent = "ProgrammableSwitchEvent",
53
77
  RemainingDuration = "RemainingDuration",
78
+ ResetFilterIndication = "ResetFilterIndication",
79
+ RotationDirection = "RotationDirection",
54
80
  RotationSpeed = "RotationSpeed",
55
81
  Saturation = "Saturation",
56
82
  SecuritySystemCurrentState = "SecuritySystemCurrentState",
@@ -61,18 +87,21 @@ export declare enum CharacteristicKey {
61
87
  StatusFault = "StatusFault",
62
88
  StatusLowBattery = "StatusLowBattery",
63
89
  StatusTampered = "StatusTampered",
90
+ SulphurDioxideDensity = "SulphurDioxideDensity",
64
91
  SwingMode = "SwingMode",
65
92
  TargetAirPurifierState = "TargetAirPurifierState",
93
+ TargetDoorState = "TargetDoorState",
94
+ TargetFanState = "TargetFanState",
66
95
  TargetHeaterCoolerState = "TargetHeaterCoolerState",
67
96
  TargetHeatingCoolingState = "TargetHeatingCoolingState",
97
+ TargetHorizontalTiltAngle = "TargetHorizontalTiltAngle",
98
+ TargetPosition = "TargetPosition",
68
99
  TargetRelativeHumidity = "TargetRelativeHumidity",
69
100
  TargetTemperature = "TargetTemperature",
101
+ TargetVerticalTiltAngle = "TargetVerticalTiltAngle",
70
102
  TemperatureDisplayUnits = "TemperatureDisplayUnits",
71
- ValveType = "ValveType"
72
- }
73
- export declare enum TemperatureUnits {
74
- CELSIUS = "C",
75
- FAHRENHEIT = "F"
103
+ ValveType = "ValveType",
104
+ VOCDensity = "VOCDensity"
76
105
  }
77
106
  export declare enum ValveType {
78
107
  GENERIC_VALVE = "GENERIC_VALVE",
@@ -1,9 +1,12 @@
1
1
  export var AccessoryType;
2
2
  (function (AccessoryType) {
3
3
  AccessoryType["AirPurifier"] = "AirPurifier";
4
+ AccessoryType["AirQualitySensor"] = "AirQualitySensor";
4
5
  AccessoryType["CarbonDioxideSensor"] = "CarbonDioxideSensor";
5
6
  AccessoryType["CarbonMonoxideSensor"] = "CarbonMonoxideSensor";
6
7
  AccessoryType["ContactSensor"] = "ContactSensor";
8
+ AccessoryType["Fanv2"] = "Fanv2";
9
+ AccessoryType["GarageDoorOpener"] = "GarageDoorOpener";
7
10
  AccessoryType["HeaterCooler"] = "HeaterCooler";
8
11
  AccessoryType["HumiditySensor"] = "HumiditySensor";
9
12
  AccessoryType["LeakSensor"] = "LeakSensor";
@@ -15,14 +18,21 @@ export var AccessoryType;
15
18
  AccessoryType["Outlet"] = "Outlet";
16
19
  AccessoryType["SecuritySystem"] = "SecuritySystem";
17
20
  AccessoryType["SmokeSensor"] = "SmokeSensor";
21
+ AccessoryType["StatelessProgrammableSwitch"] = "StatelessProgrammableSwitch";
18
22
  AccessoryType["Switch"] = "Switch";
19
23
  AccessoryType["TemperatureSensor"] = "TemperatureSensor";
20
24
  AccessoryType["Thermostat"] = "Thermostat";
21
25
  AccessoryType["Valve"] = "Valve";
26
+ AccessoryType["WindowCovering"] = "WindowCovering";
22
27
  })(AccessoryType || (AccessoryType = {}));
28
+ export var AddonType;
29
+ (function (AddonType) {
30
+ AddonType["FilterMaintenance"] = "FilterMaintenance";
31
+ })(AddonType || (AddonType = {}));
23
32
  export var CharacteristicKey;
24
33
  (function (CharacteristicKey) {
25
34
  CharacteristicKey["Active"] = "Active";
35
+ CharacteristicKey["AirQuality"] = "AirQuality";
26
36
  CharacteristicKey["BatteryLevel"] = "BatteryLevel";
27
37
  CharacteristicKey["Brightness"] = "Brightness";
28
38
  CharacteristicKey["CarbonDioxideDetected"] = "CarbonDioxideDetected";
@@ -36,11 +46,19 @@ export var CharacteristicKey;
36
46
  CharacteristicKey["CoolingThresholdTemperature"] = "CoolingThresholdTemperature";
37
47
  CharacteristicKey["CurrentAmbientLightLevel"] = "CurrentAmbientLightLevel";
38
48
  CharacteristicKey["CurrentAirPurifierState"] = "CurrentAirPurifierState";
49
+ CharacteristicKey["CurrentDoorState"] = "CurrentDoorState";
50
+ CharacteristicKey["CurrentFanState"] = "CurrentFanState";
39
51
  CharacteristicKey["CurrentHeaterCoolerState"] = "CurrentHeaterCoolerState";
40
52
  CharacteristicKey["CurrentHeatingCoolingState"] = "CurrentHeatingCoolingState";
53
+ CharacteristicKey["CurrentHorizontalTiltAngle"] = "CurrentHorizontalTiltAngle";
54
+ CharacteristicKey["CurrentPosition"] = "CurrentPosition";
41
55
  CharacteristicKey["CurrentRelativeHumidity"] = "CurrentRelativeHumidity";
42
56
  CharacteristicKey["CurrentTemperature"] = "CurrentTemperature";
57
+ CharacteristicKey["CurrentVerticalTiltAngle"] = "CurrentVerticalTiltAngle";
58
+ CharacteristicKey["FilterChangeIndication"] = "FilterChangeIndication";
59
+ CharacteristicKey["FilterLifeLevel"] = "FilterLifeLevel";
43
60
  CharacteristicKey["HeatingThresholdTemperature"] = "HeatingThresholdTemperature";
61
+ CharacteristicKey["HoldPosition"] = "HoldPosition";
44
62
  CharacteristicKey["Hue"] = "Hue";
45
63
  CharacteristicKey["InUse"] = "InUse";
46
64
  CharacteristicKey["IsConfigured"] = "IsConfigured";
@@ -49,10 +67,19 @@ export var CharacteristicKey;
49
67
  CharacteristicKey["LockPhysicalControls"] = "LockPhysicalControls";
50
68
  CharacteristicKey["LockTargetState"] = "LockTargetState";
51
69
  CharacteristicKey["MotionDetected"] = "MotionDetected";
70
+ CharacteristicKey["NitrogenDioxideDensity"] = "NitrogenDioxideDensity";
71
+ CharacteristicKey["ObstructionDetected"] = "ObstructionDetected";
52
72
  CharacteristicKey["OccupancyDetected"] = "OccupancyDetected";
53
73
  CharacteristicKey["On"] = "On";
54
74
  CharacteristicKey["OutletInUse"] = "OutletInUse";
75
+ CharacteristicKey["OzoneDensity"] = "OzoneDensity";
76
+ CharacteristicKey["PM10Density"] = "PM10Density";
77
+ CharacteristicKey["PM2_5Density"] = "PM2_5Density";
78
+ CharacteristicKey["PositionState"] = "PositionState";
79
+ CharacteristicKey["ProgrammableSwitchEvent"] = "ProgrammableSwitchEvent";
55
80
  CharacteristicKey["RemainingDuration"] = "RemainingDuration";
81
+ CharacteristicKey["ResetFilterIndication"] = "ResetFilterIndication";
82
+ CharacteristicKey["RotationDirection"] = "RotationDirection";
56
83
  CharacteristicKey["RotationSpeed"] = "RotationSpeed";
57
84
  CharacteristicKey["Saturation"] = "Saturation";
58
85
  CharacteristicKey["SecuritySystemCurrentState"] = "SecuritySystemCurrentState";
@@ -63,20 +90,22 @@ export var CharacteristicKey;
63
90
  CharacteristicKey["StatusFault"] = "StatusFault";
64
91
  CharacteristicKey["StatusLowBattery"] = "StatusLowBattery";
65
92
  CharacteristicKey["StatusTampered"] = "StatusTampered";
93
+ CharacteristicKey["SulphurDioxideDensity"] = "SulphurDioxideDensity";
66
94
  CharacteristicKey["SwingMode"] = "SwingMode";
67
95
  CharacteristicKey["TargetAirPurifierState"] = "TargetAirPurifierState";
96
+ CharacteristicKey["TargetDoorState"] = "TargetDoorState";
97
+ CharacteristicKey["TargetFanState"] = "TargetFanState";
68
98
  CharacteristicKey["TargetHeaterCoolerState"] = "TargetHeaterCoolerState";
69
99
  CharacteristicKey["TargetHeatingCoolingState"] = "TargetHeatingCoolingState";
100
+ CharacteristicKey["TargetHorizontalTiltAngle"] = "TargetHorizontalTiltAngle";
101
+ CharacteristicKey["TargetPosition"] = "TargetPosition";
70
102
  CharacteristicKey["TargetRelativeHumidity"] = "TargetRelativeHumidity";
71
103
  CharacteristicKey["TargetTemperature"] = "TargetTemperature";
104
+ CharacteristicKey["TargetVerticalTiltAngle"] = "TargetVerticalTiltAngle";
72
105
  CharacteristicKey["TemperatureDisplayUnits"] = "TemperatureDisplayUnits";
73
106
  CharacteristicKey["ValveType"] = "ValveType";
107
+ CharacteristicKey["VOCDensity"] = "VOCDensity";
74
108
  })(CharacteristicKey || (CharacteristicKey = {}));
75
- export var TemperatureUnits;
76
- (function (TemperatureUnits) {
77
- TemperatureUnits["CELSIUS"] = "C";
78
- TemperatureUnits["FAHRENHEIT"] = "F";
79
- })(TemperatureUnits || (TemperatureUnits = {}));
80
109
  export var ValveType;
81
110
  (function (ValveType) {
82
111
  ValveType["GENERIC_VALVE"] = "GENERIC_VALVE";
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/model/enums.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,aAoBX;AApBD,WAAY,aAAa;IACvB,4CAA2B,CAAA;IAC3B,4DAA2C,CAAA;IAC3C,8DAA6C,CAAA;IAC7C,gDAA+B,CAAA;IAC/B,8CAA6B,CAAA;IAC7B,kDAAiC,CAAA;IACjC,0CAAyB,CAAA;IACzB,wCAAuB,CAAA;IACvB,4CAA2B,CAAA;IAC3B,gDAA+B,CAAA;IAC/B,8CAA6B,CAAA;IAC7B,oDAAmC,CAAA;IACnC,kCAAiB,CAAA;IACjB,kDAAiC,CAAA;IACjC,4CAA2B,CAAA;IAC3B,kCAAiB,CAAA;IACjB,wDAAuC,CAAA;IACvC,0CAAyB,CAAA;IACzB,gCAAe,CAAA;AACjB,CAAC,EApBW,aAAa,KAAb,aAAa,QAoBxB;AAED,MAAM,CAAN,IAAY,iBAkDX;AAlDD,WAAY,iBAAiB;IAC3B,sCAAiB,CAAA;IACjB,kDAA6B,CAAA;IAC7B,8CAAyB,CAAA;IACzB,oEAA+C,CAAA;IAC/C,8DAAyC,CAAA;IACzC,sEAAiD,CAAA;IACjD,sEAAiD,CAAA;IACjD,gEAA2C,CAAA;IAC3C,wEAAmD,CAAA;IACnD,0DAAqC,CAAA;IACrC,8DAAyC,CAAA;IACzC,gFAA2D,CAAA;IAC3D,0EAAqD,CAAA;IACrD,wEAAmD,CAAA;IACnD,0EAAqD,CAAA;IACrD,8EAAyD,CAAA;IACzD,wEAAmD,CAAA;IACnD,8DAAyC,CAAA;IACzC,gFAA2D,CAAA;IAC3D,gCAAW,CAAA;IACX,oCAAe,CAAA;IACf,kDAA6B,CAAA;IAC7B,kDAA6B,CAAA;IAC7B,0DAAqC,CAAA;IACrC,kEAA6C,CAAA;IAC7C,wDAAmC,CAAA;IACnC,sDAAiC,CAAA;IACjC,4DAAuC,CAAA;IACvC,8BAAS,CAAA;IACT,gDAA2B,CAAA;IAC3B,4DAAuC,CAAA;IACvC,oDAA+B,CAAA;IAC/B,8CAAyB,CAAA;IACzB,8EAAyD,CAAA;IACzD,4EAAuD,CAAA;IACvD,gDAA2B,CAAA;IAC3B,oDAA+B,CAAA;IAC/B,kDAA6B,CAAA;IAC7B,gDAA2B,CAAA;IAC3B,0DAAqC,CAAA;IACrC,sDAAiC,CAAA;IACjC,4CAAuB,CAAA;IACvB,sEAAiD,CAAA;IACjD,wEAAmD,CAAA;IACnD,4EAAuD,CAAA;IACvD,sEAAiD,CAAA;IACjD,4DAAuC,CAAA;IACvC,wEAAmD,CAAA;IACnD,4CAAuB,CAAA;AACzB,CAAC,EAlDW,iBAAiB,KAAjB,iBAAiB,QAkD5B;AAED,MAAM,CAAN,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,iCAAa,CAAA;IACb,oCAAgB,CAAA;AAClB,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B;AAED,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,4CAA+B,CAAA;IAC/B,sCAAyB,CAAA;IACzB,wCAA2B,CAAA;IAC3B,0CAA6B,CAAA;AAC/B,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB"}
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/model/enums.ts"],"names":[],"mappings":"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"}
@@ -7,13 +7,14 @@ export declare class MQTT {
7
7
  private readonly log;
8
8
  private readonly broker;
9
9
  private readonly options;
10
- private static INSTANCES;
11
- private onConnectCallbacks;
10
+ private static readonly INSTANCES;
11
+ private readonly onConnectCallbacks;
12
+ private readonly onConnectMessages;
12
13
  private client;
13
14
  private shouldReconnect;
14
15
  private isReconnecting;
15
16
  private reconnectCount;
16
- private listeners;
17
+ private readonly listeners;
17
18
  static connect(log: Log, config: MQTTConfig | undefined, caller: string, onConnect: OnConnectCallback): MQTT | undefined;
18
19
  private constructor();
19
20
  private get host();
@@ -34,6 +34,7 @@ export class MQTT {
34
34
  options;
35
35
  static INSTANCES = new Map();
36
36
  onConnectCallbacks = [];
37
+ onConnectMessages = new Map();
37
38
  client = undefined;
38
39
  shouldReconnect = false;
39
40
  isReconnecting = false;
@@ -46,7 +47,7 @@ export class MQTT {
46
47
  additionalOptions = JSON.parse(configOptions);
47
48
  }
48
49
  catch (err) {
49
- log.error(`${strings.mqttClient.badOptions}:\n"${configOptions}"`, this.caller);
50
+ log.error(`${strings.mqttClient.badOptions}:\n"${configOptions}"`, caller);
50
51
  return;
51
52
  }
52
53
  const options = {
@@ -72,14 +73,31 @@ export class MQTT {
72
73
  if (instance.client?.connected) {
73
74
  onConnect(instance);
74
75
  }
75
- instance.onConnectCallbacks.push(onConnect);
76
- return instance;
77
76
  }
78
- log.ifVerbose(strings.mqttClient.new, caller, id);
79
- instance = new MQTT(log, broker, options);
80
- MQTT.INSTANCES.set(id, instance);
77
+ else {
78
+ log.ifVerbose(strings.mqttClient.new, caller, id);
79
+ instance = new MQTT(log, broker, options);
80
+ MQTT.INSTANCES.set(id, instance);
81
+ instance.connect();
82
+ }
81
83
  instance.onConnectCallbacks.push(onConnect);
82
- instance.connect();
84
+ const onConnectMessages = config?.onConnect;
85
+ if (onConnectMessages !== undefined) {
86
+ const errorLog = '\n[ { "topic": "example/topic", "message": "example message" } ]';
87
+ if (!Array.isArray(onConnectMessages)) {
88
+ log.error(strings.mqttClient.badMessages, errorLog);
89
+ }
90
+ else {
91
+ for (const message of onConnectMessages) {
92
+ if (message.topic === undefined || message.message === undefined) {
93
+ log.error(strings.mqttClient.badMessages, errorLog);
94
+ continue;
95
+ }
96
+ const key = `${message.topic}|${message.message}`;
97
+ instance?.onConnectMessages.set(key, message);
98
+ }
99
+ }
100
+ }
83
101
  return instance;
84
102
  }
85
103
  constructor(log, broker, options) {
@@ -101,9 +119,12 @@ export class MQTT {
101
119
  this.client = mqtt.connect(this.broker, this.options);
102
120
  this.client.on('connect', () => {
103
121
  this.log.ifVerbose(strings.mqttClient.connected, this.host);
104
- this.onConnectCallbacks.forEach((callback) => {
122
+ this.onConnectCallbacks.forEach(callback => {
105
123
  callback(this);
106
124
  });
125
+ this.onConnectMessages.forEach(message => {
126
+ this.publish(message.topic, message.message);
127
+ });
107
128
  });
108
129
  this.client.on('message', (topic, message) => this.messageReceived(topic, message.toString()));
109
130
  this.client.on('close', () => this.connectionClosed());
@@ -151,7 +172,7 @@ export class MQTT {
151
172
  else {
152
173
  message = value.toString();
153
174
  }
154
- this.client.publish(topic.base, message);
175
+ this.client.publish(topic.base, message, this.options);
155
176
  this.log.ifVerbose(`${strings.mqttClient.publish} — ${topic.base} ${message}`, this.host);
156
177
  }
157
178
  messageReceived(topic, message) {
@@ -1 +1 @@
1
- {"version":3,"file":"mqtt.js","sourceRoot":"","sources":["../../src/model/mqtt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mqtt.js","sourceRoot":"","sources":["../../src/model/mqtt.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { PlatformConfig as HBPlatformConfig } from 'homebridge';
2
2
  export type ServiceType = typeof import('homebridge').Service;
3
3
  export type CharacteristicType = typeof import('homebridge').Characteristic;
4
- import { AccessoryType, TemperatureUnits, ValveType } from './enums.js';
4
+ import { AccessoryType, ValveType } from './enums.js';
5
+ import { TemperatureUnits } from '../tools/temperature.js';
5
6
  import { Assertable } from '../tools/validation.js';
6
7
  export type PlatformConfig = HBPlatformConfig & {
7
8
  accessories?: BaseAccessoryConfig[];
@@ -9,13 +10,21 @@ export type PlatformConfig = HBPlatformConfig & {
9
10
  export type TemperatureConfig = {
10
11
  temperatureUnits?: TemperatureUnits;
11
12
  };
13
+ export type AddonConfig = Assertable & {};
14
+ export type FilterMaintenanceConfig = AddonConfig & {
15
+ topicGetFilterChangeIndication: string;
16
+ topicGetFilterLifeLevel?: string;
17
+ topicResetFilterIndication?: string;
18
+ valueFilterChange: string;
19
+ valueFilterReset: string;
20
+ };
12
21
  type ErrorStatusConfig = {
13
22
  topicGetStatusFault?: string;
14
23
  topicGetStatusTampered?: string;
15
24
  valueFault?: string;
16
25
  valueTampered?: string;
17
26
  };
18
- type InfoConfig = Assertable & {
27
+ export type InfoConfig = Assertable & {
19
28
  id: string;
20
29
  name: string;
21
30
  type: AccessoryType;
@@ -27,16 +36,22 @@ type AdditionalInfoConfig = InfoConfig & {
27
36
  serialNumber?: string;
28
37
  version?: string;
29
38
  };
39
+ export type MQTTMessage = Assertable & {
40
+ topic: string;
41
+ message: string;
42
+ };
30
43
  export type MQTTConfig = Assertable & {
31
44
  broker?: string;
32
45
  username?: string;
33
46
  password?: string;
34
47
  options?: string;
48
+ onConnect?: MQTTMessage[];
35
49
  };
36
50
  export type MQTTAccessoryConfig = Assertable & {
37
51
  info: InfoConfig;
38
52
  mqtt?: MQTTConfig;
39
53
  customCharacteristics?: CustomCharacteristicConfig[];
54
+ resetOnRestart?: boolean;
40
55
  disableLogging: boolean;
41
56
  };
42
57
  export type CustomCharacteristicConfig = Assertable & {
@@ -60,6 +75,7 @@ export type OnOffConfig = BaseAccessoryConfig & {
60
75
  valueOff: string;
61
76
  };
62
77
  export type LightbulbConfig = OnOffConfig & {
78
+ maximumBrightness?: number;
63
79
  topicGetBrightness?: string;
64
80
  topicGetColorTemperature?: string;
65
81
  topicGetHue?: string;
@@ -75,6 +91,21 @@ export type OutletConfig = OnOffConfig & {
75
91
  };
76
92
  export type SwitchConfig = OnOffConfig & {};
77
93
  export type SensorConfig = BaseAccessoryConfig & ErrorStatusConfig & {};
94
+ export type AirSensorConfig = SensorConfig & {
95
+ topicGetAirQuality: string;
96
+ topicGetNitrogenDioxideDensity?: string;
97
+ topicGetOzoneDensity?: string;
98
+ topicGetPM10Density?: string;
99
+ topicGetPM2_5Density?: string;
100
+ topicGetSulphurDioxideDensity?: string;
101
+ topicGetVOCDensity?: string;
102
+ valueAQExcellent?: string;
103
+ valueAQFair?: string;
104
+ valueAQGood?: string;
105
+ valueAQInferior?: string;
106
+ valueAQPoor?: string;
107
+ valueAQUnknown?: string;
108
+ };
78
109
  export type COSensorConfig = SensorConfig & {
79
110
  topicGetCarbonMonoxideDetected: string;
80
111
  topicGetCarbonMonoxideLevel?: string;
@@ -138,6 +169,7 @@ export type ThermostatConfig = TemperatureControlConfig & {
138
169
  valueModeOff?: string;
139
170
  };
140
171
  export type ActiveClimateConfig = TemperatureControlConfig & {
172
+ maximumRotationSpeed?: number;
141
173
  topicGetActive: string;
142
174
  topicGetLockPhysicalControls?: string;
143
175
  topicGetRotationSpeed?: string;
@@ -153,7 +185,21 @@ export type ActiveClimateConfig = TemperatureControlConfig & {
153
185
  valueSwingEnabled?: string;
154
186
  valueSwingDisabled?: string;
155
187
  };
156
- export type HeaterCoolerConfig = ActiveClimateConfig & {
188
+ export type FanV2Config = ActiveClimateConfig & {
189
+ topicGetCurrentFanState?: string;
190
+ topicGetRotationDirection?: string;
191
+ topicGetTargetFanState?: string;
192
+ topicSetRotationDirection?: string;
193
+ topicSetTargetFanState?: string;
194
+ valueDirectionClockwise?: string;
195
+ valueDirectionCounterClockwise?: string;
196
+ valueModeAuto?: string;
197
+ valueModeBlowing?: string;
198
+ valueModeIdle?: string;
199
+ valueModeInactive?: string;
200
+ valueModeManual?: string;
201
+ };
202
+ export type HeaterCoolerConfig = ActiveClimateConfig & FilterMaintenanceConfig & {
157
203
  topicGetCurrentHeaterCoolerState: string;
158
204
  topicGetTargetHeaterCoolerState: string;
159
205
  topicSetTargetHeaterCoolerState: string;
@@ -163,7 +209,7 @@ export type HeaterCoolerConfig = ActiveClimateConfig & {
163
209
  valueModeIdle?: string;
164
210
  valueModeInactive?: string;
165
211
  };
166
- export type PurifierConfig = ActiveClimateConfig & {
212
+ export type PurifierConfig = ActiveClimateConfig & FilterMaintenanceConfig & {
167
213
  topicGetCurrentPurifierState: string;
168
214
  topicGetTargetPurifierState: string;
169
215
  topicSetTargetPurifierState: string;
@@ -173,6 +219,47 @@ export type PurifierConfig = ActiveClimateConfig & {
173
219
  valueModeManual?: string;
174
220
  valueModePurifying?: string;
175
221
  };
222
+ export type GarageDoorConfig = LockConfig & {
223
+ topicGetCurrentDoorState: string;
224
+ topicGetCurrentLockState?: string;
225
+ topicGetObstructionDetected: string;
226
+ topicGetTargetDoorState: string;
227
+ topicGetTargetLockState?: string;
228
+ topicSetTargetDoorState: string;
229
+ topicSetTargetLockState?: string;
230
+ valueDoorObstructed: string;
231
+ valueDoorStateClosed?: string;
232
+ valueDoorStateClosing?: string;
233
+ valueDoorStateOpen?: string;
234
+ valueDoorStateOpening?: string;
235
+ valueDoorStateStopped?: string;
236
+ valueLockStateJammed?: string;
237
+ valueLockStateSecured?: string;
238
+ valueLockStateUnsecured?: string;
239
+ };
240
+ export type PositionConfig = BaseAccessoryConfig & {
241
+ maximumPosition?: number;
242
+ topicGetCurrentPosition: string;
243
+ topicSetHoldPosition?: string;
244
+ topicGetObstructionDetected?: string;
245
+ topicGetPositionState: string;
246
+ topicGetTargetPosition: string;
247
+ topicSetTargetPosition: string;
248
+ valuePositionHold?: string;
249
+ valuePositionDecreasing?: string;
250
+ valuePositionIncreasing?: string;
251
+ valuePositionObstructed?: string;
252
+ valuePositionResume?: string;
253
+ valuePositionStopped?: string;
254
+ };
255
+ export type BlindConfig = PositionConfig & {
256
+ topicGetCurrentHorizontalTiltAngle?: string;
257
+ topicGetCurrentVerticalTiltAngle?: string;
258
+ topicGetTargetHorizontalTiltAngle?: string;
259
+ topicGetTargetVerticalTiltAngle?: string;
260
+ topicSetTargetHorizontalTiltAngle?: string;
261
+ topicSetTargetVerticalTiltAngle?: string;
262
+ };
176
263
  export type LockConfig = BaseAccessoryConfig & {
177
264
  topicGetCurrentLockState: string;
178
265
  topicGetTargetLockState: string;
@@ -194,6 +281,12 @@ export type SecurityConfig = BaseAccessoryConfig & ErrorStatusConfig & {
194
281
  valueDisarm?: string;
195
282
  valueAlarmTriggered?: string;
196
283
  };
284
+ export type ButtonConfig = BaseAccessoryConfig & {
285
+ topicEventButtonPress: string;
286
+ valueSinglePress?: string;
287
+ valueDoublePress?: string;
288
+ valueLongPress?: string;
289
+ };
197
290
  export type ValveConfig = BaseAccessoryConfig & {
198
291
  valveType?: ValveType;
199
292
  topicGetStatusFault?: string;
@@ -1,4 +1,5 @@
1
1
  import { Logger } from 'homebridge';
2
+ type Param = string | boolean | number;
2
3
  export declare enum LogType {
3
4
  ALWAYS = 0,
4
5
  WARNING = 1,
@@ -8,9 +9,10 @@ export declare class Log {
8
9
  private readonly logger;
9
10
  readonly verbose: boolean;
10
11
  constructor(logger: Logger, verbose: boolean);
11
- always(message: string, ...parameters: any[]): void;
12
- warning(message: string, ...parameters: any[]): void;
13
- error(message: string, ...parameters: any[]): void;
14
- ifVerbose(message: string, ...parameters: any[]): void;
15
- ifVerbose(level: LogType, message: string, ...parameters: any[]): void;
12
+ always(message: string, ...parameters: Param[]): void;
13
+ warning(message: string, ...parameters: Param[]): void;
14
+ error(message: string, ...parameters: Param[]): void;
15
+ ifVerbose(message: string, ...parameters: Param[]): void;
16
+ ifVerbose(level: LogType, message: string, ...parameters: Param[]): void;
16
17
  }
18
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/tools/log.ts"],"names":[],"mappings":"AAGA,MAAM,CAAN,IAAY,OAIX;AAJD,WAAY,OAAO;IACjB,yCAAM,CAAA;IACN,2CAAO,CAAA;IACP,uCAAK,CAAA;AACP,CAAC,EAJW,OAAO,KAAP,OAAO,QAIlB;AAED,MAAM,OAAO,GAAG;IAGK;IACD;IAFlB,YACmB,MAAc,EACf,OAAgB;QADf,WAAM,GAAN,MAAM,CAAQ;QACf,YAAO,GAAP,OAAO,CAAS;IAC/B,CAAC;IAEG,MAAM,CAAC,OAAe,EAAE,GAAG,UAAiB;QACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;IAC3C,CAAC;IAEM,OAAO,CAAC,OAAe,EAAE,GAAG,UAAiB;QAClD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;IAC3C,CAAC;IAEM,KAAK,CAAC,OAAe,EAAE,GAAG,UAAiB;QAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;IAC5C,CAAC;IAIM,SAAS,CAAC,cAAgC,EAAE,GAAG,IAAW;QAC/D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QAED,MAAM,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,GAAG,IAAI,CAAC;QACtC,QAAO,cAAc,EAAE,CAAC;YACxB,KAAK,OAAO,CAAC,MAAM;gBACjB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;gBACpC,MAAM;YACR,KAAK,OAAO,CAAC,OAAO;gBAClB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;gBACrC,MAAM;YACR,KAAK,OAAO,CAAC,KAAK;gBAChB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;gBACnC,MAAM;QACR,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/tools/log.ts"],"names":[],"mappings":"AAIA,MAAM,CAAN,IAAY,OAIX;AAJD,WAAY,OAAO;IACjB,yCAAM,CAAA;IACN,2CAAO,CAAA;IACP,uCAAK,CAAA;AACP,CAAC,EAJW,OAAO,KAAP,OAAO,QAIlB;AAED,MAAM,OAAO,GAAG;IAGK;IACD;IAFlB,YACmB,MAAc,EACf,OAAgB;QADf,WAAM,GAAN,MAAM,CAAQ;QACf,YAAO,GAAP,OAAO,CAAS;IAC/B,CAAC;IAEG,MAAM,CAAC,OAAe,EAAE,GAAG,UAAmB;QACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;IAC3C,CAAC;IAEM,OAAO,CAAC,OAAe,EAAE,GAAG,UAAmB;QACpD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;IAC3C,CAAC;IAEM,KAAK,CAAC,OAAe,EAAE,GAAG,UAAmB;QAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;IAC5C,CAAC;IAIM,SAAS,CAAC,cAAgC,EAAE,GAAG,IAAa;QACjE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QAED,MAAM,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,GAAG,IAAI,CAAC;QACtC,QAAO,cAAc,EAAE,CAAC;YACxB,KAAK,OAAO,CAAC,MAAM;gBACjB,IAAI,CAAC,MAAM,CAAC,OAAiB,EAAE,GAAG,UAAU,CAAC,CAAC;gBAC9C,MAAM;YACR,KAAK,OAAO,CAAC,OAAO;gBAClB,IAAI,CAAC,OAAO,CAAC,OAAiB,EAAE,GAAG,UAAU,CAAC,CAAC;gBAC/C,MAAM;YACR,KAAK,OAAO,CAAC,KAAK;gBAChB,IAAI,CAAC,KAAK,CAAC,OAAiB,EAAE,GAAG,UAAU,CAAC,CAAC;gBAC7C,MAAM;QACR,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ import { CharacteristicValue } from 'homebridge';
2
+ import { CharacteristicKey } from '../model/enums.js';
3
+ export declare class Properties {
4
+ private readonly identifier;
5
+ private readonly useStorage;
6
+ static initStorage(persistPath: string): Promise<void>;
7
+ private readonly properties;
8
+ constructor(identifier: string, useStorage: boolean);
9
+ get(key: CharacteristicKey): CharacteristicValue | undefined;
10
+ set(key: CharacteristicKey, value: CharacteristicValue): void;
11
+ }
@@ -0,0 +1,73 @@
1
+ import storage from 'node-persist';
2
+ function propertyStorageKey(id) {
3
+ return `${id}:Properties`;
4
+ }
5
+ const PRELOAD_KEYS_UUID = 'a6ac8cc1-5112-41c9-98b8-198601281ebb';
6
+ const PRELOAD_KEYS = new Set;
7
+ const PRELOADED = new Map;
8
+ function cacheKey(key) {
9
+ if (PRELOAD_KEYS.has(key)) {
10
+ return;
11
+ }
12
+ PRELOAD_KEYS.add(key);
13
+ const keysArray = Array.from(PRELOAD_KEYS);
14
+ const keysJson = JSON.stringify(keysArray);
15
+ storage.set(PRELOAD_KEYS_UUID, keysJson);
16
+ }
17
+ export class Properties {
18
+ identifier;
19
+ useStorage;
20
+ static async initStorage(persistPath) {
21
+ await storage.init({ dir: persistPath, forgiveParseErrors: true });
22
+ const keysJson = await storage.get(PRELOAD_KEYS_UUID);
23
+ if (keysJson === undefined) {
24
+ return;
25
+ }
26
+ try {
27
+ const keysArray = JSON.parse(keysJson);
28
+ keysArray.forEach(key => PRELOAD_KEYS.add(key));
29
+ }
30
+ catch {
31
+ // ignore
32
+ }
33
+ for (const key of PRELOAD_KEYS) {
34
+ try {
35
+ const propertiesJson = await storage.get(key);
36
+ if (propertiesJson === undefined) {
37
+ continue;
38
+ }
39
+ const array = JSON.parse(propertiesJson);
40
+ const properties = new Map(array);
41
+ PRELOADED.set(key, properties);
42
+ }
43
+ catch {
44
+ // ignore
45
+ }
46
+ }
47
+ }
48
+ properties = new Map();
49
+ constructor(identifier, useStorage) {
50
+ this.identifier = identifier;
51
+ this.useStorage = useStorage;
52
+ if (!useStorage) {
53
+ return;
54
+ }
55
+ const key = propertyStorageKey(identifier);
56
+ this.properties = PRELOADED.get(key) ?? this.properties;
57
+ }
58
+ get(key) {
59
+ return this.properties.get(key);
60
+ }
61
+ set(key, value) {
62
+ this.properties.set(key, value);
63
+ if (!this.useStorage) {
64
+ return;
65
+ }
66
+ const storageKey = propertyStorageKey(this.identifier);
67
+ cacheKey(storageKey);
68
+ const propertiesArray = Array.from(this.properties.entries());
69
+ const propertiesJson = JSON.stringify(propertiesArray);
70
+ storage.set(storageKey, propertiesJson);
71
+ }
72
+ }
73
+ //# sourceMappingURL=properties.js.map