diff --git a/CHANGELOG_OLD.md b/CHANGELOG_OLD.md index abb18d9e..1ac95040 100644 --- a/CHANGELOG_OLD.md +++ b/CHANGELOG_OLD.md @@ -1 +1,234 @@ # Older changes +## 1.15.17 (2023-05-07) +* (foxriver76) added new images (closes #778, closes #873, closes #882) +* (foxriver76) fix wrong paramsets (closes #617, closes #584, closes #539, closes #764, closes #460, closes #748, closes #756) +* (foxriver76) fix wrong events (closes #872) + +## 1.15.16 (2022-12-08) +* (foxriver76) we have linked images of new devices +* (foxriver76) we ensure, that the `LEVEL` datapoint of blinds is of role `level.blind` (closes #681) + +## 1.15.15 (2022-08-25) +* (foxriver76) Retry once on `(UNREACH)` and `Failure` errors to avoid temporary communication issues (closes #467) +* (foxriver76) we have updated some device icons + +## 1.15.12 (2022-03-19) +* (foxriver76) we now adjust min/max correct if a `SPECIAL` value falls out of range (closes #459) + +## 1.15.11 (2022-03-18) +* (foxriver76) fallback to old adapter port determination logic (closes #509) + +## 1.15.10 (2022-03-17) +* (foxriver76) we use our own set of forbidden chars again + +## 1.15.9 (2022-03-15) +* (foxriver76) fixed handling of `replaceDevice` event +* (foxriver76) we have fixed some log messages +* (foxriver76) added image of HmIP-SMI55-2 + +## 1.15.8 (2022-02-23) +* (foxriver76) we now ensure, that the `uuid` used for connection is really unique + +## 1.15.7 (2022-02-20) +* (foxriver76) fixed new devices being created as `undefined` + +## 1.15.6 (2022-02-16) +* (foxriver76) implemented workaround for the RSSI_DEVICE 128 bug if devices connect to HMIP-HAP (fixes #346, #469, #402) + +## 1.15.5 (2022-02-12) +* (foxriver76) added handler for `readdedDevice` event (closes #356) +* (foxriver76) added error handling on rpc server (fixes #457) +* (foxriver76) added icon of HmIP-eTRV-E-S (closes #456) + +## 1.15.2 (2022-02-02) +* (foxriver76) we also fixed type of default value if boolean on heating groups + +## 1.15.1 (2022-02-02) +* (foxriver76) we fixxed type of default value and min/max of heating groups (closes #443) + +## 1.15.0 (2021-12-26) +* (foxriver76) added image for `HmIP-STE2-PCB` +* (foxriver76) we now handle `replaceDevice` requests by deleting old device and creating new one (closes #420) + +## 1.14.50 (2021-11-18) +* (foxriver76) `meta.roles` is no longer an object, because it is kept in RAM anyway (closes #407) + +## 1.14.49 (2021-11-18) +* (foxriver76) handle cases where we cannot retrive `meta.roles` (addresses #407) + +## 1.14.46 (2021-11-14) +* (foxriver76) added logging for "no dpType" scenarios +* (foxriver76) added image of HmIP-eTRV-E +* (foxriver76) added image of HmIPW-WRC6 + +## 1.14.45 (2021-08-12) +* (foxriver76) we fixed several sentry issues (closes #368, closes #370) + +## 1.14.43 (2021-07-05) +* (foxriver76) we now correctly map the role of smoke detectors (closes #354) + +## 1.14.42 (2021-06-27) +* (bluefox) Added the roles to thermostat states +* (bluefox) Added the roles for switch +* (bluefox) Apply new roles to existing states + +## 1.14.41 (2021-06-05) +* (foxriver76) we made sure, that controller does not send stopInstance message anymore + +## 1.14.39 (2021-06-04) +* (foxriver76) remove the stopInstance message handling and put everything in unload +* (bluefox) removed the white background by some icons + +## 1.14.38 (2021-05-11) +* (Jens Maus) fixed the VirtualDevices min/max/default assignment (fixes #332) +* (foxriver76) do not scale on normal '%' UNIT because its inconsistent (fixes #326) + +## 1.14.37 (2021-04-23) +* (foxriver76) added tier, is now 2 +* (foxriver76) added missing images (closes #319) + +## 1.14.36 (2021-04-14) +* (foxriver76) error handling improved when deleting obsolete devices/channels +* (foxriver76) if no message id provided on `sendTo`, we do not send `undefined` params anymore (fixes #318) + +## 1.14.35 (2021-02-13) +* (foxriver76) virtual devices now support ping, so use it, else it can be that instance won't register at CCU again (fixes #308) + +## 1.14.34 (2021-02-11) +* (foxriver76) use async rpc calls for better error handling +* (foxriver76) now log error events received by XML-RPC +* (foxriver76) detect invalid params and log instead of crash + +## 1.14.33 (2021-01-30) +* (foxriver76) fix problems with CuxD and HM-IP (fixes #307) +* (foxriver76) more places where we now log message on real errors instead of error object + +## 1.14.32 (2021-01-29) +* (foxriver76) revert received messages with invalid command +* (foxriver76) log message on real errors instead of error object +* (foxriver76) fix for crashes on decrypt + +## 1.14.31 (2021-01-15) +* (foxriver76) fixed default values of HM-IP value list states + +## 1.14.30 (2021-01-10) +* (foriver76) in general reject events of unregistered devices, see #298 + +## 1.14.29 (2021-01-09) +* (foxriver76) do not set PONG state anymore + +## 1.14.26 (2021-01-05) +* (foxriver76) match clientId with namespace to find correct units + +## 1.14.25 (2021-01-04) +* (foxriver76) we now use a unique id to connect for each client taking the hostname into account + +## 1.14.24 (2020-10-15) +* (foxriver76) fixed error with some blinds if no adapter restart has been performed + +## 1.14.23 (2020-09-03) +* (foxriver76) `value.temperature` will have unit °C no matter of delivered unit by CCU + +## 1.14.21 (2020-08-18) +* (foxriver76) fixed virtual-devices objects being recreated on the instance start (#271) + +## 1.14.20 (2020-08-17) +* (foxriver76) fix for % scaling of float numbers + +## 1.14.19 (2020-08-16) +* (foxriver76) now logging exact command on error + +## 1.14.18 (2020-08-08) +* (foxriver76) fix issue when CuxD listDevices does not deliver a valid array +* (foxriver76) fix error with % scaling in some edge cases + +## 1.14.15 (2020-07-21) +* (foxriver76) fix bug on forced reinitialization run + +## 1.14.14 (2020-07-10) +* (bluefox) Added roles for presence sensor + +## 1.14.13 (2020-07-07) +* (foxriver76) fixed the edge case on E-PAPER command (IOBROKER-HM-RPC-5Z) +* (foxriver76) Catch error on `createDevices` if CCU does not deliver valid ADDRESS (IOBROKER-HM-RPC-5X) + +## 1.14.12 (2020-07-03) +* (foxriver76) Continue execution if error on retrieving a paramset from CCU + +## 1.14.11 (2020-06-21) +* (bluefox) Change name of Instance, according to the role (RF, Wired, HM-IP) + +## 1.14.10 (2020-06-14) +* (foxriver76) removed metadata caching completely because metadata can be dynamic due to FW update or CuxD + +## 1.14.6 (2020-06-05) +* (foxriver76) added some HM-IP roles for channel 0 + +## 1.14.5 (2020-05-29) +* (foxriver76) fixed the edge case problem IOBROKER-HM-RPC-5E + +## 1.14.4 (2020-05-28) +* (jens-maus) updated all device images to latest ones include HM-IP-wired ones + +## 1.14.3 (2020-05-18) +* (foxriver76) catch edge case error if `row.value` has no native + +## 1.14.2 (2020-04-24) +* (foxriver76) catch errors on rpc client creation + +## 1.14.1 (2020-04-23) +* (foxriver76) catch potential errors on createServer +* (foxriver76) new metadata approach: we only store metadata gathered by the user, +otherwise cached metadata can be very old and outdated, we have to monitor the performance +of this approach (more requests to CCU on first setup) +* (foxriver76) add name and icon to meta folder +* (foxriver76) minor code improvements + +## 1.13.0 (2020-04-02) +* (foxriver76) sentry plugin support + +## 1.12.10 (2020-03-05) +* (foxriver76) fixed no 'dpType for ..' error in all cases + +## 1.12.9 (2020-02-29) +* (foxriver76) replace DISPLAY_DATA_STRING by DIN_66003 encodings + +## 1.12.8 (2020-02-26) +* (foxriver76) improved error handling on undefined methods + +## 1.12.7 (2020-02-16) +* (foxriver76) if role "value.window" is a boolean it is now correctly a "sensor.window" + +## 1.12.6 (2020-01-08) +* (foxriver76) make all LEVEL dps of unit % if they are w.o. unit and have min/max + +## 1.12.5 (2020-01-06) +* (foxriver76) handle some metadata more abstract +* (foxriver76) make DIMMER_REAL.LEVEL of unit '%' even it is not by definition + +## 1.12.2 (2019-12-19) +* (foxriver76) fix issue on https with less robust ccu emulations + +## 1.12.1 (2019-12-06) +* (foxriver76) fixed problem with max values of value lists + +## 1.12.0 (2019-12-05) +* (foxriver76) no longer use `adapter.objects` +* (foxriver76) js-controller v > 2 required + +## 1.11.1 (2019-11-20) +* (foxriver76) LOCK.OPEN is now of type button to prevent misunderstandings + +## 1.11.0 (2019-11-10) +* (foxriver76) make OFFSET and REPEATS of e-paper configurable +* (foxriver76) EPAPER_SIGNAL is now type string + +## 1.10.3 (2019-10-27) +* (foxriver76) fixed info channel + +## 1.10.2 (2019-10-24) +* (foxriver76) replace min max values of HM-IP with correct numbers + +## 1.10.0 (2019-08-12) +* (foxriver76) new metadata handling procedure +* __js-controller >= 1.4.2 required__ diff --git a/README.md b/README.md index e4e08b7a..6f2384d4 100644 --- a/README.md +++ b/README.md @@ -157,258 +157,24 @@ To update all available images execute `npm run update-images` -### **WORK IN PROGRESS** -* (klein0r) Fixed encrypted configuration - +--> +### 1.17.0 (2024-03-18) +* (klein0r) Fixed encrypted configuration + ### 1.16.1 (2024-03-05) -* (bluefox) Improved the configuration layout - +* (bluefox) Improved the configuration layout + ### 1.16.0 (2023-12-25) * (JeyCee) Added support for the device manager * (bluefox) Added JSON config -* (foxriver76) port to adapters internal `setTimeout/setInterval` methods - +* (foxriver76) port to adapters internal `setTimeout/setInterval` methods + ### 1.15.19 (2023-08-08) -* (bluefox) Updated packages - +* (bluefox) Updated packages + ### 1.15.18 (2023-05-08) -* (foxriver76) no longer support EOL versions, please upgrade to node 16 - -### 1.15.17 (2023-05-07) -* (foxriver76) added new images (closes #778, closes #873, closes #882) -* (foxriver76) fix wrong paramsets (closes #617, closes #584, closes #539, closes #764, closes #460, closes #748, closes #756) -* (foxriver76) fix wrong events (closes #872) - -### 1.15.16 (2022-12-08) -* (foxriver76) we have linked images of new devices -* (foxriver76) we ensure, that the `LEVEL` datapoint of blinds is of role `level.blind` (closes #681) - -### 1.15.15 (2022-08-25) -* (foxriver76) Retry once on `(UNREACH)` and `Failure` errors to avoid temporary communication issues (closes #467) -* (foxriver76) we have updated some device icons - -### 1.15.12 (2022-03-19) -* (foxriver76) we now adjust min/max correct if a `SPECIAL` value falls out of range (closes #459) - -### 1.15.11 (2022-03-18) -* (foxriver76) fallback to old adapter port determination logic (closes #509) - -### 1.15.10 (2022-03-17) -* (foxriver76) we use our own set of forbidden chars again - -### 1.15.9 (2022-03-15) -* (foxriver76) fixed handling of `replaceDevice` event -* (foxriver76) we have fixed some log messages -* (foxriver76) added image of HmIP-SMI55-2 - -### 1.15.8 (2022-02-23) -* (foxriver76) we now ensure, that the `uuid` used for connection is really unique - -### 1.15.7 (2022-02-20) -* (foxriver76) fixed new devices being created as `undefined` - -### 1.15.6 (2022-02-16) -* (foxriver76) implemented workaround for the RSSI_DEVICE 128 bug if devices connect to HMIP-HAP (fixes #346, #469, #402) - -### 1.15.5 (2022-02-12) -* (foxriver76) added handler for `readdedDevice` event (closes #356) -* (foxriver76) added error handling on rpc server (fixes #457) -* (foxriver76) added icon of HmIP-eTRV-E-S (closes #456) - -### 1.15.2 (2022-02-02) -* (foxriver76) we also fixed type of default value if boolean on heating groups - -### 1.15.1 (2022-02-02) -* (foxriver76) we fixxed type of default value and min/max of heating groups (closes #443) - -### 1.15.0 (2021-12-26) -* (foxriver76) added image for `HmIP-STE2-PCB` -* (foxriver76) we now handle `replaceDevice` requests by deleting old device and creating new one (closes #420) - -### 1.14.50 (2021-11-18) -* (foxriver76) `meta.roles` is no longer an object, because it is kept in RAM anyway (closes #407) - -### 1.14.49 (2021-11-18) -* (foxriver76) handle cases where we cannot retrive `meta.roles` (addresses #407) - -### 1.14.46 (2021-11-14) -* (foxriver76) added logging for "no dpType" scenarios -* (foxriver76) added image of HmIP-eTRV-E -* (foxriver76) added image of HmIPW-WRC6 - -### 1.14.45 (2021-08-12) -* (foxriver76) we fixed several sentry issues (closes #368, closes #370) - -### 1.14.43 (2021-07-05) -* (foxriver76) we now correctly map the role of smoke detectors (closes #354) - -### 1.14.42 (2021-06-27) -* (bluefox) Added the roles to thermostat states -* (bluefox) Added the roles for switch -* (bluefox) Apply new roles to existing states - -### 1.14.41 (2021-06-05) -* (foxriver76) we made sure, that controller does not send stopInstance message anymore - -### 1.14.39 (2021-06-04) -* (foxriver76) remove the stopInstance message handling and put everything in unload -* (bluefox) removed the white background by some icons - -### 1.14.38 (2021-05-11) -* (Jens Maus) fixed the VirtualDevices min/max/default assignment (fixes #332) -* (foxriver76) do not scale on normal '%' UNIT because its inconsistent (fixes #326) - -### 1.14.37 (2021-04-23) -* (foxriver76) added tier, is now 2 -* (foxriver76) added missing images (closes #319) - -### 1.14.36 (2021-04-14) -* (foxriver76) error handling improved when deleting obsolete devices/channels -* (foxriver76) if no message id provided on `sendTo`, we do not send `undefined` params anymore (fixes #318) - -### 1.14.35 (2021-02-13) -* (foxriver76) virtual devices now support ping, so use it, else it can be that instance won't register at CCU again (fixes #308) - -### 1.14.34 (2021-02-11) -* (foxriver76) use async rpc calls for better error handling -* (foxriver76) now log error events received by XML-RPC -* (foxriver76) detect invalid params and log instead of crash - -### 1.14.33 (2021-01-30) -* (foxriver76) fix problems with CuxD and HM-IP (fixes #307) -* (foxriver76) more places where we now log message on real errors instead of error object - -### 1.14.32 (2021-01-29) -* (foxriver76) revert received messages with invalid command -* (foxriver76) log message on real errors instead of error object -* (foxriver76) fix for crashes on decrypt - -### 1.14.31 (2021-01-15) -* (foxriver76) fixed default values of HM-IP value list states - -### 1.14.30 (2021-01-10) -* (foriver76) in general reject events of unregistered devices, see #298 - -### 1.14.29 (2021-01-09) -* (foxriver76) do not set PONG state anymore - -### 1.14.26 (2021-01-05) -* (foxriver76) match clientId with namespace to find correct units - -### 1.14.25 (2021-01-04) -* (foxriver76) we now use a unique id to connect for each client taking the hostname into account - -### 1.14.24 (2020-10-15) -* (foxriver76) fixed error with some blinds if no adapter restart has been performed - -### 1.14.23 (2020-09-03) -* (foxriver76) `value.temperature` will have unit °C no matter of delivered unit by CCU - -### 1.14.21 (2020-08-18) -* (foxriver76) fixed virtual-devices objects being recreated on the instance start (#271) - -### 1.14.20 (2020-08-17) -* (foxriver76) fix for % scaling of float numbers - -### 1.14.19 (2020-08-16) -* (foxriver76) now logging exact command on error - -### 1.14.18 (2020-08-08) -* (foxriver76) fix issue when CuxD listDevices does not deliver a valid array -* (foxriver76) fix error with % scaling in some edge cases - -### 1.14.15 (2020-07-21) -* (foxriver76) fix bug on forced reinitialization run - -### 1.14.14 (2020-07-10) -* (bluefox) Added roles for presence sensor - -### 1.14.13 (2020-07-07) -* (foxriver76) fixed the edge case on E-PAPER command (IOBROKER-HM-RPC-5Z) -* (foxriver76) Catch error on `createDevices` if CCU does not deliver valid ADDRESS (IOBROKER-HM-RPC-5X) - -### 1.14.12 (2020-07-03) -* (foxriver76) Continue execution if error on retrieving a paramset from CCU - -### 1.14.11 (2020-06-21) -* (bluefox) Change name of Instance, according to the role (RF, Wired, HM-IP) - -### 1.14.10 (2020-06-14) -* (foxriver76) removed metadata caching completely because metadata can be dynamic due to FW update or CuxD - -### 1.14.6 (2020-06-05) -* (foxriver76) added some HM-IP roles for channel 0 - -### 1.14.5 (2020-05-29) -* (foxriver76) fixed the edge case problem IOBROKER-HM-RPC-5E - -### 1.14.4 (2020-05-28) -* (jens-maus) updated all device images to latest ones include HM-IP-wired ones - -### 1.14.3 (2020-05-18) -* (foxriver76) catch edge case error if `row.value` has no native - -### 1.14.2 (2020-04-24) -* (foxriver76) catch errors on rpc client creation - -### 1.14.1 (2020-04-23) -* (foxriver76) catch potential errors on createServer -* (foxriver76) new metadata approach: we only store metadata gathered by the user, -otherwise cached metadata can be very old and outdated, we have to monitor the performance -of this approach (more requests to CCU on first setup) -* (foxriver76) add name and icon to meta folder -* (foxriver76) minor code improvements - -### 1.13.0 (2020-04-02) -* (foxriver76) sentry plugin support - -### 1.12.10 (2020-03-05) -* (foxriver76) fixed no 'dpType for ..' error in all cases - -### 1.12.9 (2020-02-29) -* (foxriver76) replace DISPLAY_DATA_STRING by DIN_66003 encodings - -### 1.12.8 (2020-02-26) -* (foxriver76) improved error handling on undefined methods - -### 1.12.7 (2020-02-16) -* (foxriver76) if role "value.window" is a boolean it is now correctly a "sensor.window" - -### 1.12.6 (2020-01-08) -* (foxriver76) make all LEVEL dps of unit % if they are w.o. unit and have min/max - -### 1.12.5 (2020-01-06) -* (foxriver76) handle some metadata more abstract -* (foxriver76) make DIMMER_REAL.LEVEL of unit '%' even it is not by definition - -### 1.12.2 (2019-12-19) -* (foxriver76) fix issue on https with less robust ccu emulations - -### 1.12.1 (2019-12-06) -* (foxriver76) fixed problem with max values of value lists - -### 1.12.0 (2019-12-05) -* (foxriver76) no longer use `adapter.objects` -* (foxriver76) js-controller v > 2 required - -### 1.11.1 (2019-11-20) -* (foxriver76) LOCK.OPEN is now of type button to prevent misunderstandings - -### 1.11.0 (2019-11-10) -* (foxriver76) make OFFSET and REPEATS of e-paper configurable -* (foxriver76) EPAPER_SIGNAL is now type string - -### 1.10.3 (2019-10-27) -* (foxriver76) fixed info channel - -### 1.10.2 (2019-10-24) -* (foxriver76) replace min max values of HM-IP with correct numbers - -### 1.10.0 (2019-08-12) -* (foxriver76) new metadata handling procedure -* __js-controller >= 1.4.2 required__ - +* (foxriver76) no longer support EOL versions, please upgrade to node 16 + ### Older entries [here](OLD_CHANGELOG.md) @@ -436,4 +202,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +THE SOFTWARE. diff --git a/build/lib/deviceManager.js b/build/lib/deviceManager.js index 215c2e30..38e7fd55 100644 --- a/build/lib/deviceManager.js +++ b/build/lib/deviceManager.js @@ -37,8 +37,8 @@ class dmHmRpc extends dm_utils_1.DeviceManagement { const status = { connection: connected ? (connected.val ? 'disconnected' : 'connected') : 'connected', rssi: rssi ? parseFloat((rssi.val || '0').toString()) : undefined, - battery: (lowBat === null || lowBat === void 0 ? void 0 : lowBat.val) ? !lowBat.val : undefined, - warning: (sabotage === null || sabotage === void 0 ? void 0 : sabotage.val) ? 'Sabotage' : undefined + battery: lowBat?.val ? !lowBat.val : undefined, + warning: sabotage?.val ? 'Sabotage' : undefined }; let hasDetails = false; if (devices[i].native.AVAILABLE_FIRMWARE || devices[i].native.FIRMWARE) { @@ -139,7 +139,6 @@ class dmHmRpc extends dm_utils_1.DeviceManagement { typedControl2DeviceManager(tdControl, objects) { const controls = []; tdControl.states.forEach(state => { - var _a, _b; const parts = state.id.split('.'); const stateName = (parts.pop() || objects[state.id].native.CONTROL || @@ -154,8 +153,8 @@ class dmHmRpc extends dm_utils_1.DeviceManagement { }; if (objects[state.id] && objects[state.id].common) { if (objects[state.id].common.write !== false || - ((_a = objects[state.id].common.role) === null || _a === void 0 ? void 0 : _a.includes('button')) || - (stateName === null || stateName === void 0 ? void 0 : stateName.startsWith('PRESS '))) { + objects[state.id].common.role?.includes('button') || + stateName?.startsWith('PRESS ')) { if (objects[state.id].common.states) { const options = []; if (Array.isArray(objects[state.id].common.states)) { @@ -266,8 +265,8 @@ class dmHmRpc extends dm_utils_1.DeviceManagement { } else if (objects[state.id].common.type === 'boolean') { if (objects[state.id].common.read === false || - ((_b = objects[state.id].common.role) === null || _b === void 0 ? void 0 : _b.includes('button')) || - (stateName === null || stateName === void 0 ? void 0 : stateName.startsWith('PRESS '))) { + objects[state.id].common.role?.includes('button') || + stateName?.startsWith('PRESS ')) { controls.push({ id: state.id, type: 'button', @@ -474,7 +473,7 @@ class dmHmRpc extends dm_utils_1.DeviceManagement { uk: "Введіть нове ім'я" } }); - if ((result === null || result === void 0 ? void 0 : result.newName) === undefined || (result === null || result === void 0 ? void 0 : result.newName) === '') { + if (result?.newName === undefined || result?.newName === '') { return { refresh: false }; } const obj = { diff --git a/build/lib/deviceManager.js.map b/build/lib/deviceManager.js.map index f37ae07c..467d6711 100644 --- a/build/lib/deviceManager.js.map +++ b/build/lib/deviceManager.js.map @@ -1 +1 @@ -{"version":3,"file":"deviceManager.js","sourceRoot":"","sources":["../../src/lib/deviceManager.ts"],"names":[],"mappings":";;;;;;AAAA,iDAS4B;AAE5B,4EAAyF;AAIzF,SAAS,OAAO,CAAC,IAAiC,EAAE,IAAwB;IACxE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,IAAI,EAAE,CAAC;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;IACjC,CAAC;IAED,OAAO,EAAE,CAAC;AACd,CAAC;AAED,MAAa,OAAQ,SAAQ,2BAA8B;IAIvD,YAAY,OAAqB;QAC7B,KAAK,CAAC,OAAO,CAAC,CAAC;QAHX,aAAQ,GAAuB,IAAI,CAAC;QAIxC,IAAI,CAAC,YAAY,GAAG,IAAI,uBAAe,EAAE,CAAC;QAC1C,OAAO,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACtD,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC3C,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;YACxC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAES,KAAK,CAAC,WAAW;QACvB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QACrD,MAAM,UAAU,GAAiB,EAAE,CAAC;QACpC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACtB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC;YAClF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC;YACjF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;YAC9E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;YAElF,MAAM,MAAM,GAAiB;gBACzB,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW;gBACpF,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;gBACjE,OAAO,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,EAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;gBAC9C,OAAO,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,EAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;aAClD,CAAC;YAEF,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACrE,UAAU,GAAG,IAAI,CAAC;YACtB,CAAC;YAED,MAAM,GAAG,GAAe;gBACpB,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG;gBAClB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI;gBAC5B,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAuB,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;gBAC1F,YAAY,EAAE,SAAS;gBACvB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;gBAC7D,MAAM,EAAE,MAAM;gBACd,UAAU,EAAE,UAAU;gBACtB,OAAO,EAAE;oBACL;wBACI,EAAE,EAAE,QAAQ;wBACZ,IAAI,EAAE,iBAAiB;wBACvB,WAAW,EAAE;4BACT,EAAE,EAAE,oBAAoB;4BACxB,EAAE,EAAE,kBAAkB;4BACtB,EAAE,EAAE,8BAA8B;4BAClC,EAAE,EAAE,2BAA2B;4BAC/B,EAAE,EAAE,sBAAsB;4BAC1B,EAAE,EAAE,uBAAuB;4BAC3B,EAAE,EAAE,6BAA6B;4BACjC,EAAE,EAAE,4BAA4B;4BAChC,EAAE,EAAE,6BAA6B;4BACjC,OAAO,EAAE,QAAQ;4BACjB,EAAE,EAAE,2BAA2B;yBAClC;wBACD,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;qBAC9C;iBACJ;gBACD,QAAQ,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aAC/C,CAAC;YAEF,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,MAAuB;QAC7C,mBAAmB;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnE,oBAAoB;QACpB,MAAM,QAAQ,GAAoB,EAAE,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzD,2BAA2B;gBAC3B,SAAS;YACb,CAAC;YACD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACrC,0BAA0B;YAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,MAAM,OAAO,GAAoC,EAAE,CAAC;YACpD,MAAM,IAAI,GAAa,EAAE,CAAC;YAC1B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACnB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;YAE/B,MAAM,OAAO,GAAkB;gBAC3B,aAAa,EAAE,IAAI;gBACnB,gBAAgB,EAAE,EAAE;gBACpB,OAAO;gBACP,EAAE,EAAE,OAAO,CAAC,GAAG;aAClB,CAAC;YAEF,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrD,IAAI,UAAU,EAAE,CAAC;gBACb,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;oBAC3B,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;wBACpD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;4BAC1B,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBAClC,CAAC;oBACL,CAAC;oBACD,MAAM,MAAM,GAAG,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;oBACnE,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;wBAC1B,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;oBACtD,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACnB,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACrD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAErD,IAAI,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,EAAE,CAAC;oBAC5F,OAAO,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACpC,CAAC;gBACD,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBACjE,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC7C,CAAC;gBACD,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;YAED,OAAO,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAClD,CAAC;IAEO,0BAA0B,CAC9B,SAAyB,EACzB,OAAwC;QAExC,MAAM,QAAQ,GAAoB,EAAE,CAAC;QAErC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;;YAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,SAAS,GAAW,CACtB,KAAK,CAAC,GAAG,EAAE;gBACX,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO;gBAChC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE;gBACzB,KAAK,CAAC,IAAI;gBACV,EAAE,CACL,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAEvB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,OAAO,GAAgB;gBACzB,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;gBACjG,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI;gBAC3C,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC;aAC/C,CAAC;YAEF,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;gBAChD,IACI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK;qBACxC,MAAA,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,0CAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;qBACjD,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,CAAC,QAAQ,CAAC,CAAA,EACjC,CAAC;oBACC,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;wBAClC,MAAM,OAAO,GAAkE,EAAE,CAAC;wBAClF,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;4BACjD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,EAAE;gCACtD,OAAO,CAAC,IAAI,CAAC;oCACT,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;oCACvB,KAAK;iCACR,CAAC,CAAC;4BACP,CAAC,CAAC,CAAC;wBACP,CAAC;6BAAM,CAAC;4BACJ,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gCACzD,OAAO,CAAC,IAAI,CAAC;oCACT,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;oCAC7C,KAAK;iCACR,CAAC,CAAC;4BACP,CAAC,CAAC,CAAC;wBACP,CAAC;wBAED,QAAQ,CAAC,IAAI,CAAC;4BACV,EAAE,EAAE,KAAK,CAAC,EAAE;4BACZ,IAAI,EAAE,QAAQ;4BACd,OAAO;4BACP,OAAO;4BACP,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;4BAC1C,OAAO,EAAE,KAAK,CAAC,EAAE;4BACjB,KAAK,EAAE,SAAS,EAAE,+EAA+E;4BACjG,eAAe,EAAE,KAAK,EAClB,QAAgB,EAChB,QAAgB,EACuB,EAAE;gCACzC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;gCACvE,IAAI,YAAY,EAAE,CAAC;oCACf,OAAO,YAAY,CAAC;gCACxB,CAAC;gCACD,OAAO;oCACH,KAAK,EAAE;wCACH,OAAO,EAAE,2BAA2B;wCACpC,IAAI,EAAE,GAAG;qCACZ;iCACJ,CAAC;4BACN,CAAC;4BACD,OAAO,EAAE,KAAK,EACV,QAAgB,EAChB,QAAgB,EAChB,KAAmB,EACoB,EAAE;gCACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gCAEnB,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gCAChE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gCAChE,IAAI,YAAY,EAAE,CAAC;oCACf,OAAO,YAAY,CAAC;gCACxB,CAAC;gCACD,OAAO;oCACH,KAAK,EAAE;wCACH,OAAO,EAAE,2BAA2B;wCACpC,IAAI,EAAE,GAAG;qCACZ;iCACJ,CAAC;4BACN,CAAC;yBACJ,CAAC,CAAC;oBACP,CAAC;yBAAM,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACpD,MAAM,OAAO,GAAkB;4BAC3B,EAAE,EAAE,KAAK,CAAC,EAAE;4BACZ,OAAO,EAAE,KAAK,CAAC,EAAE;4BACjB,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;4BAC1C,IAAI,EAAE,QAAQ;4BACd,OAAO;4BACP,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;4BACnC,KAAK,EAAE,SAAS,EAAE,+EAA+E;4BACjG,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG;4BACjC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG;4BACjC,eAAe,EAAE,KAAK,EAClB,QAAgB,EAChB,QAAgB,EACuB,EAAE;gCACzC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;gCACvE,IAAI,YAAY,EAAE,CAAC;oCACf,OAAO,YAAY,CAAC;gCACxB,CAAC;gCACD,OAAO;oCACH,KAAK,EAAE;wCACH,OAAO,EAAE,2BAA2B;wCACpC,IAAI,EAAE,GAAG;qCACZ;iCACJ,CAAC;4BACN,CAAC;4BACD,OAAO,EAAE,KAAK,EACV,QAAgB,EAChB,QAAgB,EAChB,KAAmB,EACoB,EAAE;gCACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gCAEnB,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gCAChE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gCAChE,IAAI,YAAY,EAAE,CAAC;oCACf,OAAO,YAAY,CAAC;gCACxB,CAAC;gCACD,OAAO;oCACH,KAAK,EAAE;wCACH,OAAO,EAAE,2BAA2B;wCACpC,IAAI,EAAE,GAAG;qCACZ;iCACJ,CAAC;4BACN,CAAC;yBACJ,CAAC;wBAEF,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;4BACxC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;4BACxB,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;4BAChB,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;wBACtB,CAAC;6BAAM,IACH,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS;4BAC1C,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,EAC5C,CAAC;4BACC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;wBAC5B,CAAC;6BAAM,IACH,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS;4BAC1C,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,EAC5C,CAAC;4BACC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;4BACxB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;wBACrC,CAAC;wBAED,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC3B,CAAC;yBAAM,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBACrD,IACI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK;6BACvC,MAAA,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,0CAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;6BACjD,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,CAAC,QAAQ,CAAC,CAAA,EACjC,CAAC;4BACC,QAAQ,CAAC,IAAI,CAAC;gCACV,EAAE,EAAE,KAAK,CAAC,EAAE;gCACZ,IAAI,EAAE,QAAQ;gCACd,OAAO,EAAE,KAAK,CAAC,EAAE;gCACjB,OAAO;gCACP,KAAK,EAAE,SAAS,EAAE,+EAA+E;gCACjG,OAAO,EAAE,KAAK,EACV,QAAgB,EAChB,QAAgB,EAChB,KAAmB,EACoB,EAAE;oCACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oCAEnB,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;oCAC/D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oCAChE,IAAI,YAAY,EAAE,CAAC;wCACf,OAAO,YAAY,CAAC;oCACxB,CAAC;oCACD,OAAO;wCACH,KAAK,EAAE;4CACH,OAAO,EAAE,2BAA2B;4CACpC,IAAI,EAAE,GAAG;yCACZ;qCACJ,CAAC;gCACN,CAAC;6BACJ,CAAC,CAAC;wBACP,CAAC;6BAAM,CAAC;4BACJ,QAAQ,CAAC,IAAI,CAAC;gCACV,EAAE,EAAE,KAAK,CAAC,EAAE;gCACZ,IAAI,EAAE,QAAQ;gCACd,OAAO;gCACP,OAAO,EAAE,KAAK,CAAC,EAAE;gCACjB,KAAK,EAAE,SAAS,EAAE,+EAA+E;gCACjG,eAAe,EAAE,KAAK,EAClB,QAAgB,EAChB,QAAgB,EACuB,EAAE;oCACzC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;oCACvE,IAAI,YAAY,EAAE,CAAC;wCACf,OAAO,YAAY,CAAC;oCACxB,CAAC;oCACD,OAAO;wCACH,KAAK,EAAE;4CACH,OAAO,EAAE,2BAA2B;4CACpC,IAAI,EAAE,GAAG;yCACZ;qCACJ,CAAC;gCACN,CAAC;gCACD,OAAO,EAAE,KAAK,EACV,QAAgB,EAChB,QAAgB,EAChB,KAAmB,EACoB,EAAE;oCACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oCAEnB,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;oCAChE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oCAChE,IAAI,YAAY,EAAE,CAAC;wCACf,OAAO,YAAY,CAAC;oCACxB,CAAC;oCACD,OAAO;wCACH,KAAK,EAAE;4CACH,OAAO,EAAE,2BAA2B;4CACpC,IAAI,EAAE,GAAG;yCACZ;qCACJ,CAAC;gCACN,CAAC;6BACJ,CAAC,CAAC;wBACP,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,QAAQ,CAAC,IAAI,CAAC;4BACV,EAAE,EAAE,KAAK,CAAC,EAAE;4BACZ,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;4BACnC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;4BAC1C,OAAO,EAAE,KAAK,CAAC,EAAE;4BACjB,OAAO;4BACP,KAAK,EAAE,SAAS,EAAE,+EAA+E;4BACjG,eAAe,EAAE,KAAK,EAClB,QAAgB,EAChB,QAAgB,EACuB,EAAE;gCACzC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;gCACvE,IAAI,YAAY,EAAE,CAAC;oCACf,OAAO,YAAY,CAAC;gCACxB,CAAC;gCACD,OAAO;oCACH,KAAK,EAAE;wCACH,OAAO,EAAE,2BAA2B;wCACpC,IAAI,EAAE,GAAG;qCACZ;iCACJ,CAAC;4BACN,CAAC;4BACD,OAAO,EAAE,KAAK,EACV,QAAgB,EAChB,QAAgB,EAChB,KAAmB,EACoB,EAAE;gCACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gCAEnB,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gCAChE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gCAChE,IAAI,YAAY,EAAE,CAAC;oCACf,OAAO,YAAY,CAAC;gCACxB,CAAC;gCACD,OAAO;oCACH,KAAK,EAAE;wCACH,OAAO,EAAE,2BAA2B;wCACpC,IAAI,EAAE,GAAG;qCACZ;iCACJ,CAAC;4BACN,CAAC;yBACJ,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;qBAAM,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;oBACjD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;oBAE/C,QAAQ,CAAC,IAAI,CAAC;wBACV,EAAE,EAAE,KAAK,CAAC,EAAE;wBACZ,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,KAAK,CAAC,EAAE;wBACjB,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;wBAC1C,OAAO;wBACP,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;wBACnC,KAAK,EAAE,SAAS,EAAE,+EAA+E;wBACjG,eAAe,EAAE,KAAK,EAClB,QAAgB,EAChB,QAAgB,EACuB,EAAE;4BACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;4BAEnB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;4BAChE,IAAI,YAAY,EAAE,CAAC;gCACf,IAAI,MAAM,EAAE,CAAC;oCACT,MAAM,eAAe,GAAG,MAAM,CAAC,YAAY,CAAC,GAAsB,CAAC,CAAC;oCACpE,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;wCAChC,YAAY,CAAC,GAAG,GAAG,eAAe,CAAC;oCACvC,CAAC;gCACL,CAAC;gCACD,IAAI,YAAY,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;oCAC5B,YAAY,CAAC,GAAG,GAAG,MAAM,CAAC;gCAC9B,CAAC;qCAAM,IAAI,YAAY,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;oCACpC,YAAY,CAAC,GAAG,GAAG,OAAO,CAAC;gCAC/B,CAAC;gCAED,OAAO,YAAY,CAAC;4BACxB,CAAC;4BACD,OAAO;gCACH,KAAK,EAAE;oCACH,OAAO,EAAE,2BAA2B;oCACpC,IAAI,EAAE,GAAG;iCACZ;6BACJ,CAAC;wBACN,CAAC;qBACJ,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IACpB,CAAC;IAES,KAAK,CAAC,gBAAgB,CAAC,EAAU;QACvC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;QACzC,CAAC;QACD,MAAM,IAAI,GAAkB;YACxB,EAAE,EAAE,MAAM,CAAC,GAAG;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE;aACZ;SACJ,CAAC;QAEF,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,GAAG;gBAC9B,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,qBAAqB;gBAC3B,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE;gBAC7B,OAAO,EAAE,KAAK;aACjB,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG;gBACzB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;gBACjC,OAAO,EAAE,KAAK;aACjB,CAAC;QACN,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,GAAG;gBACvC,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,qBAAqB;gBAC3B,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE;gBAC7B,OAAO,EAAE,IAAI;aAChB,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,GAAG;gBAClC,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE;gBAC3C,OAAO,EAAE,KAAK;aACjB,CAAC;QACN,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,EAAU,EAAE,OAAsB;QACvD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CACjC;YACI,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACH,OAAO,EAAE;oBACL,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,KAAK;oBACX,WAAW,EAAE,EAAE;iBAClB;aACJ;SACJ,EACD;YACI,IAAI,EAAE;gBACF,OAAO,EAAE,EAAE;aACd;YACD,KAAK,EAAE;gBACH,EAAE,EAAE,gBAAgB;gBACpB,EAAE,EAAE,sBAAsB;gBAC1B,EAAE,EAAE,mBAAmB;gBACvB,EAAE,EAAE,qBAAqB;gBACzB,EAAE,EAAE,yBAAyB;gBAC7B,EAAE,EAAE,uBAAuB;gBAC3B,EAAE,EAAE,yBAAyB;gBAC7B,EAAE,EAAE,yBAAyB;gBAC7B,EAAE,EAAE,iBAAiB;gBACrB,OAAO,EAAE,OAAO;gBAChB,EAAE,EAAE,mBAAmB;aAC1B;SACJ,CACJ,CAAC;QACF,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,MAAK,SAAS,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,MAAK,EAAE,EAAE,CAAC;YAC1D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC9B,CAAC;QACD,MAAM,GAAG,GAAG;YACR,MAAM,EAAE;gBACJ,IAAI,EAAE,MAAM,CAAC,OAAO;aACvB;SACJ,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC1D,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7E,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC9B,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;CACJ;AAxiBD,0BAwiBC"} \ No newline at end of file +{"version":3,"file":"deviceManager.js","sourceRoot":"","sources":["../../src/lib/deviceManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/build/lib/tools.d.ts b/build/lib/tools.d.ts index 2adad067..cda8d71d 100644 --- a/build/lib/tools.d.ts +++ b/build/lib/tools.d.ts @@ -1,12 +1,5 @@ import { FixParamsetParams, FixEventParams } from './_types'; export declare const FORBIDDEN_CHARS: RegExp; -/** - * decrypts a key with its related value - * - * @param key - * @param value - */ -export declare function decrypt(key: string, value: string): string; /** * replaces special chars by DIN_66003 * diff --git a/build/lib/tools.js b/build/lib/tools.js index a25ce52f..ea82f4d1 100644 --- a/build/lib/tools.js +++ b/build/lib/tools.js @@ -1,21 +1,7 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.fixEvent = exports.fixParamset = exports.combineEPaperCommand = exports.number2hex = exports.replaceSpecialChars = exports.decrypt = exports.FORBIDDEN_CHARS = void 0; +exports.fixEvent = exports.fixParamset = exports.combineEPaperCommand = exports.number2hex = exports.replaceSpecialChars = exports.FORBIDDEN_CHARS = void 0; exports.FORBIDDEN_CHARS = /[\][*,;'"`<>\\\s?]/g; -/** - * decrypts a key with its related value - * - * @param key - * @param value - */ -function decrypt(key, value) { - let result = ''; - for (let i = 0; i < value.length; ++i) { - result += String.fromCharCode(key[i % key.length].charCodeAt(0) ^ value.charCodeAt(i)); - } - return result; -} -exports.decrypt = decrypt; /** * replaces special chars by DIN_66003 * @@ -272,7 +258,7 @@ function fixParamset(params) { } // #617, #584: for the codes there is often a value greater than max set, so we remove the max for now if (paramObj.CONTROL === 'MAINTENANCE.CODE_ID') { - paramObj.MAX = 9999; + paramObj.MAX = 9_999; } // # 539: while HMIP heating groups correctly have min 4.5 this is not the case for rfd somehow if (paramObj.CONTROL === 'HEATING_CONTROL.SETPOINT' && daemon === 'virtual-devices') { diff --git a/build/lib/tools.js.map b/build/lib/tools.js.map index 4cc0ad79..676c2f9b 100644 --- a/build/lib/tools.js.map +++ b/build/lib/tools.js.map @@ -1 +1 @@ -{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/lib/tools.ts"],"names":[],"mappings":"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E,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,GAAG,EAAE,MAAM;QACX,GAAG,EAAE,MAAM;QACX,GAAG,EAAE,MAAM;QACX,GAAG,EAAE,MAAM;QACX,GAAG,EAAE,MAAM;QACX,GAAG,EAAE,MAAM;QACX,GAAG,EAAE,MAAM;QACX,GAAG,EAAE,MAAM;QACX,GAAG,EAAE,MAAM;QACX,GAAG,EAAE,MAAM;QACX,GAAG,EAAE,MAAM;QACX,GAAG,EAAE,MAAM;QACX,GAAG,EAAE,MAAM;QACX,GAAG,EAAE,MAAM;QACX,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAA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"} \ No newline at end of file +{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/lib/tools.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/build/main.js b/build/main.js index b93f403e..497f42d0 100644 --- a/build/main.js +++ b/build/main.js @@ -96,7 +96,7 @@ class HomematicRpc extends utils.Adapter { const name = `${params[0]}.${channel}.${params[2]}`; if (this.dpTypes[name]) { if (this.dpTypes[name].UNIT === '100%') { - val = Math.round(params[3] * 1000) / 10; + val = Math.round(params[3] * 1_000) / 10; } else { val = params[3]; @@ -247,15 +247,15 @@ class HomematicRpc extends utils.Adapter { rpcServer.server.unref(); }); } - catch (_a) { + catch { // ignore } } - if (rpcClient === null || rpcClient === void 0 ? void 0 : rpcClient.socket) { + if (rpcClient?.socket) { try { rpcClient.socket.destroy(); } - catch (_b) { + catch { // ignore } } @@ -512,32 +512,20 @@ class HomematicRpc extends utils.Adapter { } } else if (!rpcClient) { - this.getForeignObject('system.config', (err, obj) => { - let password; - let username; - if (obj && obj.native && obj.native.secret) { - password = tools.decrypt(obj.native.secret, this.config.password || ''); - username = tools.decrypt(obj.native.secret, this.config.username || ''); - } - else { - password = tools.decrypt('Zgfr56gFe87jJOM', this.config.password || ''); - username = tools.decrypt('Zgfr56gFe87jJOM', this.config.username || ''); - } - try { - rpcClient = rpc.createSecureClient({ - host: this.config.homematicAddress, - port: this.config.homematicPort, - path: this.homematicPath, - reconnectTimeout: this.config.reconnectInterval * 1000, - basic_auth: { user: username, pass: password }, - rejectUnauthorized: false - }); - } - catch (e) { - this.log.error(`Could not create secure ${this.config.type}-rpc client: ${e.message}`); - return void this.restart(); - } - }); + try { + rpcClient = rpc.createSecureClient({ + host: this.config.homematicAddress, + port: this.config.homematicPort, + path: this.homematicPath, + reconnectTimeout: this.config.reconnectInterval * 1_000, + basic_auth: { user: this.config.username, pass: this.config.password }, + rejectUnauthorized: false + }); + } + catch (e) { + this.log.error(`Could not create secure ${this.config.type}-rpc client: ${e.message}`); + return void this.restart(); + } } this.log.debug('Connect...'); if (this.eventInterval) { @@ -551,7 +539,7 @@ class HomematicRpc extends utils.Adapter { // Periodically try to reconnect if (!this.connInterval) { this.log.debug('start connecting interval'); - this.connInterval = this.setInterval(() => this.sendInit(), this.config.reconnectInterval * 1000); + this.connInterval = this.setInterval(() => this.sendInit(), this.config.reconnectInterval * 1_000); } } /** @@ -595,7 +583,7 @@ class HomematicRpc extends utils.Adapter { } const _now = Date.now(); // Check last event time. If timeout => send init again - if (!this.lastEvent || _now - this.lastEvent >= this.config.checkInitInterval * 1000) { + if (!this.lastEvent || _now - this.lastEvent >= this.config.checkInitInterval * 1_000) { this.log.debug('[KEEPALIVE] Connection timed out, initializing new connection'); this.connect(false); } @@ -627,17 +615,16 @@ class HomematicRpc extends utils.Adapter { } catch (e) { this.log.error(`Init not possible, going to stop: ${e.message}`); - this.setTimeout(() => this.stop && this.stop(), 30000); + this.setTimeout(() => this.stop && this.stop(), 30_000); } } /** * Inits the RPC server */ async initRpcServer() { - var _a; this.config.useHttps = this.config.useHttps || false; // adapterPort was introduced in v1.0.1. If not set yet then try 2000 - const desiredAapterPort = parseInt(this.config.port) || parseInt(this.config.homematicPort) || 2000; + const desiredAapterPort = parseInt(this.config.port) || parseInt(this.config.homematicPort) || 2_000; const callbackAddress = this.config.callbackAddress || this.config.adapterAddress; const adapterPort = await this.getPortAsync(desiredAapterPort); this.daemonURL = `${this.daemonProto + callbackAddress}:${adapterPort}`; @@ -656,7 +643,7 @@ class HomematicRpc extends utils.Adapter { clientId = this.namespace; try { const obj = await this.getForeignObjectAsync(`system.adapter.${this.namespace}`); - clientId = `${(_a = obj === null || obj === void 0 ? void 0 : obj.common) === null || _a === void 0 ? void 0 : _a.host}:${clientId}`; + clientId = `${obj?.common?.host}:${clientId}`; } catch (e) { this.log.warn(`Could not get hostname, using default id "${clientId}" to register: ${e.message}`); @@ -769,7 +756,7 @@ class HomematicRpc extends utils.Adapter { catch (e) { this.log.error(`getObjectViewAsync hm-rpc: ${e.message}`); } - if (doc === null || doc === void 0 ? void 0 : doc.rows) { + if (doc?.rows) { for (const row of doc.rows) { if (row.id === `${this.namespace}.updated`) { continue; diff --git a/build/main.js.map b/build/main.js.map index 079551b4..a95894f6 100644 --- a/build/main.js.map +++ b/build/main.js.map @@ -1 +1 @@ -{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/io-package.json b/io-package.json index bcaa3284..6b1d885a 100644 --- a/io-package.json +++ b/io-package.json @@ -15,8 +15,21 @@ "uk": "Підключає HomeMatic інтерфейси (BidCos-сервіси, Homegear і CUxD) через XML-RPC або BIN-RPC до ioBroker", "zh-cn": "通过 XML-RPC 或 BIN-RPC 将 HomeMatic 接口进程(BidCos-Services、Homegear 和 CUxD)连接到 ioBroker" }, - "version": "1.16.1", + "version": "1.17.0", "news": { + "1.17.0": { + "en": "Fixed encrypted configuration", + "de": "Feste verschlüsselte Konfiguration", + "ru": "Исправленная зашифрованная конфигурация", + "pt": "Configuração criptografada fixa", + "nl": "Vaste versleutelde configuratie", + "fr": "Configuration chiffrée corrigée", + "it": "Configurazione crittografata fissa", + "es": "Configuración encriptada fija", + "pl": "Zaszyfrowana konfiguracja", + "uk": "Фіксована зашифрована конфігурація", + "zh-cn": "固定加密配置" + }, "1.16.1": { "en": "Improved the configuration layout", "de": "Verbessert das Konfigurationslayout", @@ -94,19 +107,6 @@ "pl": "posiadamy powiązania z nowymi urządzeniami\nwskazuje się, że LEVEL jest niewidomy (okrążając #681)", "uk": "ми зв'язали зображення нових пристроїв\nми забезпечуємо, що LEVEL точки даних жалюзі є рівнем ролі.blind (закривається No681)", "zh-cn": "我们有新装置的图像链接。\n我们确保盲人数据点的作用水平。" - }, - "1.15.15": { - "en": "Retry once on `(UNREACH)` and `Failure` errors to avoid tmeporary communication issues (closes #467)\nwe have updated some device icons", - "de": "Wiederholen Sie einmal auf (UNREACH) und Fehler, um tmeporäre Kommunikationsprobleme zu vermeiden (schließt #467)\nwir haben einige gerätesymbole aktualisiert", - "ru": "Повторяйтесь один раз на (UNREACH) и ошибках неисправности, чтобы избежать спорных вопросов связи (закрыты #467)\nмы обновили некоторые иконки устройства", - "pt": "Retira uma vez sobre (UNREACH) e erros de falha para evitar problemas de comunicação tmeporária (fecha #467)\nnós atualizamos alguns ícones de dispositivo", - "nl": "Herhaal één keer op en falen fouten om tmeporaire communicatieproblemen te voorkomen\nwe hebben wat apparaat iconen geüpload", - "fr": "Retry once on (UNREACH) and Failure erreurs to avoid tmeporary communication issues (closes #467)\nnous avons mis à jour quelques icônes de périphérique", - "it": "Riprovare una volta su (UNREACH) e Errori di errore per evitare problemi di comunicazione tmeporary (chiude #467)\nabbiamo aggiornato alcune icone del dispositivo", - "es": "Retry once on (UNREACH) and Failure errors to avoid tmeporary communication issues (closes #467)\nhemos actualizado algunos iconos de dispositivo", - "pl": "Retry raz na (UNREACH) oraz Failure error to avoid tmeporary communication (zamknięty #467)\nposiadać pewne ikony urządzeń", - "zh-cn": "恢复原状(UNREACH)和不失误以避免异常的通信问题(第467号)\n我们更新了一些装置的掩体", - "uk": "Повторіть один раз після помилок `(UNREACH)` і `Failure`, щоб уникнути тимчасових проблем із зв'язком (закриває #467)\nми оновили деякі значки пристроїв" } }, "authors": [ diff --git a/package-lock.json b/package-lock.json index 661c07e5..c878c7d1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "iobroker.hm-rpc", - "version": "1.16.1", + "version": "1.17.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "iobroker.hm-rpc", - "version": "1.16.1", + "version": "1.17.0", "license": "MIT", "dependencies": { "@iobroker/adapter-core": "^3.0.4", diff --git a/package.json b/package.json index b9838b32..309c1191 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "iobroker.hm-rpc", - "version": "1.16.1", + "version": "1.17.0", "description": "Connects HomeMatic Interface-Processes (BidCos-Services, Homegear and CUxD) via XML-RPC or BIN-RPC to ioBroker", "author": { "name": "hobbyquaker",