@switchbot/homebridge-switchbot 1.7.1-beta.9 → 1.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.
Files changed (92) hide show
  1. package/CHANGELOG.md +3 -1
  2. package/config.schema.json +3 -3
  3. package/dist/devices/bots.d.ts +4 -3
  4. package/dist/devices/bots.d.ts.map +1 -1
  5. package/dist/devices/bots.js +42 -33
  6. package/dist/devices/bots.js.map +1 -1
  7. package/dist/devices/colorbulb.d.ts +4 -3
  8. package/dist/devices/colorbulb.d.ts.map +1 -1
  9. package/dist/devices/colorbulb.js +38 -29
  10. package/dist/devices/colorbulb.js.map +1 -1
  11. package/dist/devices/contact.d.ts +4 -3
  12. package/dist/devices/contact.d.ts.map +1 -1
  13. package/dist/devices/contact.js +42 -34
  14. package/dist/devices/contact.js.map +1 -1
  15. package/dist/devices/curtains.d.ts +2 -1
  16. package/dist/devices/curtains.d.ts.map +1 -1
  17. package/dist/devices/curtains.js +24 -10
  18. package/dist/devices/curtains.js.map +1 -1
  19. package/dist/devices/humidifiers.d.ts +1 -0
  20. package/dist/devices/humidifiers.d.ts.map +1 -1
  21. package/dist/devices/humidifiers.js +20 -1
  22. package/dist/devices/humidifiers.js.map +1 -1
  23. package/dist/devices/meters.d.ts +4 -3
  24. package/dist/devices/meters.d.ts.map +1 -1
  25. package/dist/devices/meters.js +46 -34
  26. package/dist/devices/meters.js.map +1 -1
  27. package/dist/devices/motion.d.ts +4 -3
  28. package/dist/devices/motion.d.ts.map +1 -1
  29. package/dist/devices/motion.js +42 -30
  30. package/dist/devices/motion.js.map +1 -1
  31. package/dist/devices/plugs.d.ts +4 -3
  32. package/dist/devices/plugs.d.ts.map +1 -1
  33. package/dist/devices/plugs.js +42 -30
  34. package/dist/devices/plugs.js.map +1 -1
  35. package/dist/irdevices/airconditioners.d.ts +2 -1
  36. package/dist/irdevices/airconditioners.d.ts.map +1 -1
  37. package/dist/irdevices/airconditioners.js +19 -12
  38. package/dist/irdevices/airconditioners.js.map +1 -1
  39. package/dist/irdevices/airpurifiers.d.ts +4 -3
  40. package/dist/irdevices/airpurifiers.d.ts.map +1 -1
  41. package/dist/irdevices/airpurifiers.js +23 -16
  42. package/dist/irdevices/airpurifiers.js.map +1 -1
  43. package/dist/irdevices/cameras.d.ts +2 -1
  44. package/dist/irdevices/cameras.d.ts.map +1 -1
  45. package/dist/irdevices/cameras.js +19 -12
  46. package/dist/irdevices/cameras.js.map +1 -1
  47. package/dist/irdevices/fans.d.ts +2 -1
  48. package/dist/irdevices/fans.d.ts.map +1 -1
  49. package/dist/irdevices/fans.js +19 -12
  50. package/dist/irdevices/fans.js.map +1 -1
  51. package/dist/irdevices/lights.d.ts +2 -1
  52. package/dist/irdevices/lights.d.ts.map +1 -1
  53. package/dist/irdevices/lights.js +19 -12
  54. package/dist/irdevices/lights.js.map +1 -1
  55. package/dist/irdevices/others.d.ts +3 -2
  56. package/dist/irdevices/others.d.ts.map +1 -1
  57. package/dist/irdevices/others.js +23 -16
  58. package/dist/irdevices/others.js.map +1 -1
  59. package/dist/irdevices/tvs.d.ts +2 -1
  60. package/dist/irdevices/tvs.d.ts.map +1 -1
  61. package/dist/irdevices/tvs.js +19 -12
  62. package/dist/irdevices/tvs.js.map +1 -1
  63. package/dist/irdevices/vacuumcleaners.d.ts +2 -1
  64. package/dist/irdevices/vacuumcleaners.d.ts.map +1 -1
  65. package/dist/irdevices/vacuumcleaners.js +19 -12
  66. package/dist/irdevices/vacuumcleaners.js.map +1 -1
  67. package/dist/irdevices/waterheaters.d.ts +2 -1
  68. package/dist/irdevices/waterheaters.d.ts.map +1 -1
  69. package/dist/irdevices/waterheaters.js +19 -12
  70. package/dist/irdevices/waterheaters.js.map +1 -1
  71. package/dist/settings.d.ts +7 -1
  72. package/dist/settings.d.ts.map +1 -1
  73. package/dist/settings.js.map +1 -1
  74. package/package.json +71 -71
  75. package/src/devices/bots.ts +43 -35
  76. package/src/devices/colorbulb.ts +39 -31
  77. package/src/devices/contact.ts +43 -35
  78. package/src/devices/curtains.ts +26 -12
  79. package/src/devices/humidifiers.ts +21 -1
  80. package/src/devices/meters.ts +47 -34
  81. package/src/devices/motion.ts +43 -30
  82. package/src/devices/plugs.ts +43 -30
  83. package/src/irdevices/airconditioners.ts +20 -12
  84. package/src/irdevices/airpurifiers.ts +24 -16
  85. package/src/irdevices/cameras.ts +20 -12
  86. package/src/irdevices/fans.ts +20 -12
  87. package/src/irdevices/lights.ts +20 -12
  88. package/src/irdevices/others.ts +24 -16
  89. package/src/irdevices/tvs.ts +20 -12
  90. package/src/irdevices/vacuumcleaners.ts +20 -12
  91. package/src/irdevices/waterheaters.ts +20 -12
  92. package/src/settings.ts +7 -1
@@ -25,7 +25,8 @@ export class VacuumCleaner {
25
25
  public device: irdevice & irDevicesConfig,
26
26
  ) {
27
27
  // default placeholders
28
- this.logs();
28
+ this.logs(device);
29
+ this.config(device);
29
30
  if (this.On === undefined) {
30
31
  this.On = false;
31
32
  } else {
@@ -57,22 +58,29 @@ export class VacuumCleaner {
57
58
  this.service.getCharacteristic(this.platform.Characteristic.On).onSet(this.OnSet.bind(this));
58
59
  }
59
60
 
60
- logs() {
61
+ config(device: irdevice & irDevicesConfig) {
62
+ const config: any = device.irvc;
63
+ if (device.logging !== undefined) {
64
+ config['logging'] = device.logging;
65
+ }
66
+ if (config !== undefined) {
67
+ this.warnLog(`Vacuum Cleaner: ${this.accessory.displayName} Config: ${JSON.stringify(config)}`);
68
+ }
69
+ }
70
+
71
+ logs(device: irdevice & irDevicesConfig) {
61
72
  if (this.platform.debugMode) {
62
- this.deviceLogging = this.accessory.context.logging = 'debug';
63
- this.warnLog(`Vacuum Cleaner: ${this.accessory.displayName} Using Debug Mode Logging: ${this.deviceLogging}`);
64
- } else if (this.device.logging) {
65
- this.deviceLogging = this.accessory.context.logging = this.device.logging;
66
- if (this.deviceLogging === 'debug' || this.deviceLogging === 'standard') {
67
- this.warnLog(`Vacuum Cleaner: ${this.accessory.displayName} Using Device Config Logging: ${this.deviceLogging}`);
68
- }
73
+ this.deviceLogging = this.accessory.context.logging = 'debugMode';
74
+ this.debugLog(`Vacuum Cleaner: ${this.accessory.displayName} Using Debug Mode Logging: ${this.deviceLogging}`);
75
+ } else if (device.logging) {
76
+ this.deviceLogging = this.accessory.context.logging = device.logging;
77
+ this.debugLog(`Vacuum Cleaner: ${this.accessory.displayName} Using Device Config Logging: ${this.deviceLogging}`);
69
78
  } else if (this.platform.config.options?.logging) {
70
79
  this.deviceLogging = this.accessory.context.logging = this.platform.config.options?.logging;
71
- if (this.deviceLogging === 'debug' || this.deviceLogging === 'standard') {
72
- this.warnLog(`Vacuum Cleaner: ${this.accessory.displayName} Using Platform Config Logging: ${this.deviceLogging}`);
73
- }
80
+ this.debugLog(`Vacuum Cleaner: ${this.accessory.displayName} Using Platform Config Logging: ${this.deviceLogging}`);
74
81
  } else {
75
82
  this.deviceLogging = this.accessory.context.logging = 'standard';
83
+ this.debugLog(`Vacuum Cleaner: ${this.accessory.displayName} Logging Not Set, Using: ${this.deviceLogging}`);
76
84
  }
77
85
  }
78
86
 
@@ -25,7 +25,8 @@ export class WaterHeater {
25
25
  public device: irdevice & irDevicesConfig,
26
26
  ) {
27
27
  // default placeholders
28
- this.logs();
28
+ this.logs(device);
29
+ this.config(device);
29
30
  if (this.Active === undefined) {
30
31
  this.Active = this.platform.Characteristic.Active.INACTIVE;
31
32
  } else {
@@ -66,22 +67,29 @@ export class WaterHeater {
66
67
  this.service.getCharacteristic(this.platform.Characteristic.Active).onSet(this.ActiveSet.bind(this));
67
68
  }
68
69
 
69
- logs() {
70
+ config(device: irdevice & irDevicesConfig) {
71
+ const config: any = device.irwh;
72
+ if (device.logging !== undefined) {
73
+ config['logging'] = device.logging;
74
+ }
75
+ if (config !== undefined) {
76
+ this.warnLog(`Water Heater: ${this.accessory.displayName} Config: ${JSON.stringify(config)}`);
77
+ }
78
+ }
79
+
80
+ logs(device: irdevice & irDevicesConfig) {
70
81
  if (this.platform.debugMode) {
71
- this.deviceLogging = this.accessory.context.logging = 'debug';
72
- this.warnLog(`Water Heater: ${this.accessory.displayName} Using Debug Mode Logging: ${this.deviceLogging}`);
73
- } else if (this.device.logging) {
74
- this.deviceLogging = this.accessory.context.logging = this.device.logging;
75
- if (this.deviceLogging === 'debug' || this.deviceLogging === 'standard') {
76
- this.warnLog(`Water Heater: ${this.accessory.displayName} Using Device Config Logging: ${this.deviceLogging}`);
77
- }
82
+ this.deviceLogging = this.accessory.context.logging = 'debugMode';
83
+ this.debugLog(`Water Heater: ${this.accessory.displayName} Using Debug Mode Logging: ${this.deviceLogging}`);
84
+ } else if (device.logging) {
85
+ this.deviceLogging = this.accessory.context.logging = device.logging;
86
+ this.debugLog(`Water Heater: ${this.accessory.displayName} Using Device Config Logging: ${this.deviceLogging}`);
78
87
  } else if (this.platform.config.options?.logging) {
79
88
  this.deviceLogging = this.accessory.context.logging = this.platform.config.options?.logging;
80
- if (this.deviceLogging === 'debug' || this.deviceLogging === 'standard') {
81
- this.warnLog(`Water Heater: ${this.accessory.displayName} Using Platform Config Logging: ${this.deviceLogging}`);
82
- }
89
+ this.debugLog(`Water Heater: ${this.accessory.displayName} Using Platform Config Logging: ${this.deviceLogging}`);
83
90
  } else {
84
91
  this.deviceLogging = this.accessory.context.logging = 'standard';
92
+ this.debugLog(`Water Heater: ${this.accessory.displayName} Logging Not Set, Using: ${this.deviceLogging}`);
85
93
  }
86
94
  }
87
95
 
package/src/settings.ts CHANGED
@@ -50,6 +50,7 @@ export interface devicesConfig extends device {
50
50
  contact?: contact;
51
51
  motion?: motion;
52
52
  colorbulb?: colorbulb;
53
+ plug?: Record<any, any>;
53
54
  ble?: string;
54
55
  scanDuration?: number;
55
56
  hide_device?: boolean;
@@ -77,7 +78,7 @@ export type curtain = {
77
78
  hide_lightsensor?: boolean;
78
79
  set_minLux?: number;
79
80
  set_maxLux?: number;
80
- refreshRate?: number;
81
+ updateRate?: number;
81
82
  set_max?: number;
82
83
  set_min?: number;
83
84
  set_minStep?: number;
@@ -107,6 +108,11 @@ export interface irDevicesConfig extends irdevice {
107
108
  logging?: string;
108
109
  irfan?: irfan;
109
110
  irair?: irair;
111
+ irpur?: Record<any, any>;
112
+ ircam?: Record<any, any>;
113
+ irlight?: Record<any, any>;
114
+ irvc?: Record<any, any>;
115
+ irwh?: Record<any, any>;
110
116
  irtv?: irtv;
111
117
  other?: other;
112
118
  hide_device?: boolean;