homebridge-dummy 1.1.0-beta.1 → 1.1.0-beta.10

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 (67) hide show
  1. package/CHANGELOG.md +15 -5
  2. package/README.md +59 -27
  3. package/config.schema.json +178 -93
  4. package/dist/accessory/base.d.ts +6 -3
  5. package/dist/accessory/base.js +22 -10
  6. package/dist/accessory/base.js.map +1 -1
  7. package/dist/accessory/helpers.js +3 -0
  8. package/dist/accessory/helpers.js.map +1 -1
  9. package/dist/accessory/lock.d.ts +1 -1
  10. package/dist/accessory/lock.js +12 -1
  11. package/dist/accessory/lock.js.map +1 -1
  12. package/dist/accessory/onoff/lightbulb.d.ts +2 -2
  13. package/dist/accessory/onoff/lightbulb.js +5 -0
  14. package/dist/accessory/onoff/lightbulb.js.map +1 -1
  15. package/dist/accessory/onoff/onoff.d.ts +3 -4
  16. package/dist/accessory/onoff/onoff.js +15 -6
  17. package/dist/accessory/onoff/onoff.js.map +1 -1
  18. package/dist/accessory/position/position.d.ts +1 -1
  19. package/dist/accessory/position/position.js +12 -1
  20. package/dist/accessory/position/position.js.map +1 -1
  21. package/dist/accessory/sensor.d.ts +11 -11
  22. package/dist/accessory/sensor.js +44 -30
  23. package/dist/accessory/sensor.js.map +1 -1
  24. package/dist/accessory/thermostat.d.ts +28 -0
  25. package/dist/accessory/thermostat.js +151 -0
  26. package/dist/accessory/thermostat.js.map +1 -0
  27. package/dist/homebridge-ui/public/index.html +2 -2
  28. package/dist/homebridge-ui/public/ui.js +1 -1
  29. package/dist/i18n/en.d.ts +26 -4
  30. package/dist/i18n/en.js +34 -12
  31. package/dist/i18n/en.js.map +1 -1
  32. package/dist/i18n/i18n.d.ts +26 -4
  33. package/dist/i18n/template.d.ts +26 -4
  34. package/dist/i18n/zz.d.ts +26 -4
  35. package/dist/model/types.d.ts +33 -9
  36. package/dist/model/types.js +19 -5
  37. package/dist/model/types.js.map +1 -1
  38. package/dist/timeout/schedule.d.ts +14 -0
  39. package/dist/timeout/schedule.js +68 -0
  40. package/dist/timeout/schedule.js.map +1 -0
  41. package/dist/timeout/timeout.d.ts +23 -0
  42. package/dist/timeout/timeout.js +91 -0
  43. package/dist/timeout/timeout.js.map +1 -0
  44. package/dist/timeout/timer.d.ts +10 -0
  45. package/dist/timeout/timer.js +29 -0
  46. package/dist/timeout/timer.js.map +1 -0
  47. package/dist/tools/configMigration.js +2 -2
  48. package/dist/tools/configMigration.js.map +1 -1
  49. package/dist/tools/storage.d.ts +1 -0
  50. package/dist/tools/storage.js +1 -0
  51. package/dist/tools/storage.js.map +1 -1
  52. package/dist/tools/temperature.d.ts +3 -0
  53. package/dist/tools/temperature.js +14 -0
  54. package/dist/tools/temperature.js.map +1 -0
  55. package/dist/tools/validation.d.ts +2 -0
  56. package/dist/tools/validation.js +7 -0
  57. package/dist/tools/validation.js.map +1 -1
  58. package/package.json +19 -3
  59. package/dist/model/timer.d.ts +0 -16
  60. package/dist/model/timer.js +0 -65
  61. package/dist/model/timer.js.map +0 -1
  62. package/dist/model/trigger.d.ts +0 -14
  63. package/dist/model/trigger.js +0 -73
  64. package/dist/model/trigger.js.map +0 -1
  65. package/dist/tools/time.d.ts +0 -5
  66. package/dist/tools/time.js +0 -15
  67. package/dist/tools/time.js.map +0 -1
@@ -1 +1 @@
1
- "use strict";(()=>{var r="Homebridge Dummy";var l={github:'<a target="_blank" href="https://github.com/mpatfield/homebridge-dummy/">GitHub</a>',migration:'<a target="_blank" href="https://github.com/mpatfield/homebridge-dummy?tab=readme-ov-file#v10-migration">GitHub</a>',dummy:r},g=e=>{document.querySelectorAll("[i18n]").forEach(t=>{let o=t.getAttribute("i18n"),i=e.config[o],n=t.getAttribute("i18n_replace");n&&(i=i.replace("%s",l[n])),t.innerHTML=i})},u=e=>{let t=["span","label","legend","option","p"];Array.from(window.parent.document.querySelectorAll(t.join(","))).sort((i,n)=>t.indexOf(i.tagName.toLowerCase())-t.indexOf(n.tagName.toLowerCase())).forEach(i=>{let n=i.innerHTML;n=n.replaceAll(/\$\{config\.(title|description|enumNames)\.([^}]+)\}/g,(m,a,d)=>e.config[a]&&typeof e.config[a]=="object"&&d in e.config[a]?e.config[a][d]:m),i.innerHTML!==n&&(i.innerHTML=n)})},c=e=>{let t=Array.from(window.parent.document.querySelectorAll("fieldset legend"));for(let o of t){let n=o.closest("fieldset")?.querySelector('input[type="text"][name="name"]');n&&o.textContent!==(n.value||e.config.title.accessory)&&(o.textContent=n.value!==""?n.value:e.config.title.accessory),n&&!n.dataset.accessoryNameListener&&(n.addEventListener("input",()=>c(e)),n.dataset.accessoryNameListener="true")}};function x(){if(typeof crypto<"u"){if(crypto.randomUUID)return crypto.randomUUID();if(crypto.getRandomValues)return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=crypto.getRandomValues(new Uint8Array(1))[0]&15;return(e==="x"?t:t&3|8).toString(16)})}return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}var f=e=>{let t=!1;e.accessories?.forEach(o=>{if(o.id===void 0){let i=x();o.id=i,t=!0}}),t&&homebridge.updatePluginConfig([e])},s=e=>{document.getElementById("intro").style.display="none",document.getElementById("migration").style.display="none",document.getElementById("support").style.display="block",new MutationObserver(()=>{u(e),c(e)}).observe(window.parent.document.body,{childList:!0,subtree:!0}),homebridge.showSchemaForm(),homebridge.addEventListener("configChanged",o=>{let i=o.data;i.length&&f(i[0])}),homebridge.enableSaveButton(),homebridge.hideSpinner()},y=e=>{document.getElementById("header").style.display="none",document.getElementById("intro").style.display="none",document.getElementById("migration").style.display="block",document.getElementById("skipMigration").addEventListener("click",async()=>{await homebridge.updatePluginConfig([{name:r}]),await homebridge.savePluginConfig(),s(e)}),document.getElementById("doMigration").addEventListener("click",async()=>{await homebridge.updatePluginConfig([{name:r,migrationNeeded:!0}]),await homebridge.savePluginConfig(),homebridge.closeSettings(),homebridge.toast.info(e.config.migrationRestartDescription.replace("%s",r),e.config.migrationRestartTitle)})},p=e=>{homebridge.disableSaveButton(),document.getElementById("showSettings").addEventListener("click",async()=>{await homebridge.updatePluginConfig([{name:r}]),s(e)}),document.getElementById("showMigration").addEventListener("click",()=>{y(e)}),document.getElementById("intro").style.display="block",homebridge.hideSpinner()};(async()=>{homebridge.showSpinner();let e=await homebridge.i18nCurrentLang(),t=await homebridge.request("i18n",e);g(t),(await homebridge.getPluginConfig()).length?s(t):p(t)})();})();
1
+ "use strict";(()=>{var r="Homebridge Dummy";var l={github:'<a target="_blank" href="https://github.com/mpatfield/homebridge-dummy/">GitHub</a>',migration:'<a target="_blank" href="https://github.com/mpatfield/homebridge-dummy?tab=readme-ov-file#v10-migration">GitHub</a>',dummy:r};function g(e){document.querySelectorAll("[i18n]").forEach(t=>{let o=t.getAttribute("i18n"),i=e.config[o],n=t.getAttribute("i18n_replace");n&&(i=i.replace("%s",l[n])),t.innerHTML=i})}function u(e){let t=["span","label","legend","option","p"];Array.from(window.parent.document.querySelectorAll(t.join(","))).sort((i,n)=>t.indexOf(i.tagName.toLowerCase())-t.indexOf(n.tagName.toLowerCase())).forEach(i=>{let n=i.innerHTML;n=n.replaceAll(/\$\{config\.(title|description|enumNames)\.([^}]+)\}/g,(m,a,c)=>e.config[a]&&typeof e.config[a]=="object"&&c in e.config[a]?e.config[a][c]:m),i.innerHTML!==n&&(i.innerHTML=n)})}function d(e){let t=Array.from(window.parent.document.querySelectorAll("fieldset legend"));for(let o of t){let n=o.closest("fieldset")?.querySelector('input[type="text"][name="name"]');n&&o.textContent!==(n.value||e.config.title.accessory)&&(o.textContent=n.value!==""?n.value:e.config.title.accessory),n&&!n.dataset.accessoryNameListener&&(n.addEventListener("input",()=>d(e)),n.dataset.accessoryNameListener="true")}}function f(){if(typeof crypto<"u"){if(crypto.randomUUID)return crypto.randomUUID();if(crypto.getRandomValues)return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=crypto.getRandomValues(new Uint8Array(1))[0]&15;return(e==="x"?t:t&3|8).toString(16)})}return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}async function x(e){let t=!1;e.forEach(o=>{o.accessories?.forEach(i=>{i.id===void 0&&(i.id=f(),t=!0)})}),t&&await homebridge.updatePluginConfig(e)}async function y(e){let t=!1;e.forEach(o=>{o.accessories?.forEach(i=>{let n=i.sensor;typeof n=="string"&&(i.sensor={type:n},t=!0)})}),t&&await homebridge.updatePluginConfig(e)}function s(e){document.getElementById("intro").style.display="none",document.getElementById("migration").style.display="none",document.getElementById("support").style.display="block",new MutationObserver(()=>{u(e),d(e)}).observe(window.parent.document.body,{childList:!0,subtree:!0}),homebridge.showSchemaForm(),homebridge.addEventListener("configChanged",async o=>{let i=o.data;await x(i)}),homebridge.enableSaveButton(),homebridge.hideSpinner()}function p(e){document.getElementById("header").style.display="none",document.getElementById("intro").style.display="none",document.getElementById("migration").style.display="block",document.getElementById("skipMigration").addEventListener("click",async()=>{await homebridge.updatePluginConfig([{name:r}]),await homebridge.savePluginConfig(),s(e)}),document.getElementById("doMigration").addEventListener("click",async()=>{await homebridge.updatePluginConfig([{name:r,migrationNeeded:!0}]),await homebridge.savePluginConfig(),homebridge.closeSettings(),homebridge.toast.info(e.config.migrationRestartDescription.replace("%s",r),e.config.migrationRestartTitle)})}function h(e){homebridge.disableSaveButton(),document.getElementById("showSettings").addEventListener("click",async()=>{await homebridge.updatePluginConfig([{name:r}]),s(e)}),document.getElementById("showMigration").addEventListener("click",()=>{p(e)}),document.getElementById("intro").style.display="block",homebridge.hideSpinner()}(async()=>{homebridge.showSpinner();let e=await homebridge.i18nCurrentLang(),t=await homebridge.request("i18n",e);g(t);let o=await homebridge.getPluginConfig();o.length?(await y(o),s(t)):h(t)})();})();
package/dist/i18n/en.d.ts CHANGED
@@ -2,6 +2,7 @@ declare const en: {
2
2
  accessory: {
3
3
  invalidCron: string;
4
4
  missingRequired: string;
5
+ badValueType: string;
5
6
  command: {
6
7
  executed: string;
7
8
  error: string;
@@ -22,15 +23,25 @@ declare const en: {
22
23
  closed: string;
23
24
  open: string;
24
25
  };
26
+ thermostat: {
27
+ auto: string;
28
+ cool: string;
29
+ heat: string;
30
+ off: string;
31
+ temperatureC: string;
32
+ temperatureF: string;
33
+ unsupportedFunction: string;
34
+ };
25
35
  timer: {
26
36
  cancel: string;
27
- reset: string;
37
+ setMilliseconds: string;
28
38
  setSeconds: string;
29
39
  setMinutes: string;
30
40
  setHours: string;
31
41
  };
32
- trigger: {
42
+ schedule: {
33
43
  cron: string;
44
+ intervalMilliseconds: string;
34
45
  intervalSeconds: string;
35
46
  intervalMinutes: string;
36
47
  intervalHours: string;
@@ -53,16 +64,22 @@ declare const en: {
53
64
  commands: string;
54
65
  cron: string;
55
66
  random: string;
67
+ timerControlled: string;
56
68
  timer: string;
57
- trigger: string;
69
+ schedule: string;
58
70
  };
59
71
  enumNames: {
72
+ auto: string;
60
73
  carbonDioxideSensor: string;
61
74
  carbonMonoxideSensor: string;
75
+ celsius: string;
62
76
  closed: string;
63
77
  contactSensor: string;
78
+ cool: string;
64
79
  cron: string;
65
80
  door: string;
81
+ fahrenheit: string;
82
+ heat: string;
66
83
  hours: string;
67
84
  interval: string;
68
85
  leakSensor: string;
@@ -73,12 +90,14 @@ declare const en: {
73
90
  on: string;
74
91
  open: string;
75
92
  outlet: string;
93
+ milliseconds: string;
76
94
  minutes: string;
77
95
  motionSensor: string;
78
96
  seconds: string;
79
97
  secured: string;
80
98
  smokeSensor: string;
81
99
  switch: string;
100
+ thermostat: string;
82
101
  unsecured: string;
83
102
  window: string;
84
103
  windowCovering: string;
@@ -92,10 +111,12 @@ declare const en: {
92
111
  commandOpen: string;
93
112
  commandLock: string;
94
113
  commandUnlock: string;
114
+ commandTemperature: string;
95
115
  cron: string;
96
116
  defaultBrightness: string;
97
117
  defaultPosition: string;
98
118
  defaultState: string;
119
+ defaultTemperature: string;
99
120
  delay: string;
100
121
  disableLogging: string;
101
122
  groupName: string;
@@ -103,7 +124,8 @@ declare const en: {
103
124
  name: string;
104
125
  resetOnRestart: string;
105
126
  timer: string;
106
- trigger: string;
127
+ timerControlled: string;
128
+ schedule: string;
107
129
  sensor: string;
108
130
  type: string;
109
131
  units: string;
package/dist/i18n/en.js CHANGED
@@ -2,13 +2,14 @@ const en = {
2
2
  accessory: {
3
3
  invalidCron: '%s has an invalid cron expression %s', // accessory name, cron string
4
4
  missingRequired: '%s is missing required config variable %s', // accessory name, variable name
5
+ badValueType: '%s expected type %s but was %s', // accessory name, variable type, variable type
5
6
  command: {
6
7
  executed: '%s executed command', // accessory name
7
8
  error: '%s failed to execute command', // accessory name
8
9
  },
9
10
  lightbulb: {
10
- brightness: '%s brightness is %s', // accessory name, number
11
- stateOn: '%s is on %s%', // accessory name, number
11
+ brightness: '%s brightness is %s%', // accessory name, number
12
+ stateOn: '%s is on, brightness is %s%', // accessory name, number
12
13
  },
13
14
  lock: {
14
15
  secured: '%s is locked', // accessory name
@@ -22,18 +23,28 @@ const en = {
22
23
  closed: '%s is closed', // accessory name
23
24
  open: '%s is open', // accessory name
24
25
  },
26
+ thermostat: {
27
+ auto: '%s set to Auto', // accessory name
28
+ cool: '%s set to Cool', // accessory name
29
+ heat: '%s set to Heat', // accessory name
30
+ off: '%s set to Off', // accessory name
31
+ temperatureC: '%s set to %s°C', // accessory name, number
32
+ temperatureF: '%s set to %s°F', // accessory name, number
33
+ unsupportedFunction: '%s is unsupported for thermostats', // function name
34
+ },
25
35
  timer: {
26
36
  cancel: 'Cancelled the timer for %s', // accessory name
27
- reset: 'Reset the timer for %s', // accessory name
37
+ setMilliseconds: '%s is waiting %s milliseconds', // accessory name, number
28
38
  setSeconds: '%s is waiting %s seconds', // accessory name, number
29
39
  setMinutes: '%s is waiting %s minutes', // accessory name, number
30
40
  setHours: '%s is waiting %s hours', // accessory name, number
31
41
  },
32
- trigger: {
33
- cron: '%s starting trigger cronjob', // accessory name
34
- intervalSeconds: '%s will trigger in %s seconds', // accessory name, number
35
- intervalMinutes: '%s will trigger in %s minutes', // accessory name, number
36
- intervalHours: '%s will trigger in %s hours', // accessory name, number
42
+ schedule: {
43
+ cron: '%s starting schedule cronjob', // accessory name
44
+ intervalMilliseconds: '%s will schedule in %s milliseconds', // accessory name, number
45
+ intervalSeconds: '%s will schedule in %s seconds', // accessory name, number
46
+ intervalMinutes: '%s will schedule in %s minutes', // accessory name, number
47
+ intervalHours: '%s will schedule in %s hours', // accessory name, number
37
48
  },
38
49
  },
39
50
  config: {
@@ -50,19 +61,25 @@ const en = {
50
61
  yes: 'Yes',
51
62
  no: 'No',
52
63
  description: {
53
- commands: 'Execute arbitrary commands when the accessory changes state',
64
+ commands: 'Execute arbitrary commands (e.g. curl) when the accessory changes state',
54
65
  cron: 'Visit crontab.guru for help',
55
66
  random: 'Time will be randomized with the above value as a maximum',
67
+ timerControlled: 'Instead of mirroring accessory, sensor will be activated when accessory auto-resets',
56
68
  timer: 'Return the accessory to its default value after the specified delay',
57
- trigger: 'Set the accessory to its opposite (non-default) value at specified interval or times',
69
+ schedule: 'Set the accessory to its opposite (non-default) value at specified interval or times',
58
70
  },
59
71
  enumNames: {
72
+ auto: 'Auto',
60
73
  carbonDioxideSensor: 'Carbon Dioxide',
61
74
  carbonMonoxideSensor: 'Carbon Monoxide',
75
+ celsius: '°C',
62
76
  closed: 'Closed',
63
77
  contactSensor: 'Contact',
78
+ cool: 'Cool',
64
79
  cron: 'Cron',
65
80
  door: 'Door',
81
+ fahrenheit: '°F',
82
+ heat: 'Heat',
66
83
  hours: 'Hours',
67
84
  interval: 'Interval',
68
85
  leakSensor: 'Leak',
@@ -73,12 +90,14 @@ const en = {
73
90
  on: 'On',
74
91
  open: 'Open',
75
92
  outlet: 'Outlet',
93
+ milliseconds: 'Milliseconds',
76
94
  minutes: 'Minutes',
77
95
  motionSensor: 'Motion',
78
96
  seconds: 'Seconds',
79
97
  secured: 'Locked',
80
98
  smokeSensor: 'Smoke',
81
99
  switch: 'Switch',
100
+ thermostat: 'Thermostat',
82
101
  unsecured: 'Unlocked',
83
102
  window: 'Window',
84
103
  windowCovering: 'Window Convering (Blinds)',
@@ -92,18 +111,21 @@ const en = {
92
111
  commandOpen: 'Open Command',
93
112
  commandLock: 'Lock Command',
94
113
  commandUnlock: 'Unlock Command',
114
+ commandTemperature: 'Temperature Changed Command',
95
115
  cron: 'Cron',
96
116
  defaultBrightness: 'Default Brightness',
97
117
  defaultPosition: 'Default Position',
98
118
  defaultState: 'Default State',
119
+ defaultTemperature: 'Default Temperature',
99
120
  delay: 'Delay',
100
121
  disableLogging: 'Disable Logging',
101
122
  groupName: 'Group Name (Beta)',
102
123
  interval: 'Interval',
103
124
  name: 'Name',
104
125
  resetOnRestart: 'Reset on Restart',
105
- timer: 'Auto-Reset',
106
- trigger: 'Auto-Trigger',
126
+ timer: 'Auto-Reset Timer',
127
+ timerControlled: 'Activate Sensor on Auto-Reset',
128
+ schedule: 'Schedule',
107
129
  sensor: 'Attach Sensor',
108
130
  type: 'Type',
109
131
  units: 'Units',
@@ -1 +1 @@
1
- {"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAAA,MAAM,EAAE,GAAG;IAET,SAAS,EAAE;QAET,WAAW,EAAE,sCAAsC,EAAE,8BAA8B;QACnF,eAAe,EAAE,2CAA2C,EAAE,gCAAgC;QAC9F,YAAY,EAAE,gCAAgC,EAAE,+CAA+C;QAE/F,OAAO,EAAE;YACP,QAAQ,EAAE,qBAAqB,EAAE,iBAAiB;YAClD,KAAK,EAAE,8BAA8B,EAAE,iBAAiB;SACzD;QAED,SAAS,EAAE;YACT,UAAU,EAAE,sBAAsB,EAAE,yBAAyB;YAC7D,OAAO,EAAE,6BAA6B,EAAE,yBAAyB;SAClE;QAED,IAAI,EAAE;YACJ,OAAO,EAAE,cAAc,EAAE,iBAAiB;YAC1C,SAAS,EAAE,gBAAgB,EAAE,iBAAiB;SAC/C;QAED,KAAK,EAAE;YACL,OAAO,EAAE,UAAU,EAAE,iBAAiB;YACtC,QAAQ,EAAE,WAAW,EAAE,iBAAiB;SACzC;QAED,QAAQ,EAAE;YACR,MAAM,EAAE,cAAc,EAAE,iBAAiB;YACzC,IAAI,EAAE,YAAY,EAAE,iBAAiB;SACtC;QAED,UAAU,EAAE;YACV,IAAI,EAAE,gBAAgB,EAAE,iBAAiB;YACzC,IAAI,EAAE,gBAAgB,EAAE,iBAAiB;YACzC,IAAI,EAAE,gBAAgB,EAAE,iBAAiB;YACzC,GAAG,EAAE,eAAe,EAAE,iBAAiB;YACvC,YAAY,EAAE,gBAAgB,EAAE,yBAAyB;YACzD,YAAY,EAAE,gBAAgB,EAAE,yBAAyB;YACzD,mBAAmB,EAAE,mCAAmC,EAAE,gBAAgB;SAC3E;QAED,KAAK,EAAE;YACL,MAAM,EAAE,4BAA4B,EAAE,iBAAiB;YACvD,eAAe,EAAE,+BAA+B,EAAE,yBAAyB;YAC3E,UAAU,EAAE,0BAA0B,EAAE,yBAAyB;YACjE,UAAU,EAAE,0BAA0B,EAAG,yBAAyB;YAClE,QAAQ,EAAE,wBAAwB,EAAE,yBAAyB;SAC9D;QAED,QAAQ,EAAE;YACR,IAAI,EAAE,8BAA8B,EAAE,iBAAiB;YACvD,oBAAoB,EAAE,qCAAqC,EAAE,yBAAyB;YACtF,eAAe,EAAE,gCAAgC,EAAE,yBAAyB;YAC5E,eAAe,EAAE,gCAAgC,EAAE,yBAAyB;YAC5E,aAAa,EAAE,8BAA8B,EAAE,yBAAyB;SACzE;KACF;IAED,MAAM,EAAE;QACN,OAAO,EAAE,4CAA4C;QACrD,iBAAiB,EAAE,mFAAmF,EAAE,cAAc;QACtH,iBAAiB,EAAE,+EAA+E;QAClG,iBAAiB,EAAE,8GAA8G,EAAE,cAAc;QACjJ,iBAAiB,EAAE,kDAAkD;QACrE,iBAAiB,EAAE,mCAAmC,EAAE,MAAM;QAC9D,qBAAqB,EAAE,oBAAoB;QAC3C,2BAA2B,EAAE,iDAAiD,EAAE,cAAc;QAC9F,OAAO,EAAE,+CAA+C,EAAE,MAAM;QAChE,QAAQ,EAAE,6BAA6B,EAAE,cAAc;QACvD,GAAG,EAAE,KAAK;QACV,EAAE,EAAE,IAAI;QAER,WAAW,EAAE;YACX,QAAQ,EAAE,yEAAyE;YACnF,IAAI,EAAE,6BAA6B;YACnC,MAAM,EAAE,2DAA2D;YACnE,eAAe,EAAE,qFAAqF;YACtG,KAAK,EAAE,qEAAqE;YAC5E,QAAQ,EAAE,sFAAsF;SACjG;QAED,SAAS,EAAE;YACT,IAAI,EAAE,MAAM;YACZ,mBAAmB,EAAC,gBAAgB;YACpC,oBAAoB,EAAE,iBAAiB;YACvC,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,SAAS;YACxB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,UAAU;YACpB,UAAU,EAAE,MAAM;YAClB,SAAS,EAAE,WAAW;YACtB,aAAa,EAAE,MAAM;YACrB,GAAG,EAAE,KAAK;YACV,eAAe,EAAE,WAAW;YAC5B,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,cAAc;YAC5B,OAAO,EAAE,SAAS;YAClB,YAAY,EAAE,QAAQ;YACtB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,QAAQ;YACjB,WAAW,EAAE,OAAO;YACpB,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,YAAY;YACxB,SAAS,EAAE,UAAU;YACrB,MAAM,EAAE,QAAQ;YAChB,cAAc,EAAE,2BAA2B;SAC5C;QAED,KAAK,EAAE;YACL,SAAS,EAAE,WAAW;YACtB,QAAQ,EAAE,UAAU;YACpB,YAAY,EAAE,eAAe;YAC7B,SAAS,EAAE,YAAY;YACvB,UAAU,EAAE,aAAa;YACzB,WAAW,EAAE,cAAc;YAC3B,WAAW,EAAE,cAAc;YAC3B,aAAa,EAAE,gBAAgB;YAC/B,kBAAkB,EAAE,6BAA6B;YACjD,IAAI,EAAE,MAAM;YACZ,iBAAiB,EAAE,oBAAoB;YACvC,eAAe,EAAE,kBAAkB;YACnC,YAAY,EAAE,eAAe;YAC7B,kBAAkB,EAAE,qBAAqB;YACzC,KAAK,EAAE,OAAO;YACd,cAAc,EAAE,iBAAiB;YACjC,SAAS,EAAE,mBAAmB;YAC9B,QAAQ,EAAE,UAAU;YACpB,IAAI,EAAE,MAAM;YACZ,cAAc,EAAE,kBAAkB;YAClC,KAAK,EAAE,kBAAkB;YACzB,eAAe,EAAE,+BAA+B;YAChD,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,eAAe;YACvB,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,WAAW;SACpB;KACF;IAED,MAAM,EAAE;QAEN,aAAa,EAAE;YACb,MAAM,EAAE,4BAA4B,EAAE,iBAAiB;YACvD,QAAQ,EAAE,qCAAqC,EAAE,iBAAiB;SACnE;QAED,cAAc,EAAE;YACd,MAAM,EAAE,6BAA6B,EAAE,iBAAiB;YACxD,QAAQ,EAAE,sCAAsC,EAAE,iBAAiB;SACpE;QAED,OAAO,EAAE;YACP,MAAM,EAAE,qBAAqB,EAAE,iBAAiB;YAChD,QAAQ,EAAE,8BAA8B,EAAE,iBAAiB;SAC5D;QAED,IAAI,EAAE;YACJ,MAAM,EAAE,oBAAoB,EAAE,iBAAiB;YAC/C,QAAQ,EAAE,4BAA4B,EAAE,iBAAiB;SAC1D;QAED,MAAM,EAAE;YACN,MAAM,EAAE,oBAAoB,EAAE,iBAAiB;YAC/C,QAAQ,EAAE,6BAA6B,EAAE,iBAAiB;SAC3D;QAED,SAAS,EAAE;YACT,MAAM,EAAE,uBAAuB,EAAE,iBAAiB;YAClD,QAAQ,EAAE,gCAAgC,EAAE,iBAAiB;SAC9D;QAED,KAAK,EAAE;YACL,MAAM,EAAE,mBAAmB,EAAE,iBAAiB;YAC9C,QAAQ,EAAE,4BAA4B,EAAE,iBAAiB;SAC1D;KACF;IAED,OAAO,EAAE;QACP,eAAe,EAAE,iFAAiF;QAClG,iBAAiB,EAAE,uCAAuC,EAAE,SAAS;QACrE,sBAAsB,EAAE,2CAA2C;QACnE,eAAe,EAAE,kHAAkH;QACnI,eAAe,EAAE,0DAA0D;QAC3E,eAAe,EAAE,+FAA+F;QAChH,YAAY,EAAE,uBAAuB;QACrC,eAAe,EAAE,qBAAqB;QACtC,kBAAkB,EAAE,sBAAsB;QAC1C,aAAa,EAAE,kBAAkB;QACjC,eAAe,EAAE,+BAA+B,EAAE,iBAAiB;QACnE,OAAO,EAAE;YACP,4GAA4G;YAC5G,8EAA8E;YAC9E,4EAA4E;YAC5E,qHAAqH;SACtH;KACF;CACF,CAAC;AAEF,eAAe,EAAE,CAAC"}
@@ -11,6 +11,7 @@ declare const translations: {
11
11
  accessory: {
12
12
  invalidCron: string;
13
13
  missingRequired: string;
14
+ badValueType: string;
14
15
  command: {
15
16
  executed: string;
16
17
  error: string;
@@ -31,15 +32,25 @@ declare const translations: {
31
32
  closed: string;
32
33
  open: string;
33
34
  };
35
+ thermostat: {
36
+ auto: string;
37
+ cool: string;
38
+ heat: string;
39
+ off: string;
40
+ temperatureC: string;
41
+ temperatureF: string;
42
+ unsupportedFunction: string;
43
+ };
34
44
  timer: {
35
45
  cancel: string;
36
- reset: string;
46
+ setMilliseconds: string;
37
47
  setSeconds: string;
38
48
  setMinutes: string;
39
49
  setHours: string;
40
50
  };
41
- trigger: {
51
+ schedule: {
42
52
  cron: string;
53
+ intervalMilliseconds: string;
43
54
  intervalSeconds: string;
44
55
  intervalMinutes: string;
45
56
  intervalHours: string;
@@ -62,16 +73,22 @@ declare const translations: {
62
73
  commands: string;
63
74
  cron: string;
64
75
  random: string;
76
+ timerControlled: string;
65
77
  timer: string;
66
- trigger: string;
78
+ schedule: string;
67
79
  };
68
80
  enumNames: {
81
+ auto: string;
69
82
  carbonDioxideSensor: string;
70
83
  carbonMonoxideSensor: string;
84
+ celsius: string;
71
85
  closed: string;
72
86
  contactSensor: string;
87
+ cool: string;
73
88
  cron: string;
74
89
  door: string;
90
+ fahrenheit: string;
91
+ heat: string;
75
92
  hours: string;
76
93
  interval: string;
77
94
  leakSensor: string;
@@ -82,12 +99,14 @@ declare const translations: {
82
99
  on: string;
83
100
  open: string;
84
101
  outlet: string;
102
+ milliseconds: string;
85
103
  minutes: string;
86
104
  motionSensor: string;
87
105
  seconds: string;
88
106
  secured: string;
89
107
  smokeSensor: string;
90
108
  switch: string;
109
+ thermostat: string;
91
110
  unsecured: string;
92
111
  window: string;
93
112
  windowCovering: string;
@@ -101,10 +120,12 @@ declare const translations: {
101
120
  commandOpen: string;
102
121
  commandLock: string;
103
122
  commandUnlock: string;
123
+ commandTemperature: string;
104
124
  cron: string;
105
125
  defaultBrightness: string;
106
126
  defaultPosition: string;
107
127
  defaultState: string;
128
+ defaultTemperature: string;
108
129
  delay: string;
109
130
  disableLogging: string;
110
131
  groupName: string;
@@ -112,7 +133,8 @@ declare const translations: {
112
133
  name: string;
113
134
  resetOnRestart: string;
114
135
  timer: string;
115
- trigger: string;
136
+ timerControlled: string;
137
+ schedule: string;
116
138
  sensor: string;
117
139
  type: string;
118
140
  units: string;
@@ -2,6 +2,7 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
2
2
  accessory: {
3
3
  invalidCron: string;
4
4
  missingRequired: string;
5
+ badValueType: string;
5
6
  command: {
6
7
  executed: string;
7
8
  error: string;
@@ -22,15 +23,25 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
22
23
  closed: string;
23
24
  open: string;
24
25
  };
26
+ thermostat: {
27
+ auto: string;
28
+ cool: string;
29
+ heat: string;
30
+ off: string;
31
+ temperatureC: string;
32
+ temperatureF: string;
33
+ unsupportedFunction: string;
34
+ };
25
35
  timer: {
26
36
  cancel: string;
27
- reset: string;
37
+ setMilliseconds: string;
28
38
  setSeconds: string;
29
39
  setMinutes: string;
30
40
  setHours: string;
31
41
  };
32
- trigger: {
42
+ schedule: {
33
43
  cron: string;
44
+ intervalMilliseconds: string;
34
45
  intervalSeconds: string;
35
46
  intervalMinutes: string;
36
47
  intervalHours: string;
@@ -53,16 +64,22 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
53
64
  commands: string;
54
65
  cron: string;
55
66
  random: string;
67
+ timerControlled: string;
56
68
  timer: string;
57
- trigger: string;
69
+ schedule: string;
58
70
  };
59
71
  enumNames: {
72
+ auto: string;
60
73
  carbonDioxideSensor: string;
61
74
  carbonMonoxideSensor: string;
75
+ celsius: string;
62
76
  closed: string;
63
77
  contactSensor: string;
78
+ cool: string;
64
79
  cron: string;
65
80
  door: string;
81
+ fahrenheit: string;
82
+ heat: string;
66
83
  hours: string;
67
84
  interval: string;
68
85
  leakSensor: string;
@@ -73,12 +90,14 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
73
90
  on: string;
74
91
  open: string;
75
92
  outlet: string;
93
+ milliseconds: string;
76
94
  minutes: string;
77
95
  motionSensor: string;
78
96
  seconds: string;
79
97
  secured: string;
80
98
  smokeSensor: string;
81
99
  switch: string;
100
+ thermostat: string;
82
101
  unsecured: string;
83
102
  window: string;
84
103
  windowCovering: string;
@@ -92,10 +111,12 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
92
111
  commandOpen: string;
93
112
  commandLock: string;
94
113
  commandUnlock: string;
114
+ commandTemperature: string;
95
115
  cron: string;
96
116
  defaultBrightness: string;
97
117
  defaultPosition: string;
98
118
  defaultState: string;
119
+ defaultTemperature: string;
99
120
  delay: string;
100
121
  disableLogging: string;
101
122
  groupName: string;
@@ -103,7 +124,8 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
103
124
  name: string;
104
125
  resetOnRestart: string;
105
126
  timer: string;
106
- trigger: string;
127
+ timerControlled: string;
128
+ schedule: string;
107
129
  sensor: string;
108
130
  type: string;
109
131
  units: string;
package/dist/i18n/zz.d.ts CHANGED
@@ -2,6 +2,7 @@ declare const zz: {
2
2
  accessory: {
3
3
  invalidCron: string;
4
4
  missingRequired: string;
5
+ badValueType: string;
5
6
  command: {
6
7
  executed: string;
7
8
  error: string;
@@ -22,15 +23,25 @@ declare const zz: {
22
23
  closed: string;
23
24
  open: string;
24
25
  };
26
+ thermostat: {
27
+ auto: string;
28
+ cool: string;
29
+ heat: string;
30
+ off: string;
31
+ temperatureC: string;
32
+ temperatureF: string;
33
+ unsupportedFunction: string;
34
+ };
25
35
  timer: {
26
36
  cancel: string;
27
- reset: string;
37
+ setMilliseconds: string;
28
38
  setSeconds: string;
29
39
  setMinutes: string;
30
40
  setHours: string;
31
41
  };
32
- trigger: {
42
+ schedule: {
33
43
  cron: string;
44
+ intervalMilliseconds: string;
34
45
  intervalSeconds: string;
35
46
  intervalMinutes: string;
36
47
  intervalHours: string;
@@ -53,16 +64,22 @@ declare const zz: {
53
64
  commands: string;
54
65
  cron: string;
55
66
  random: string;
67
+ timerControlled: string;
56
68
  timer: string;
57
- trigger: string;
69
+ schedule: string;
58
70
  };
59
71
  enumNames: {
72
+ auto: string;
60
73
  carbonDioxideSensor: string;
61
74
  carbonMonoxideSensor: string;
75
+ celsius: string;
62
76
  closed: string;
63
77
  contactSensor: string;
78
+ cool: string;
64
79
  cron: string;
65
80
  door: string;
81
+ fahrenheit: string;
82
+ heat: string;
66
83
  hours: string;
67
84
  interval: string;
68
85
  leakSensor: string;
@@ -73,12 +90,14 @@ declare const zz: {
73
90
  on: string;
74
91
  open: string;
75
92
  outlet: string;
93
+ milliseconds: string;
76
94
  minutes: string;
77
95
  motionSensor: string;
78
96
  seconds: string;
79
97
  secured: string;
80
98
  smokeSensor: string;
81
99
  switch: string;
100
+ thermostat: string;
82
101
  unsecured: string;
83
102
  window: string;
84
103
  windowCovering: string;
@@ -92,10 +111,12 @@ declare const zz: {
92
111
  commandOpen: string;
93
112
  commandLock: string;
94
113
  commandUnlock: string;
114
+ commandTemperature: string;
95
115
  cron: string;
96
116
  defaultBrightness: string;
97
117
  defaultPosition: string;
98
118
  defaultState: string;
119
+ defaultTemperature: string;
99
120
  delay: string;
100
121
  disableLogging: string;
101
122
  groupName: string;
@@ -103,7 +124,8 @@ declare const zz: {
103
124
  name: string;
104
125
  resetOnRestart: string;
105
126
  timer: string;
106
- trigger: string;
127
+ timerControlled: string;
128
+ schedule: string;
107
129
  sensor: string;
108
130
  type: string;
109
131
  units: string;
@@ -7,6 +7,7 @@ export declare enum AccessoryType {
7
7
  LockMechanism = "LockMechanism",
8
8
  Outlet = "Outlet",
9
9
  Switch = "Switch",
10
+ Thermostat = "Thermostat",
10
11
  Window = "Window",
11
12
  WindowCovering = "WindowCovering"
12
13
  }
@@ -36,6 +37,12 @@ export declare enum DefaultPosition {
36
37
  OPEN = "open",
37
38
  CLOSED = "closed"
38
39
  }
40
+ export declare enum DefaultThermostatState {
41
+ OFF = "off",
42
+ COOL = "cool",
43
+ HEAT = "heat",
44
+ AUTO = "auto"
45
+ }
39
46
  export type LegacyAccessoryConfig = AccessoryConfig & {
40
47
  name: string;
41
48
  dimmer?: boolean;
@@ -52,40 +59,49 @@ export type DummyPlatformConfig = PlatformConfig & {
52
59
  migrationNeeded?: boolean;
53
60
  };
54
61
  export declare enum TimeUnits {
62
+ MILLISECONDS = "MILLISECONDS",
55
63
  SECONDS = "SECONDS",
56
64
  MINUTES = "MINUTES",
57
65
  HOURS = "HOURS"
58
66
  }
59
- export declare enum TriggerType {
67
+ export declare enum ScheduleType {
60
68
  INTERVAL = "INTERVAL",
61
69
  CRON = "CRON"
62
70
  }
71
+ export declare enum TemperatureUnits {
72
+ CELSIUS = "C",
73
+ FAHRENHEIT = "F"
74
+ }
63
75
  export type Assertable = {};
76
+ export type ScheduleConfig = Assertable & {
77
+ type: ScheduleType;
78
+ interval?: number;
79
+ units?: TimeUnits;
80
+ random?: boolean;
81
+ cron?: string;
82
+ };
64
83
  export type TimerConfig = Assertable & {
65
84
  delay: number;
66
85
  units: TimeUnits;
67
86
  random?: boolean;
68
87
  };
69
- export type TriggerConfig = Assertable & {
70
- type: TriggerType;
71
- interval?: number;
72
- units?: TimeUnits;
73
- random?: boolean;
74
- cron?: string;
88
+ export type SensorConfig = Assertable & {
89
+ type: SensorType;
90
+ timerControlled?: boolean;
75
91
  };
76
92
  export type DummyConfig = {
77
93
  id: string;
78
94
  name: string;
79
95
  type: AccessoryType;
80
96
  groupName?: string;
97
+ sensor?: SensorType | SensorConfig;
81
98
  timer?: TimerConfig;
82
- trigger?: TriggerConfig;
99
+ schedule?: ScheduleConfig;
83
100
  resetOnRestart?: boolean;
84
101
  disableLogging?: boolean;
85
102
  };
86
103
  export type OnOffConfig = DummyConfig & {
87
104
  defaultOn?: CharacteristicValue;
88
- sensor?: SensorType;
89
105
  commandOn?: string;
90
106
  commandOff?: string;
91
107
  };
@@ -99,6 +115,14 @@ export type LockConfig = DummyConfig & {
99
115
  commandLock?: string;
100
116
  commandUnlock?: string;
101
117
  };
118
+ export type ThermostatConfig = DummyConfig & {
119
+ temperatureUnits?: TemperatureUnits;
120
+ defaultThermostatState?: DefaultThermostatState;
121
+ defaultTemperature?: number;
122
+ commandOn?: string;
123
+ commandOff?: string;
124
+ commandTemperature?: string;
125
+ };
102
126
  export type PositionConfig = DummyConfig & {
103
127
  defaultPosition?: DefaultPosition;
104
128
  commandOpen?: string;