iobroker.loxone 3.0.1 → 4.0.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 (185) hide show
  1. package/LICENSE +183 -183
  2. package/README.md +417 -411
  3. package/admin/i18n/de.json +15 -0
  4. package/admin/i18n/en.json +15 -0
  5. package/admin/i18n/es.json +18 -0
  6. package/admin/i18n/fr.json +18 -0
  7. package/admin/i18n/it.json +18 -0
  8. package/admin/i18n/nl.json +18 -0
  9. package/admin/i18n/pl.json +18 -0
  10. package/admin/i18n/pt.json +18 -0
  11. package/admin/i18n/ru.json +18 -0
  12. package/admin/i18n/uk.json +18 -0
  13. package/admin/i18n/zh-cn.json +18 -0
  14. package/admin/jsonConfig.json +96 -0
  15. package/io-package.json +49 -38
  16. package/package.json +36 -49
  17. package/src/controls/AalEmergency.ts +90 -0
  18. package/src/controls/AalSmartAlarm.ts +99 -0
  19. package/src/controls/Alarm.ts +146 -0
  20. package/src/controls/AlarmClock.ts +137 -0
  21. package/src/controls/Application.ts +13 -0
  22. package/src/controls/AudioZone.ts +227 -0
  23. package/src/controls/AudioZoneV2.ts +135 -0
  24. package/src/controls/CentralAlarm.ts +59 -0
  25. package/src/controls/CentralAudioZone.ts +41 -0
  26. package/src/controls/CentralGate.ts +53 -0
  27. package/src/controls/CentralJalousie.ts +67 -0
  28. package/src/controls/CentralLightController.ts +45 -0
  29. package/src/controls/ColorPickerV2.ts +34 -0
  30. package/src/controls/Colorpicker.ts +30 -0
  31. package/src/controls/ColorpickerBase.ts +326 -0
  32. package/src/controls/Daytimer.ts +201 -0
  33. package/src/controls/Dimmer.ts +64 -0
  34. package/src/controls/EIBDimmer.ts +61 -0
  35. package/src/controls/Fronius.ts +217 -0
  36. package/src/controls/Gate.ts +150 -0
  37. package/src/controls/Hourcounter.ts +115 -0
  38. package/src/controls/IRCDaytimer.ts +4 -0
  39. package/src/controls/IRCV2Daytimer.ts +4 -0
  40. package/src/controls/IRoomControllerV2.ts +595 -0
  41. package/src/controls/InfoOnlyAnalog.ts +56 -0
  42. package/src/controls/InfoOnlyDigital.ts +95 -0
  43. package/src/controls/InfoOnlyText.ts +52 -0
  44. package/{build/controls/Intercom.js → src/controls/Intercom.ts} +27 -11
  45. package/src/controls/Jalousie.ts +219 -0
  46. package/src/controls/LightController.ts +112 -0
  47. package/src/controls/LightControllerV2.ts +246 -0
  48. package/src/controls/MailBox.ts +92 -0
  49. package/src/controls/Meter.ts +94 -0
  50. package/src/controls/None.ts +29 -0
  51. package/src/controls/PresenceDetector.ts +47 -0
  52. package/src/controls/Pushbutton.ts +55 -0
  53. package/src/controls/Radio.ts +61 -0
  54. package/{build/controls/Remote.js → src/controls/Remote.ts} +19 -11
  55. package/src/controls/Slider.ts +78 -0
  56. package/src/controls/SmokeAlarm.ts +163 -0
  57. package/src/controls/Switch.ts +46 -0
  58. package/src/controls/SystemScheme.ts +13 -0
  59. package/src/controls/TextInput.ts +96 -0
  60. package/src/controls/TextState.ts +37 -0
  61. package/src/controls/TimedSwitch.ts +75 -0
  62. package/src/controls/Tracker.ts +30 -0
  63. package/{build/controls/Unknown.js → src/controls/Unknown.ts} +18 -11
  64. package/src/controls/UpDownAnalog.ts +78 -0
  65. package/{build/controls/ValueSelector.js → src/controls/ValueSelector.ts} +21 -9
  66. package/src/controls/WindowMonitor.ts +139 -0
  67. package/src/controls/all-controls.ts +99 -0
  68. package/src/controls/control-base.ts +28 -0
  69. package/src/lib/adapter-config.d.ts +22 -0
  70. package/src/loxone-handler-base.ts +285 -0
  71. package/src/lxcommunicator.d.ts +1 -0
  72. package/src/main.test.ts +24 -0
  73. package/{build/main.js → src/main.ts} +545 -270
  74. package/src/structure-file.d.ts +154 -0
  75. package/src/weather-server-handler.ts +266 -0
  76. package/admin/admin.d.ts +0 -58
  77. package/admin/index_m.html +0 -126
  78. package/admin/style.css +0 -32
  79. package/admin/words.js +0 -25
  80. package/build/controls/AalEmergency.js +0 -45
  81. package/build/controls/AalEmergency.js.map +0 -1
  82. package/build/controls/AalSmartAlarm.js +0 -48
  83. package/build/controls/AalSmartAlarm.js.map +0 -1
  84. package/build/controls/Alarm.js +0 -81
  85. package/build/controls/Alarm.js.map +0 -1
  86. package/build/controls/AlarmClock.js +0 -59
  87. package/build/controls/AlarmClock.js.map +0 -1
  88. package/build/controls/Application.js +0 -11
  89. package/build/controls/Application.js.map +0 -1
  90. package/build/controls/AudioZone.js +0 -116
  91. package/build/controls/AudioZone.js.map +0 -1
  92. package/build/controls/CentralAlarm.js +0 -30
  93. package/build/controls/CentralAlarm.js.map +0 -1
  94. package/build/controls/CentralAudioZone.js +0 -22
  95. package/build/controls/CentralAudioZone.js.map +0 -1
  96. package/build/controls/CentralGate.js +0 -30
  97. package/build/controls/CentralGate.js.map +0 -1
  98. package/build/controls/CentralJalousie.js +0 -39
  99. package/build/controls/CentralJalousie.js.map +0 -1
  100. package/build/controls/CentralLightController.js +0 -27
  101. package/build/controls/CentralLightController.js.map +0 -1
  102. package/build/controls/ColorPickerV2.js +0 -24
  103. package/build/controls/ColorPickerV2.js.map +0 -1
  104. package/build/controls/Colorpicker.js +0 -20
  105. package/build/controls/Colorpicker.js.map +0 -1
  106. package/build/controls/ColorpickerBase.js +0 -263
  107. package/build/controls/ColorpickerBase.js.map +0 -1
  108. package/build/controls/Daytimer.js +0 -119
  109. package/build/controls/Daytimer.js.map +0 -1
  110. package/build/controls/Dimmer.js +0 -34
  111. package/build/controls/Dimmer.js.map +0 -1
  112. package/build/controls/EIBDimmer.js +0 -31
  113. package/build/controls/EIBDimmer.js.map +0 -1
  114. package/build/controls/Fronius.js +0 -64
  115. package/build/controls/Fronius.js.map +0 -1
  116. package/build/controls/Gate.js +0 -104
  117. package/build/controls/Gate.js.map +0 -1
  118. package/build/controls/Hourcounter.js +0 -46
  119. package/build/controls/Hourcounter.js.map +0 -1
  120. package/build/controls/IRCDaytimer.js +0 -9
  121. package/build/controls/IRCDaytimer.js.map +0 -1
  122. package/build/controls/IRCV2Daytimer.js +0 -9
  123. package/build/controls/IRCV2Daytimer.js.map +0 -1
  124. package/build/controls/IRoomControllerV2.js +0 -371
  125. package/build/controls/IRoomControllerV2.js.map +0 -1
  126. package/build/controls/InfoOnlyAnalog.js +0 -38
  127. package/build/controls/InfoOnlyAnalog.js.map +0 -1
  128. package/build/controls/InfoOnlyDigital.js +0 -65
  129. package/build/controls/InfoOnlyDigital.js.map +0 -1
  130. package/build/controls/InfoOnlyText.js +0 -35
  131. package/build/controls/InfoOnlyText.js.map +0 -1
  132. package/build/controls/Intercom.js.map +0 -1
  133. package/build/controls/Jalousie.js +0 -153
  134. package/build/controls/Jalousie.js.map +0 -1
  135. package/build/controls/LightController.js +0 -68
  136. package/build/controls/LightController.js.map +0 -1
  137. package/build/controls/LightControllerV2.js +0 -195
  138. package/build/controls/LightControllerV2.js.map +0 -1
  139. package/build/controls/MailBox.js +0 -41
  140. package/build/controls/MailBox.js.map +0 -1
  141. package/build/controls/Meter.js +0 -52
  142. package/build/controls/Meter.js.map +0 -1
  143. package/build/controls/None.js +0 -23
  144. package/build/controls/None.js.map +0 -1
  145. package/build/controls/PresenceDetector.js +0 -29
  146. package/build/controls/PresenceDetector.js.map +0 -1
  147. package/build/controls/Pushbutton.js +0 -35
  148. package/build/controls/Pushbutton.js.map +0 -1
  149. package/build/controls/Radio.js +0 -39
  150. package/build/controls/Radio.js.map +0 -1
  151. package/build/controls/Remote.js.map +0 -1
  152. package/build/controls/Slider.js +0 -44
  153. package/build/controls/Slider.js.map +0 -1
  154. package/build/controls/SmokeAlarm.js +0 -85
  155. package/build/controls/SmokeAlarm.js.map +0 -1
  156. package/build/controls/Switch.js +0 -31
  157. package/build/controls/Switch.js.map +0 -1
  158. package/build/controls/SystemScheme.js +0 -11
  159. package/build/controls/SystemScheme.js.map +0 -1
  160. package/build/controls/TextInput.js +0 -55
  161. package/build/controls/TextInput.js.map +0 -1
  162. package/build/controls/TextState.js +0 -20
  163. package/build/controls/TextState.js.map +0 -1
  164. package/build/controls/TimedSwitch.js +0 -36
  165. package/build/controls/TimedSwitch.js.map +0 -1
  166. package/build/controls/Tracker.js +0 -20
  167. package/build/controls/Tracker.js.map +0 -1
  168. package/build/controls/Unknown.js.map +0 -1
  169. package/build/controls/UpDownAnalog.js +0 -44
  170. package/build/controls/UpDownAnalog.js.map +0 -1
  171. package/build/controls/ValueSelector.js.map +0 -1
  172. package/build/controls/WindowMonitor.js +0 -84
  173. package/build/controls/WindowMonitor.js.map +0 -1
  174. package/build/controls/control-base.js +0 -12
  175. package/build/controls/control-base.js.map +0 -1
  176. package/build/loxone-handler-base.js +0 -186
  177. package/build/loxone-handler-base.js.map +0 -1
  178. package/build/main.js.map +0 -1
  179. package/build/weather-server-handler.js +0 -120
  180. package/build/weather-server-handler.js.map +0 -1
  181. package/doc/details-missing-control-type.png +0 -0
  182. package/doc/log-missing-control-type.png +0 -0
  183. package/doc/loxone-config-display-diagnostics.png +0 -0
  184. package/doc/loxone-config-info-only-digital.png +0 -0
  185. package/doc/loxone-config-use-in-visualization.png +0 -0
@@ -1,104 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Gate = void 0;
4
- const control_base_1 = require("./control-base");
5
- class Gate extends control_base_1.ControlBase {
6
- async loadAsync(type, uuid, control) {
7
- await this.updateObjectAsync(uuid, {
8
- type: type,
9
- common: {
10
- name: control.name,
11
- role: 'blind',
12
- },
13
- native: { control },
14
- });
15
- await this.loadOtherControlStatesAsync(control.name, uuid, control.states, [
16
- 'position',
17
- 'active',
18
- 'preventOpen',
19
- 'preventClose',
20
- ]);
21
- const activeStates = {
22
- '-1': 'close',
23
- '0': 'not moving',
24
- '1': 'open',
25
- };
26
- await this.createPercentageControlStateObjectAsync(control.name, uuid, control.states, 'position', 'level', {
27
- write: true,
28
- // TODO: re-add: smartIgnore: false,
29
- });
30
- await this.createSimpleControlStateObjectAsync(control.name, uuid, control.states, 'active', 'number', 'value', { write: true, states: activeStates });
31
- await this.createBooleanControlStateObjectAsync(control.name, uuid, control.states, 'preventOpen', 'indicator');
32
- await this.createBooleanControlStateObjectAsync(control.name, uuid, control.states, 'preventClose', 'indicator');
33
- this.addStateChangeListener(uuid + '.active', (oldValue, newValue) => {
34
- if (newValue === 1) {
35
- if (oldValue === -1) {
36
- // open twice because we are currently closing
37
- this.sendCommand(control.uuidAction, 'open');
38
- }
39
- this.sendCommand(control.uuidAction, 'open');
40
- }
41
- else if (newValue === -1) {
42
- if (oldValue === 1) {
43
- // close twice because we are currently opening
44
- this.sendCommand(control.uuidAction, 'close');
45
- }
46
- this.sendCommand(control.uuidAction, 'close');
47
- }
48
- else if (newValue === 0) {
49
- if (oldValue === 1) {
50
- this.sendCommand(control.uuidAction, 'close');
51
- }
52
- else if (oldValue === -1) {
53
- this.sendCommand(control.uuidAction, 'open');
54
- }
55
- }
56
- }, { notIfEqual: true, convertToInt: true });
57
- await this.createButtonCommandStateObjectAsync(control.name, uuid, 'open');
58
- this.addStateChangeListener(uuid + '.open', () => {
59
- this.sendCommand(control.uuidAction, 'open');
60
- }, { selfAck: true });
61
- await this.createButtonCommandStateObjectAsync(control.name, uuid, 'close');
62
- this.addStateChangeListener(uuid + '.close', () => {
63
- this.sendCommand(control.uuidAction, 'close');
64
- }, { selfAck: true });
65
- // for Alexa support:
66
- if (control.states.position) {
67
- this.addStateChangeListener(uuid + '.position', (oldValue, newValue) => {
68
- if (typeof oldValue !== 'number' || typeof newValue !== 'number') {
69
- // This should never happen due to convertToInt flag
70
- this.adapter.log.error(`Gate position is not a number`);
71
- return;
72
- }
73
- let targetValue;
74
- let isOpening;
75
- if (oldValue < newValue) {
76
- targetValue = (newValue - 1) / 100;
77
- this.sendCommand(control.uuidAction, 'open');
78
- isOpening = true;
79
- }
80
- else {
81
- targetValue = (newValue + 1) / 100;
82
- this.sendCommand(control.uuidAction, 'close');
83
- isOpening = false;
84
- }
85
- if (newValue === 100 || newValue === 0) {
86
- return;
87
- }
88
- const listenerName = 'auto';
89
- this.addStateEventHandler(control.states.position, async (value) => {
90
- if (isOpening && value >= targetValue) {
91
- this.removeStateEventHandler(control.states.position, listenerName);
92
- this.sendCommand(control.uuidAction, 'close');
93
- }
94
- else if (!isOpening && value <= targetValue) {
95
- this.removeStateEventHandler(control.states.position, listenerName);
96
- this.sendCommand(control.uuidAction, 'open');
97
- }
98
- }, listenerName);
99
- }, { notIfEqual: true, convertToInt: true, minInt: 0, maxInt: 100, ackTimeoutMs: 2500 });
100
- }
101
- }
102
- }
103
- exports.Gate = Gate;
104
- //# sourceMappingURL=Gate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Gate.js","sourceRoot":"","sources":["../../src/controls/Gate.ts"],"names":[],"mappings":"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"}
@@ -1,46 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Hourcounter = void 0;
4
- const control_base_1 = require("./control-base");
5
- class Hourcounter extends control_base_1.ControlBase {
6
- async loadAsync(type, uuid, control) {
7
- await this.updateObjectAsync(uuid, {
8
- type: type,
9
- common: {
10
- name: control.name,
11
- role: 'timer',
12
- },
13
- native: { control },
14
- });
15
- await this.loadOtherControlStatesAsync(control.name, uuid, control.states, [
16
- 'total',
17
- 'remaining',
18
- 'lastActivation',
19
- 'overdue',
20
- 'maintenanceInterval',
21
- 'stateUnit',
22
- 'active',
23
- 'overdueSince',
24
- ]);
25
- // stateUnit is ignored as it is not used by ioBroker (all states are always in seconds)
26
- await this.createSimpleControlStateObjectAsync(control.name, uuid, control.states, 'total', 'number', 'value', {
27
- unit: 'sec',
28
- });
29
- await this.createSimpleControlStateObjectAsync(control.name, uuid, control.states, 'remaining', 'number', 'value', { unit: 'sec' });
30
- await this.createSimpleControlStateObjectAsync(control.name, uuid, control.states, 'lastActivation', 'number', 'value.time');
31
- await this.createBooleanControlStateObjectAsync(control.name, uuid, control.states, 'overdue', 'indicator.maintenance');
32
- await this.createSimpleControlStateObjectAsync(control.name, uuid, control.states, 'maintenanceInterval', 'number', 'value', { unit: 'sec' });
33
- await this.createBooleanControlStateObjectAsync(control.name, uuid, control.states, 'active', 'indicator.working');
34
- await this.createSimpleControlStateObjectAsync(control.name, uuid, control.states, 'overdueSince', 'number', 'value', { unit: 'sec' });
35
- await this.createButtonCommandStateObjectAsync(control.name, uuid, 'reset');
36
- this.addStateChangeListener(uuid + '.reset', () => {
37
- this.sendCommand(control.uuidAction, 'reset');
38
- }, { selfAck: true });
39
- await this.createButtonCommandStateObjectAsync(control.name, uuid, 'resetAll');
40
- this.addStateChangeListener(uuid + '.resetAll', () => {
41
- this.sendCommand(control.uuidAction, 'resetAll');
42
- }, { selfAck: true });
43
- }
44
- }
45
- exports.Hourcounter = Hourcounter;
46
- //# sourceMappingURL=Hourcounter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Hourcounter.js","sourceRoot":"","sources":["../../src/controls/Hourcounter.ts"],"names":[],"mappings":";;;AACA,iDAA0D;AAE1D,MAAa,WAAY,SAAQ,0BAAW;IACxC,KAAK,CAAC,SAAS,CAAC,IAAiB,EAAE,IAAY,EAAE,OAAgB;QAC7D,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE;YAC/B,IAAI,EAAE,IAAI;YACV,MAAM,EAAE;gBACJ,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,OAAO;aAChB;YACD,MAAM,EAAE,EAAE,OAAO,EAAE;SACtB,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE;YACvE,OAAO;YACP,WAAW;YACX,gBAAgB;YAChB,SAAS;YACT,qBAAqB;YACrB,WAAW;YACX,QAAQ;YACR,cAAc;SACjB,CAAC,CAAC;QACH,wFAAwF;QAExF,MAAM,IAAI,CAAC,mCAAmC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE;YAC3G,IAAI,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,mCAAmC,CAC1C,OAAO,CAAC,IAAI,EACZ,IAAI,EACJ,OAAO,CAAC,MAAM,EACd,WAAW,EACX,QAAQ,EACR,OAAO,EACP,EAAE,IAAI,EAAE,KAAK,EAAE,CAClB,CAAC;QAEF,MAAM,IAAI,CAAC,mCAAmC,CAC1C,OAAO,CAAC,IAAI,EACZ,IAAI,EACJ,OAAO,CAAC,MAAM,EACd,gBAAgB,EAChB,QAAQ,EACR,YAAY,CACf,CAAC;QAEF,MAAM,IAAI,CAAC,oCAAoC,CAC3C,OAAO,CAAC,IAAI,EACZ,IAAI,EACJ,OAAO,CAAC,MAAM,EACd,SAAS,EACT,uBAAuB,CAC1B,CAAC;QAEF,MAAM,IAAI,CAAC,mCAAmC,CAC1C,OAAO,CAAC,IAAI,EACZ,IAAI,EACJ,OAAO,CAAC,MAAM,EACd,qBAAqB,EACrB,QAAQ,EACR,OAAO,EACP,EAAE,IAAI,EAAE,KAAK,EAAE,CAClB,CAAC;QAEF,MAAM,IAAI,CAAC,oCAAoC,CAC3C,OAAO,CAAC,IAAI,EACZ,IAAI,EACJ,OAAO,CAAC,MAAM,EACd,QAAQ,EACR,mBAAmB,CACtB,CAAC;QAEF,MAAM,IAAI,CAAC,mCAAmC,CAC1C,OAAO,CAAC,IAAI,EACZ,IAAI,EACJ,OAAO,CAAC,MAAM,EACd,cAAc,EACd,QAAQ,EACR,OAAO,EACP,EAAE,IAAI,EAAE,KAAK,EAAE,CAClB,CAAC;QAEF,MAAM,IAAI,CAAC,mCAAmC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5E,IAAI,CAAC,sBAAsB,CACvB,IAAI,GAAG,QAAQ,EACf,GAAG,EAAE;YACD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAClD,CAAC,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,CACpB,CAAC;QAEF,MAAM,IAAI,CAAC,mCAAmC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAC/E,IAAI,CAAC,sBAAsB,CACvB,IAAI,GAAG,WAAW,EAClB,GAAG,EAAE;YACD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACrD,CAAC,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,CACpB,CAAC;IACN,CAAC;CACJ;AApGD,kCAoGC"}
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IRCDaytimer = void 0;
4
- const Daytimer_1 = require("./Daytimer");
5
- // IRCDaytimer is a Daytimer with a few states less
6
- class IRCDaytimer extends Daytimer_1.Daytimer {
7
- }
8
- exports.IRCDaytimer = IRCDaytimer;
9
- //# sourceMappingURL=IRCDaytimer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IRCDaytimer.js","sourceRoot":"","sources":["../../src/controls/IRCDaytimer.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAEtC,mDAAmD;AACnD,MAAa,WAAY,SAAQ,mBAAQ;CAAG;AAA5C,kCAA4C"}
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IRCV2Daytimer = void 0;
4
- const Daytimer_1 = require("./Daytimer");
5
- // IRCV2Daytimer is a Daytimer with a few states less
6
- class IRCV2Daytimer extends Daytimer_1.Daytimer {
7
- }
8
- exports.IRCV2Daytimer = IRCV2Daytimer;
9
- //# sourceMappingURL=IRCV2Daytimer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IRCV2Daytimer.js","sourceRoot":"","sources":["../../src/controls/IRCV2Daytimer.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAEtC,qDAAqD;AACrD,MAAa,aAAc,SAAQ,mBAAQ;CAAG;AAA9C,sCAA8C"}
@@ -1,371 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IRoomControllerV2 = void 0;
4
- const control_base_1 = require("./control-base");
5
- class IRoomControllerV2 extends control_base_1.ControlBase {
6
- constructor() {
7
- super(...arguments);
8
- this.uuid = '';
9
- }
10
- async loadAsync(type, uuid, control) {
11
- this.uuid = uuid;
12
- await this.updateObjectAsync(uuid, {
13
- type: type,
14
- common: {
15
- name: control.name,
16
- role: 'thermo',
17
- },
18
- native: { control },
19
- });
20
- // TODO: other details not implemented - needed to get temperature unit for example (C/F).
21
- // TODO: connectedInputs has bits for frost/heat protection but no set control for them. Eh?
22
- const comfortTemperatureWrite = control.details.connectedInputs & 1 ? false : true;
23
- const comfortTemperatureCoolWrite = control.details.connectedInputs & 2 ? false : true;
24
- // comfortToleranceWrite marked as deprecated in Loxone doco
25
- const comfortToleranceWrite = control.details.connectedInputs & 4 ? false : true;
26
- const absentMinOffsetWrite = control.details.connectedInputs & 8 ? false : true;
27
- const absentMaxOffsetWrite = control.details.connectedInputs & 16 ? false : true;
28
- const shadingHeatTempWrite = control.details.connectedInputs & 32 ? false : true;
29
- const shadingCoolTempWrite = control.details.connectedInputs & 64 ? false : true;
30
- await this.createSimpleControlStateObjectAsync(control.name, uuid, control.states, 'jLocked', 'string', 'json');
31
- await this.createListControlStateObjectAsync(control.name, uuid, control.states, 'modeList');
32
- await this.createListControlStateObjectAsync(control.name, uuid, control.states, 'overrideEntries');
33
- await this.createSimpleControlStateObjectAsync(control.name, uuid, control.states, 'overrideReason', 'number', 'value', {
34
- states: {
35
- 0: 'None',
36
- 1: 'Presence -> Comfort',
37
- 2: 'Window open -> Eco+',
38
- 3: 'Comfort',
39
- 4: 'Eco',
40
- 5: 'Eco+',
41
- 6: 'Heat Up',
42
- 7: 'Cool Down',
43
- },
44
- });
45
- await this.createSimpleControlStateObjectAsync(control.name, uuid, control.states, 'prepareState', 'number', 'value', {
46
- states: {
47
- '-1': 'Cooling Down',
48
- 0: 'None',
49
- 1: 'Heating Up',
50
- },
51
- });
52
- await this.createBooleanControlStateObjectAsync(control.name, uuid, control.states, 'openWindow', 'indicator');
53
- await this.createBooleanControlStateObjectAsync(control.name, uuid, control.states, 'useOutdoor', 'indicator');
54
- await this.createSimpleControlStateObjectAsync(control.name, uuid, control.states, 'frostProtectTemperature', 'number', 'value.temperature');
55
- await this.createSimpleControlStateObjectAsync(control.name, uuid, control.states, 'heatProtectTemperature', 'number', 'value.temperature');
56
- // Add event handler to frost/heat protection values so we re-calc target min/max if they change
57
- this.addStateEventHandler(uuid + '.frostProtectTemperature', async () => {
58
- await this.updateTempTargetMinMax();
59
- });
60
- this.addStateEventHandler(uuid + '.heatProtectTemperature', async () => {
61
- await this.updateTempTargetMinMax();
62
- });
63
- await this.updateStateObjectAsync(uuid + '.activeMode', {
64
- name: control.name + ': activeMode',
65
- read: true,
66
- write: true,
67
- type: 'number',
68
- role: 'level',
69
- states: {
70
- 0: 'Economy',
71
- 1: 'Comfort',
72
- 2: 'Fabric Protection',
73
- 3: 'Manual',
74
- },
75
- }, control.states.activeMode, async (name, value) => {
76
- await this.setStateAck(name, value);
77
- await this.updateTempTargetMinMax();
78
- });
79
- this.addStateChangeListener(uuid + '.activeMode', (oldValue, newValue) => {
80
- this.sendCommand(control.uuidAction, 'override/' + newValue);
81
- });
82
- await this.updateStateObjectAsync(uuid + '.comfortTemperature', {
83
- name: control.name + ': comfortTemperature',
84
- read: true,
85
- write: comfortTemperatureWrite,
86
- type: 'number',
87
- role: comfortTemperatureWrite ? 'level.temperature' : 'value.temperature',
88
- }, control.states.comfortTemperature, async (name, value) => {
89
- await this.setStateAck(name, value);
90
- });
91
- if (comfortTemperatureWrite) {
92
- this.addStateChangeListener(uuid + '.comfortTemperature', (oldValue, newValue) => {
93
- this.sendCommand(control.uuidAction, 'setComfortTemperature/' + newValue);
94
- });
95
- }
96
- await this.updateStateObjectAsync(uuid + '.comfortTemperatureCool', {
97
- name: control.name + ': comfortTemperatureCool',
98
- read: true,
99
- write: comfortTemperatureCoolWrite,
100
- type: 'number',
101
- role: comfortTemperatureCoolWrite ? 'level.temperature' : 'value.temperature',
102
- }, control.states.comfortTemperatureCool, async (name, value) => {
103
- await this.setStateAck(name, value);
104
- });
105
- if (comfortTemperatureCoolWrite) {
106
- this.addStateChangeListener(uuid + '.comfortTemperatureCool', (oldValue, newValue) => {
107
- this.sendCommand(control.uuidAction, 'setComfortTemperatureCool/' + newValue);
108
- });
109
- }
110
- await this.updateStateObjectAsync(uuid + '.comfortTolerance', {
111
- name: control.name + ': comfortTolerance',
112
- read: true,
113
- write: comfortToleranceWrite,
114
- type: 'number',
115
- min: 0.5,
116
- max: 3.0,
117
- role: comfortToleranceWrite ? 'level.temperature' : 'value.temperature',
118
- }, control.states.comfortTolerance, async (name, value) => {
119
- await this.setStateAck(name, value);
120
- });
121
- if (comfortToleranceWrite) {
122
- this.addStateChangeListener(uuid + '.comfortTolerance', (oldValue, newValue) => {
123
- this.sendCommand(control.uuidAction, 'setComfortTolerance/' + newValue);
124
- });
125
- }
126
- await this.updateStateObjectAsync(uuid + '.absentMinOffset', {
127
- name: control.name + ': absentMinOffset',
128
- read: true,
129
- write: absentMinOffsetWrite,
130
- type: 'number',
131
- role: absentMinOffsetWrite ? 'level.temperature' : 'value.temperature',
132
- }, control.states.absentMinOffset, async (name, value) => {
133
- await this.setStateAck(name, value);
134
- await this.updateTempTargetMinMax();
135
- });
136
- if (absentMinOffsetWrite) {
137
- this.addStateChangeListener(uuid + '.absentMinOffset', (oldValue, newValue) => {
138
- this.sendCommand(control.uuidAction, 'setAbsentMinTemperature/' + newValue);
139
- });
140
- }
141
- await this.updateStateObjectAsync(uuid + '.absentMaxOffset', {
142
- name: control.name + ': absentMaxOffset',
143
- read: true,
144
- write: absentMaxOffsetWrite,
145
- type: 'number',
146
- role: absentMaxOffsetWrite ? 'level.temperature' : 'value.temperature',
147
- }, control.states.absentMaxOffset, async (name, value) => {
148
- await this.setStateAck(name, value);
149
- await this.updateTempTargetMinMax();
150
- });
151
- if (absentMaxOffsetWrite) {
152
- this.addStateChangeListener(uuid + '.absentMaxOffset', (oldValue, newValue) => {
153
- this.sendCommand(control.uuidAction, 'setAbsentMaxTemperature/' + newValue);
154
- });
155
- }
156
- await this.updateStateObjectAsync(uuid + '.comfortTemperatureOffset', {
157
- name: control.name + ': comfortTemperatureOffset',
158
- read: true,
159
- write: true,
160
- type: 'number',
161
- role: 'level.temperature',
162
- }, control.states.comfortTemperatureOffset, async (name, value) => {
163
- await this.setStateAck(name, value);
164
- await this.updateTempTargetMinMax();
165
- });
166
- this.addStateChangeListener(uuid + '.comfortTemperatureOffset', (oldValue, newValue) => {
167
- this.sendCommand(control.uuidAction, 'setComfortModeTemp/' + newValue);
168
- });
169
- await this.updateStateObjectAsync(uuid + '.shadingHeatTemp', {
170
- name: control.name + ': shadingHeatTemp',
171
- read: true,
172
- write: shadingHeatTempWrite,
173
- type: 'number',
174
- role: shadingHeatTempWrite ? 'level.temperature' : 'value.temperature',
175
- }, control.states.shadingHeatTemp, async (name, value) => {
176
- await this.setStateAck(name, value);
177
- });
178
- if (shadingHeatTempWrite) {
179
- this.addStateChangeListener(uuid + '.shadingHeatTemp', (oldValue, newValue) => {
180
- this.sendCommand(control.uuidAction, 'setShadingHeatTemp/' + newValue);
181
- });
182
- }
183
- await this.updateStateObjectAsync(uuid + '.shadingCoolTemp', {
184
- name: control.name + ': shadingCoolTemp',
185
- read: true,
186
- write: shadingCoolTempWrite,
187
- type: 'number',
188
- role: shadingCoolTempWrite ? 'level.temperature' : 'value.temperature',
189
- }, control.states.shadingCoolTemp, async (name, value) => {
190
- await this.setStateAck(name, value);
191
- });
192
- if (shadingHeatTempWrite) {
193
- this.addStateChangeListener(uuid + '.shadingCoolTemp', (oldValue, newValue) => {
194
- this.sendCommand(control.uuidAction, 'setShadingCoolTemp/' + newValue);
195
- });
196
- }
197
- await this.createSimpleControlStateObjectAsync(control.name, uuid, control.states, 'shadingOut', 'boolean', 'indicator');
198
- await this.createSimpleControlStateObjectAsync(control.name, uuid, control.states, 'tempActual', 'number', 'value.temperature');
199
- await this.createSimpleControlStateObjectAsync(control.name, uuid, control.states, 'actualOutdoorTemp', 'number', 'value.temperature');
200
- await this.createSimpleControlStateObjectAsync(control.name, uuid, control.states, 'averageOutdoorTemp', 'number', 'value.temperature');
201
- await this.createSimpleControlStateObjectAsync(control.name, uuid, control.states, 'excessEnergyTempOffset', 'number', 'value.temperature');
202
- await this.updateStateObjectAsync(uuid + '.temperatureBoundaryInfo', {
203
- name: control.name + ': temperatureBoundaryInfo',
204
- read: true,
205
- write: false,
206
- type: 'number',
207
- role: 'level',
208
- states: {
209
- 0: 'Not enough data',
210
- 1: 'OK',
211
- 2: 'No data at all',
212
- },
213
- }, control.states.temperatureBoundaryInfo, async (name, value) => {
214
- await this.setStateAck(name, value);
215
- });
216
- await this.updateStateObjectAsync(uuid + '.tempTarget', {
217
- name: control.name + ': tempTarget',
218
- read: true,
219
- write: true,
220
- type: 'number',
221
- role: 'level.temperature',
222
- }, control.states.tempTarget, async (name, value) => {
223
- await this.setStateAck(name, value);
224
- await this.updateTempTargetMinMax();
225
- });
226
- this.addStateChangeListener(uuid + '.tempTarget', (oldValue, newValue) => {
227
- // Target has been set manually so start an override at that value
228
- // setManualTemperature is redundant in this context as simply setting that value
229
- // does not actually tell IRC to switch to manual mode.
230
- // We could force whatever updates the tempTarget to then need to change mode to manual
231
- // but that would be illogical as the target now shown would not actually be the target
232
- // being worked with.
233
- // So because of this, just start an override at the given temperature.
234
- this.sendCommand(control.uuidAction, 'override/3//' + newValue);
235
- });
236
- // TODO: capabilities is a bitmask, possibility to decode it's meaning?
237
- await this.createSimpleControlStateObjectAsync(control.name, uuid, control.states, 'capabilities', 'number', 'value');
238
- await this.updateStateObjectAsync(uuid + '.currentMode', {
239
- name: control.name + ': currentMode',
240
- read: true,
241
- write: false,
242
- type: 'number',
243
- role: 'level',
244
- states: {
245
- 0: 'No requirement',
246
- 1: 'Heating',
247
- 2: 'Cooling',
248
- 3: 'Heating boost',
249
- 4: 'Cooling boost',
250
- 5: 'Service mode',
251
- 6: 'External Heater',
252
- },
253
- }, control.states.currentMode, async (name, value) => {
254
- await this.setStateAck(name, value);
255
- });
256
- await this.updateStateObjectAsync(uuid + '.autoMode', {
257
- name: control.name + ': autoMode',
258
- read: true,
259
- write: false,
260
- type: 'number',
261
- role: 'level',
262
- states: {
263
- 0: 'Heating and cooling',
264
- 1: 'Heating',
265
- 2: 'Cooling',
266
- },
267
- }, control.states.autoMode, async (name, value) => {
268
- await this.setStateAck(name, value);
269
- });
270
- await this.updateStateObjectAsync(uuid + '.operatingMode', {
271
- name: control.name + ': operatingMode',
272
- read: true,
273
- write: true,
274
- type: 'number',
275
- role: 'level',
276
- states: {
277
- 0: 'Automatic heating/cooling',
278
- 1: 'Automatic heating',
279
- 2: 'Automatic cooling',
280
- 3: 'Manual heating/cooling',
281
- 4: 'Manual heating',
282
- 5: 'Manual cooling',
283
- },
284
- }, control.states.operatingMode, async (name, value) => {
285
- await this.setStateAck(name, value);
286
- });
287
- this.addStateChangeListener(uuid + '.operatingMode', (oldValue, newValue) => {
288
- this.sendCommand(control.uuidAction, 'setOperatingMode/' + newValue);
289
- });
290
- await this.createButtonCommandStateObjectAsync(control.name, uuid, 'stopOverride');
291
- this.addStateChangeListener(uuid + '.stopOverride', () => {
292
- this.sendCommand(control.uuidAction, 'stopOverride');
293
- }, { selfAck: true });
294
- // When in Eco/Building Protection modes Loxone app/web shows target as min..max range
295
- // Handy so create derived state for each
296
- await this.updateObjectAsync(uuid + '.tempTargetMin', {
297
- type: 'state',
298
- common: {
299
- name: control.name + ': tempTargetMin',
300
- type: 'number',
301
- role: 'value.temperature',
302
- read: true,
303
- write: false,
304
- },
305
- native: {},
306
- });
307
- await this.updateObjectAsync(uuid + '.tempTargetMax', {
308
- type: 'state',
309
- common: {
310
- name: control.name + ': tempTargetMax',
311
- type: 'number',
312
- role: 'value.temperature',
313
- read: true,
314
- write: false,
315
- },
316
- native: {},
317
- });
318
- // TODO: Controls not yet implemented:
319
- // override (at least not fully)
320
- // setComfortModeTemp (redundant as setComfortTemperature implemented - I think!)
321
- // set
322
- // modeslist
323
- await this.loadSubControlsAsync(uuid, control);
324
- }
325
- // Calculate and update tempTargetMin/Max
326
- // Should be triggered when any inputs change
327
- // TODO: this is called when any of the input variables change in handlers above.
328
- // Would be slightly more efficient (& complex) to only call this update if the
329
- // inputs relating to current mode change. Ie. dont call this on absentMinOffset
330
- // change if mode is 1.
331
- async updateTempTargetMinMax() {
332
- const activeMode = this.convertStateToInt(this.getCachedStateValue(this.uuid + '.activeMode'));
333
- let tempTargetMin;
334
- let tempTargetMax;
335
- switch (activeMode) {
336
- case 0:
337
- // Economy, min/max are target +/- absent offset
338
- const absentMinOffset = this.convertStateToFloat(this.getCachedStateValue(this.uuid + '.absentMinOffset'));
339
- const absentMaxOffset = this.convertStateToFloat(this.getCachedStateValue(this.uuid + '.absentMaxOffset'));
340
- const comfortTemperature = this.convertStateToFloat(this.getCachedStateValue(this.uuid + '.comfortTemperature'));
341
- tempTargetMin = comfortTemperature - absentMinOffset;
342
- tempTargetMax = comfortTemperature + absentMaxOffset;
343
- this.adapter.log.debug(`Mode ${activeMode}: ${absentMinOffset}/${absentMaxOffset}/${comfortTemperature} -> ${tempTargetMin}/${tempTargetMax}`);
344
- break;
345
- case 1:
346
- case 3:
347
- // Comfort & manual mode just use direct target
348
- tempTargetMin = tempTargetMax = this.convertStateToFloat(this.getCachedStateValue(this.uuid + '.tempTarget'));
349
- this.adapter.log.debug(`Mode ${activeMode}: ${tempTargetMin} -> ${tempTargetMin}/${tempTargetMax}`);
350
- break;
351
- case 2:
352
- // Building protection uses frost & heat protection
353
- tempTargetMin = this.convertStateToFloat(this.getCachedStateValue(this.uuid + '.frostProtectTemperature'));
354
- tempTargetMax = this.convertStateToFloat(this.getCachedStateValue(this.uuid + '.heatProtectTemperature'));
355
- this.adapter.log.debug(`Mode ${activeMode}: -> ${tempTargetMin}/${tempTargetMax}`);
356
- break;
357
- default:
358
- this.adapter.reportError(`Unknown IRoomControllerV2 activeMode: ${activeMode}`);
359
- break;
360
- }
361
- // Don't do any update if not calculated (can only happen in error condition)
362
- if (tempTargetMin !== undefined) {
363
- await this.setStateAck(this.uuid + '.tempTargetMin', tempTargetMin);
364
- }
365
- if (tempTargetMax !== undefined) {
366
- await this.setStateAck(this.uuid + '.tempTargetMax', tempTargetMax);
367
- }
368
- }
369
- }
370
- exports.IRoomControllerV2 = IRoomControllerV2;
371
- //# sourceMappingURL=IRoomControllerV2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IRoomControllerV2.js","sourceRoot":"","sources":["../../src/controls/IRoomControllerV2.ts"],"names":[],"mappings":"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"}
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InfoOnlyAnalog = void 0;
4
- const control_base_1 = require("./control-base");
5
- class InfoOnlyAnalog extends control_base_1.ControlBase {
6
- async loadAsync(type, uuid, control) {
7
- await this.updateObjectAsync(uuid, {
8
- type: type,
9
- common: {
10
- name: control.name,
11
- role: 'sensor',
12
- },
13
- native: { control },
14
- });
15
- await this.loadOtherControlStatesAsync(control.name, uuid, control.states, ['value']);
16
- if (!control.hasOwnProperty('states') || !control.states.hasOwnProperty('value')) {
17
- return;
18
- }
19
- await this.createSimpleControlStateObjectAsync(control.name, uuid, control.states, 'value', 'number', 'value');
20
- if (!control.hasOwnProperty('details')) {
21
- return;
22
- }
23
- if (control.details.hasOwnProperty('format')) {
24
- await this.updateStateObjectAsync(uuid + '.value-formatted', {
25
- name: control.name + ': formatted value',
26
- read: true,
27
- write: false,
28
- type: 'string',
29
- role: 'text',
30
- // TODO: re-add: smartIgnore: true,
31
- }, control.states.value, async (name, value) => {
32
- await this.setFormattedStateAck(name, value, control.details.format);
33
- });
34
- }
35
- }
36
- }
37
- exports.InfoOnlyAnalog = InfoOnlyAnalog;
38
- //# sourceMappingURL=InfoOnlyAnalog.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InfoOnlyAnalog.js","sourceRoot":"","sources":["../../src/controls/InfoOnlyAnalog.ts"],"names":[],"mappings":";;;AACA,iDAA0D;AAE1D,MAAa,cAAe,SAAQ,0BAAW;IAC3C,KAAK,CAAC,SAAS,CAAC,IAAiB,EAAE,IAAY,EAAE,OAAgB;QAC7D,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE;YAC/B,IAAI,EAAE,IAAI;YACV,MAAM,EAAE;gBACJ,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,QAAQ;aACjB;YACD,MAAM,EAAE,EAAE,OAAO,EAAE;SACtB,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAEtF,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;YAC9E,OAAO;SACV;QAED,MAAM,IAAI,CAAC,mCAAmC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE/G,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE;YACpC,OAAO;SACV;QAED,IAAI,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;YAC1C,MAAM,IAAI,CAAC,sBAAsB,CAC7B,IAAI,GAAG,kBAAkB,EACzB;gBACI,IAAI,EAAE,OAAO,CAAC,IAAI,GAAG,mBAAmB;gBACxC,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,MAAM;gBACZ,mCAAmC;aACtC,EACD,OAAO,CAAC,MAAM,CAAC,KAAK,EACpB,KAAK,EAAE,IAAY,EAAE,KAAU,EAAE,EAAE;gBAC/B,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,MAAgB,CAAC,CAAC;YACnF,CAAC,CACJ,CAAC;SACL;IACL,CAAC;CACJ;AAzCD,wCAyCC"}