UNPKG

@homebridge-plugins/homebridge-ewelink

Version:

Homebridge plugin to integrate eWeLink devices into HomeKit.

1,417 lines (896 loc) 42.7 kB
# Change Log All notable changes to homebridge-ewelink will be documented in this file. ## v12.6.2 (2025-07-24) ### Other Changes - dependency updates ## v12.6.1 (2025-07-18) ### Other Changes - add maintainer message ## v12.6.0 (2025-07-13) ### Notable Changes - fix custom plugin config modal styles in ui 5 - fix eve characteristics for hb 2 - fix custom characteristics for hb 2 ### Other Changes - fix plugin name in release workflow - add permissions to workflows - improvements to the deprecate workflow ## v12.5.0 (2025-07-12) ⚠️ This plugin no longer officially supports Node `v16` and `v18`, however there is no reason why it shouldn't work on these versions. ### Notable Changes - set `strictValidation` to `true` in the config schema file ### Other Changes - github repo maintenance ## v12.4.1 (2025-03-22) ### Changed - updated dependencies ### Fixed - fix hap-nodejs permissions for hb2 ## v12.4.0 (2025-02-24) ### Added - add support for Zigbee Smart Water Valve (SWV-BSP) (#646) (@etienne678) - models with UIIDs `226` and `7010` ### Changed - updated dependencies ## v12.3.3 (2024-10-12) ### Changed - added `homepage` to `package.json` - updated dependencies ## v12.3.2 (2024-10-12) ### Changed - Support node 22 - Bump `node` recommended versions to v18.20.4 or v20.18.0 or v22.9.0 ### Fixed - fixed cases where the plugin would crash when a device update fails ## v12.3.1 (2024-07-15) ### Changed - Updated `eslint` and use new code style ### Fixed - fix `hap-nodejs` api refs ## v12.3.0 (2024-07-13) ### Added - Support for ZigBee Bridge Ultra with UIID `243` - Support for Sonoff TX-4 Ultimate with UIID `212` ## v12.2.1 (2024-07-13) ### Changed - Fixed for `hap-nodejs` v1.0.0 - Updated dependencies - Bump `node` recommended versions to v18.20.4 or v20.15.1 ## v12.2.0 (2024-03-27) ### Added - Support for ZigBee occupancy sensor with UIID `7016` - Support for ZigBee thermostat with UIID `7017` ### Changed - Changed Rotation Speed characteristic for Fans from percentage to levels (#534) (@vadimpronin) - Bump `node` recommended versions to v18.20.0 or v20.12.0 - Updated dependencies ### Fixed - Fix UIID 182/190 power readings ## v12.1.0 (2023-12-16) ### Added - Support for ZigBee button with UIID `7000` - Support for ZigBee switch with UIID `7005` ### Changed - Added plugin display name - Don't overwrite the IP of a LAN device if it reports a different IP - Bump `node` recommended versions to v18.19.0 or v20.10.0 - Updated dependencies ## v12.0.0 (2023-10-24) ### Added - Support for ZigBee motor device with UIID `7006` - Brightness and colour support for light device with UIID `173` ### Changed - Updated dependencies - Bump `node` supported versions to v18.18.2 or v20.8.1 ### Removed - Support for node 16 ## v11.0.2 (2023-08-28) ⚠️ Note this will be the last version of the plugin to support Node 16. - Node 16 moves to 'end of life' on 2023-09-11 ([more info](https://nodejs.org/en/blog/announcements/nodejs16-eol)) - This is in-line with the Homebridge guidelines on supporting node versions ([more info](https://github.com/homebridge/homebridge/wiki/How-To-Update-Node.js/)) - If you are currently using Node 16, now is a good time to upgrade to Node 18 or 20 (see the link above for more info) ### Changed - Update `axios` to `v1.5.0` ## v11.0.1 (2023-08-19) ### Changed - Bump `node` recommended versions to v16.20.2 or v18.17.1 or v20.5.1 - Some code refactoring ## v11.0.0 (2023-07-24) ### Added - Support for `B02-BL` - Support for `SONOFF SNZB-02D` - Support for devices with UIID `191` with LAN mode - Support for devices with UIID `7014` ### Breaking - Remove official support for Node 14 - Remove option to disable plugin - this is now available in the Homebridge UI - Remove option for debug logging - this will be enabled when using a beta version of the plugin - Remove individual accessory logging options to simplify the config ### Changed - Bump `homebridge` recommended version to v1.6.0 or v2.0.0-beta - Bump `node` recommended versions to v16.20.1 or v18.17.0 or v20.5.0 - Updated dependencies ## v10.4.0 (2023-01-07) ### Added - Expose a Sonoff D1 or KING-M4 as a fan accessory type - Improved support for SwitchMan devices (Sonoff R5) ### Changed - Bump `axios` to v1.2.2 - Bump `homebridge` recommended version to v1.6.0 or v2.0.0-beta - Bump `node` recommended versions to v14.21.2 or v16.19.0 or v18.13.0 ### Fixed - Power readings for POWR320 now show correctly ## v10.3.0 (2022-11-11) ### Added - Support NSPanel Pro (as a temperature sensor) [UIID 195] ### Changed - Bump `node` recommended versions to v14.21.1 or v16.18.1 or v18.12.1 - Bump `ws` to v8.11.0 ## v10.2.0 (2022-10-09) ### Added - Support devices with UIID 173 (Sonoff L3) - Support devices with UIID 3258 (Zigbee RGBW light) - Work-in-progress for devices with UUIDs: - 130 (SPM sub-unit) - 174 (SwitchMan devices) - 1514 (Zigbee motor controller) ### Changed - Allow for node v18.10.0 - Update axios to `v1.1.2` ### Fixed - Incorrectly exposing Sonoff M5 devices as programmable switches ## v10.1.0 (2022-09-25) ### Added - Support devices with UUID 128 (SPM Main Unit) - Support devices with UUID 154 (DW2-Wifi-L) - Support devices with UUID 168 (Zigbee Bridge Pro) - Support devices with UUID 190 (POWR316/POWR316D/POWR320D) - Work-in-progress for devices with UUIDs: - 130 (SPM sub-unit) - 174 (SwitchMan devices) - 173 (Sonoff L3) - 1514 (Zigbee motor controller) - 3258 (Zigbee RGBW light) ### Changed - Correct parameters for `updatePlatformAccessories()` - Bump `node` recommended versions to v14.20.1 or v16.17.1 - Bump `ws` to v8.9.0 - Updated dev dependencies ## v10.0.0 (2022-07-08) ⚠️ After updating to this version: - Each time you start the plugin, you will be logged out the eWeLink app, and so I would recommend: - Creating a new eWeLink account, and sharing your devices to this new account - **Most importantly**, you should use your **main** account with the plugin, and login to the eWeLink app with your shared account ### Added - Use a custom eWeLink APPID and APPSECRET if needed ### Changed - Bump `node` recommended versions to v14.20.0 or v16.16.0 ## v9.1.0 (2022-07-07) ⚠️ This update may remove some devices from your Homebridge instance. Unfortunately this is out my control. See [this link](https://github.com/homebridge-plugins/homebridge-ewelink/issues/385#issuecomment-1176457283). ### Added - Support for Sonoff TH Elite ### Changed - Bump `ws` to v8.8.0 - Updated dev dependencies ## v9.0.1 (2022-06-08) ### Changed - Bump `node` recommended versions to v14.19.3 or v16.15.1 ### Fixed - A potential issue showing errors in the logs ## v9.0.0 (2022-05-29) ### Potentially Breaking Changes ⚠️ The minimum required version of Homebridge is now v1.4.0 ⚠️ The minimum required version of Node is now v14 ### Changed - Changed to ESM package - Bump `node` recommended versions to v14.19.3 or v16.15.0 ## v8.15.0 (2022-05-02) ### Added - **New Devices** - Sonoff S40 - **New Log Languages** - Thai (thanks [@tomzt](https://github.com/homebridge-plugins/homebridge-ewelink/pull/367)) - **Configuration** - `offlineAsOff` option for light devices - enable to show offline devices as 'off' in Homebridge/HomeKit ### Changed - Bump `axios` to v0.27.2 - Bump `ws` to v8.6.0 - Bump `node` recommended versions to v14.19.1 or v16.15.0 ## v8.14.0 (2022-04-17) ### Added - **New Devices** - Sonoff B05-BL-A19 bulbs (UIID 136 devices) (also supports LAN mode) - Sonoff MINIR3 (UIID 138 devices) (also supports LAN mode) - Sonoff S-Mate (UIID 177 devices) as a Stateless Programmable Sensor ## v8.13.2 (2022-04-03) ### Changed - Updated dependencies ## v8.13.1 (2022-03-20) ### Changed - Bump `axios` to v0.26.1 - Bump `node` recommended versions to v14.19.1 or v16.14.2 ## v8.13.0 (2022-02-23) ### Added - Support DUALR3 Lite ### Changed - Bump `axios` to v0.26.0 ## v8.12.0 (2022-02-12) ### Added - Option to disable the timer for irrigation valve simulations - Power information to supported devices in internal API - Target temperature threshold for TH-heater simulation, see #346 ### Changed - Bump `node` recommended versions to v14.19.0 or v16.14.0 - Bump `homebridge` recommended version to v1.4.0 - Bump `ws` to v8.5.0 ## v8.11.2 (2022-01-23) ### Changed - Bump `axios` to v0.25.0 ### Fixed - Fix LAN mode support for iFan04 ## v8.11.1 (2022-01-15) ### Changed - Bump `ws` to v8.4.2 ### Fixed - `undefined` log message on web socket error ## v8.11.0 (2022-01-13) ### Added - Option to ignore eWeLink homes by ID (IDs will be displayed in the log when plugin starts) ### Changed - Bump `node` recommended versions to v14.18.3 or v16.13.2 - Bump `ws` to v8.4.1 ### Fixed - Minor colour temperature issue for Mangotek RLD60C0E27 (UIID 33) ## v8.10.0 (2022-01-07) ### Added - **New Devices** - Support for Mangotek RLD60C0E27 light (devices with UIID 33) - Support for Zigbee Smoke Sensors (devices with UIID 5026) ### Fixed - Plugin crash for older versions of Homebridge ## v8.9.1 (2022-01-05) ### Changed - Plugin will log HAPNodeJS version on startup - Bump `homebridge` recommended version to v1.3.9 ## v8.9.0 (2021-12-27) ### Added - Option to show both 'Heat' and 'Cool' modes for the TH10/16 thermostat simulation ## v8.8.0 (2021-12-21) ### Added - **New Devices** - Support for SwitchMan M5 (1/2/3 Gang) - Support for Sonoff NSPanel - **Simulations** - Expose a single-channel device as a `Heater` or `Cooler` accessory type, using the current temperature value from another eWeLink, Govee or Meross sensor (Govee and Meross sensors will not work with HOOBS) - Current temperature values from sensors will be cached in the homebridge storage directory to allow my other plugins to create `Heater` and `Cooler` accessories with the temperature values - **eWeLink Groups** - Expose eWeLink groups as HomeKit switches ### Changed - Some config options rearranged for easier access - Bump `ws` to v8.4.0 ## v8.7.1 (2021-12-09) ### Fixed - Show 'Hide Channels' and 'Inched Channels' in config schema form even when no 'Show As' is selected ## v8.7.0 (2021-12-08) ### Added - Support Sonoff L2 - Expose a single or multi-channel generic switch as a `Audio Receiver`, `Set Top Box` or `Streaming Stick` HomeKit category types - The accessory will need to be published as an external accessory meaning it will need to be added separately to HomeKit - Expose an Eachen GD-DC5 as a lock simulation ### Changed - Bump `homebridge` recommended version to v1.3.8 - Bump `node` recommended versions to v14.18.2 or v16.13.1 - Bump `ws` to v8.3.0 ### Fixed - Potential uncaught errors updating subdevices of an RF bridge ## v8.6.0 (2021-11-18) ### Added - The plugin will now retrieve devices from **all** your homes in your eWeLink account - Expose an RF Bridge `curtain` device type as a HomeKit `WindowCovering`, `Door` or `Window` accessory simulation - Expose a TH10/16 as a `Thermostat` device type ### Fixed - An issue initialising a 2-Garage-Door simulation ## v8.5.0 (2021-11-03) ### Added - Ability to use a contact sensor simulation to show the correct state of a garage door/lock simulation ## v8.4.2 (2021-10-31) ### Changed - Bump `node` recommended versions to v14.18.1 or v16.13.0 - Bump `axios` to v0.24.0 ## v8.4.1 (2021-10-20) ### Changed - Some small changes to Fakegato debug logging ### Fixed - An Eve app 'no data' gap for garage and contact sensor devices when restarting the plugin ## v8.4.0 (2021-10-16) ### Added - Expose a single or multi-channel device as a gate type (shown as garage door) - If you use the Home app to open the door, it will then automatically close after a configured number of seconds ### Changed - `disableNoResponse` will be set to `true` by the plugin when using in LAN mode - Recommended node versions bumped to v14.18.1 or v16.11.1 - Recommended Homebridge bumped to v1.3.5 - Bump `axios` to v0.23.0 ### Fixed - An error when trying to unregister a hidden accessory from Homebridge ## v8.3.6 (2021-10-01) ### Changed - Bump `ws` to v8.2.3 ## v8.3.5 (2021-10-01) ### Changed - Bump `axios` to v0.22.0 ## v8.3.4 (2021-09-30) ### Changed - Recommended node versions bumped to v14.18.0 or v16.10.0 ## v8.3.3 (2021-09-14) ## Fixed - Fixed an issue where an irrigation valve simulation would not turn off after the set time ## v8.3.2 (2021-09-09) ### Changed - `configureAccessory` function simplified to reduce chance of accessory cache retrieval failing - Bump `axios` to v0.21.4 - Bump `ws` to v8.2.2 ## v8.3.1 (2021-09-05) ### Changed - Recommended node version bumped to v14.17.6 - Bump `axios` to v0.21.3 - Bump `ws` to v8.2.1 ## v8.3.0 (2021-08-26) ### Added - Support for KingArt KING-Q1 garage door device - Expose KingArt KING-Q4 device as a `Window` or `Door` HomeKit accessory type - Custom Eve characteristic to invert status of inched switch without sending a command to device ### Changed - 'Status By Inching' switches will no longer revert to 'off' when Homebridge is restarted ## v8.2.1 (2021-08-22) ### Changed - Bump `ws` to v8.2.0 ### Fixed - An issue preventing DUALR3 from initialising - Fix for uiid `112` ## v8.2.0 (2021-08-22) ### Added - Support for UIIDs `138` `139` `140` `141` ## v8.1.0 (2021-08-17) ### Added - `inchChannels` option for multi-channel switches and outlets (where the plugin will set on/off status based on inching) - `language` option to have the plugin log in French, thanks to @jp-lno ## v8.0.2 (2021-08-12) ### Changed - **Platform Versions** - Recommended node version bumped to v14.17.5 ## v8.0.1 (2021-08-04) ### Changed - Improved battery calculations for DW2 sensors ## v8.0.0 (2021-07-29) ### Important Note - Your Accessory Simulations will stop working with this update if you have not re-set them up in the appropriate device configuration sections. - **There is no longer a separate Accessory Simulations section** - It is recommended to re-setup your simulations **before** updating to this version ### Added - **Single Channel Devices** - Option to configure a single channel device to set its status based on device inching - **DUALR3 Motor Mode** - Expose a DUALR3 in motor mode as a `GarageDoorOpener` accessory type - **Temperature/Humidity Sensor Devices** - Option to offset recorded temperature or humidity by a scale factor - **Configuration** - `disableNoResponse` setting to disable marking cloud-offline devices as 'No Response' in HomeKit - Plugin will now check for duplicate device ID entries in the config and ignore them ### Changed - ⚠️ **Platform Versions** - Recommended node version bumped to v14.17.4 - Recommended homebridge version bumped to v1.3.4 - ⚠️ **Accessories** - Plugin will now mark cloud-offline devices with 'No Response' by default - Plugin will now use HomeKit `Battery` service type instead of `BatteryService` - **Backend** - Plugin will now reattempt initial HTTP connection on `ECONNABORTED` error ### Fixed - Plugin will correctly update `StatusLowBattery` characteristic with `INT` instead of type `BOOL` ### Removed - ⚠️ `offlineAsNoResponse` configuration setting - is now default - can be disabled with new `disableNoResponse` setting - ⚠️ `ignoredDevices` configuration setting - now use the `ignoreDevice` option in the device type sections - ⚠️ `groups` configuration setting - now use the `showAs` option in the device type sections ## v7.1.0 (2021-07-10) ### Added - **New Devices** - Support for Zigbee multi-channel devices ### Changed - **Homebridge UI** - `label` field now appears first in the device configuration sections - A device can now be ignored/removed from Homebridge by the `ignoreDevice` setting in the device configuration sections - Bump `ws` dependency to v7.5.3 ## v7.0.2 (2021-07-08) ### Changes - Revert node version bump to v14.17.3 (back to v14.17.2) ### v7.0.1 (2021-07-08) ### Changes - Device model in configuration will be validated ### Fixed - An issue preventing garage doors and locks with a defined sensor from initialising ## v7.0.0 (2021-07-08) ### Important Notes - This release includes breaking changes (denoted below with a ⚠️), so take note especially if: - You use the plugin in LAN-only mode, - You have Sonoff devices exposed as Outlet accessories, or - You use Accessory Simulations ### Added - **LAN Mode (without eWeLink credentials)** - The plugin now supports removing eWeLink credentials from the config when in LAN mode. It is important to read about this feature before enabling it - [read more](https://github.com/homebridge-plugins/homebridge-ewelink/wiki/Connection-Methods#lan-mode-without-ewelink-credentials) - **Homebridge UI** - Device-specific settings will show and hide depending on the new 'Device Model' (`deviceModel`) option - This showing/hiding of options will hopefully be available in the HOOBS UI soon - **Accessory Logging** - `overrideLogging` setting per device type (to replace the removed `overrideDisabledLogging`), which can be set to (and will override the global device logging and debug logging settings): - `"default"` to follow the global device update and debug logging setting for this accessory (default if setting not set) - `"standard"` to enable device update logging but disable debug logging for this accessory - `"debug"` to enable device update and debug logging for this accessory - `"disable"` to disable device update and debug logging for this accessory - **Startup Logging** - An accessory warning if a manually configured IP is different from the discovered IP - An accessory warning if a shared device is used over the cloud - An accessory warning if a cloud-device is reported offline - **No Response Status** - Added a global setting `offlineAsNoResponse` to mark cloud-offline accessories as 'No Response' in HomeKit - **Power Readings** - Power readings (via Eve app) now visible for accessories when exposed as `Switch` - **DUALR3 Devices** - Support for LAN mode control for DUALR3 in motor mode - Power readings (via Eve app) available when in motor mode - Option to expose as a `WindowCovering`, `Window` or `Door` accessory type when in motor mode - **iFan Devices** - Support for LAN mode and ability to specify a manual IP - **TH10/16 Devices** - Support for LAN mode for all Accessory Simulations and ability to specify a manual IP - **RF Bridge Devices** - Ability to change sensor type and other configurable options without the need to re-add the accessory - Configuration option `resetOnStartup` to reset the subdevices, useful when adding/removing subdevices to the bridge - Added option to specify a manual IP for an RF Bridge - Added option to expose an RF sensor device as a `Doorbell` accessory type - Added option to expose an RF sensor device as a `StatelessProgrammableSwitch` accessory type - **Light Devices** - Remove Adaptive Lighting feature from a device by setting the `adaptiveLightingShift` to `-1` - **Zigbee Button Devices** - Comparison of trigger time against notification time to reduce duplicate accessory updates - Will no longer request current state when coming back online to reduce duplicate accessory updates - **Zigbee Switch Devices** - Option to expose as an `Outlet` - **Humidity Sensor Devices** - Config option to offset the recorded humidity (%RH) for devices that report this - **Accessory Simulations** - Expose a generic single/multi-channel device as a `Doorbell` accessory - Expose a generic single/multi-channel device as a `StatelessProgrammableSwitch` accessory - Added the option of using a DW2 or Zigbee contact sensor to determine _Locked_ and _Unlocked_ state for lock simulation - Power readings (via Eve app) visible for simulations when using a DUALR3 device - **New Devices** - Support for Zigbee leak sensors - Support for device with eWeLink UIID 67 _RollingDoor_ ### Changed - **LAN Mode** - ⚠️ If you have the plugin in `lan`-only mode then the plugin will remove any accessories that do not support LAN mode - **Configuration** - ⚠️ The 'Outlet Devices' (`outletDevices[]`) section has been removed from the configuration - you will need to reconfigured these devices within the 'Single Devices' (`singleDevices[]`) section - **Accessory Simulations** - ⚠️ The 'Accessory Simulations' (`groups[]`) section will be removed in a future plugin version - you should now setup your simulations from within the appropriate device type section using the 'Show As' setting - Simulations for TH10/16, DW2 and `doorbell`, `p_button` & `sensor` will need to be recreated immediately - Garage door, window blind, door, window, valve, tap, lock and switch-valve simulations will continue to work for now but will need to be recreated at some point in the future - ⚠️ Eachen GD-DC5 devices no longer need to be setup as a simulation if this deviceModel is chosen in the configuration - **Outlet Devices** - ⚠️ Will now be exposed by default as `Switch`, use the 'Show As' setting to change back to `Outlet` if needed - **Homebridge UI** - More interactive - device configuration will expand once device ID and model entered - Device configuration options will now hide/show based on the `deviceModel` field - **Startup Logging** - Accessory configuration options will be logged regardless of logging level - **iFan Devices** - Previous fan speed will be used again after turning off and on - **Polling** - Polling for power/temperature/humidity readings increased to two minutes - Polling for power/temperature/humidity readings will be skipped if device is marked as offline - **Configuration** - `sensorTimeDifference` minimum reduced to 5 seconds and default reduced to 60 seconds - **Dependencies** - Recommended node version bump to v14.17.3 - Bump `ws` dependency to v7.5.2 ### Fixed - An issue preventing controlling a garage door simulation when using a sensor - An issue with the DUALR3 in motor mode hanging on 'Closing...' or 'Opening...' - Fixed the multiple notifications when closing an Eachen device garage door - A `RangeError` error which caused HOOBS bridge to restart ### Removed - `overrideDisabledLogging` setting for each accessory type - `outletDevices[]` configuration section - `switchDevices[].showAsOutlet` removed - use `switchDevices[].showAs` instead - `ContactSensorState` and other unneeded characteristics from garage (simulation) services ## v6.8.0 (2021-06-14) ### Added - **Accessory Simulations** - Expose a single/multi channel device as any type of sensor - Expose a single/multi channel device an _Air Purifier_ - Expose a TH10/16 device as a _Cooler_ - Expose a TH10/16 device as a _Humidifier_ - Expose a TH10/16 device as a _Dehumidfier_ - **LAN Mode** - Enabled for TH10/16 (requires firmware 3.5.0) - **Plugin UI** - Show MAC address of accessory in plugin-ui ### Changed - TH10/16 simulation accessory type change from _Thermostat_ to _Heater_ ### Removed - Remove `setup` config option for simulations as device type is now automatically determined ### Fixed - Fix a logging issue for the zigbee contact sensor ## v6.7.1 (2021-05-27) ### Fixed - Fixes an issue with sensors with a garage simulation - Fixes an issue with TH10/16 devices with web socket timeouts ## v6.7.0 (2021-05-26) ### Added - Hide a contact sensor from HomeKit when used with a garage door simulation - Support devices with eWeLink UIID 112, 113, 114 ### Changed - Avoid repeated battery logging for the Sonoff DW2 - iFan logging modifications - Throw an error when controlling a device when the web socket is closed (avoid queuing updates) - Recommended node version bump to v14.17.0 - Bump `ws` dependency to v7.4.6 - Use `standard-prettier` code formatting ### Fixed - Fix internal API auth issue when using a base64 encoded password ## v6.6.0 (2021-05-10) ### Added - Log internal API requests when in debug mode - Support querying temperature and humidity values via the internal API ### Changed - Display temperature and humidity units for the zigbee temperature/humidity sensor in the logs - Reduce the 'No Response' timeout to 2 seconds - Update the correct corresponding characteristic after the 'No Response' timeout - Ensure user is using at least Homebridge v1.3.0 - Update homebridge-ui wiki links to match github readme file ### Removed - Removed `encodedPassword` and `language` config options - The plugin will now initially try the supplied password and if incorrect will attempt another login with a base64 decoded version - Language option unnecessary until if and when other languages are available ### Fixed - Fixes an issue where the web socket would not close on plugin shutdown ## v6.5.1 (2021-05-07) ### Changed - Amendments to internal API endpoints - Device IP changes will now reflect correctly ### Fixed - Fixes an initialisation issue with the 'garage' and 'obstruction detection' switch simulations ## v6.5.0 (2021-05-06) ### Added - Internal HTTP API to query/control the state of certain homebridge-ewelink accessories - Options for new configuration setting `apiPort` are: - `0` to disable the API (default setting) - `1` to enable the API with a random available port (port will be shown in the log) - Any higher integer to enable the API on this fixed port - Documentation for the API can be seen at the base url (Homebridge IP + API port) ## v6.4.0 (2021-05-04) ### Added - Power, voltage and current readings for DUALR3 when exposed as outlets - RF Bridge remote buttons will turn on for 3 seconds in HomeKit when pressed - Link a Zigbee contact sensor to a single garage door to report the garage door state - Set a temperature offset for the Zigbee temperature/humidity sensor - Configuration options to manually set account http host and country code [#249](https://github.com/homebridge-plugins/homebridge-ewelink/pull/249) ### Changed - Change Sonoff POWR2/S31 polling interval to a fixed 60 seconds - iFan speed will now log as {low, medium, high} - Remove 'Outlet In Use' characteristics for outlets that don't support power readings - Remove Eve power characteristics for outlets that don't support power readings - More language strings added to separate language file - Accessory 'identify' function will now add an entry to the log - Backend refactoring, function and variable name changes ## v6.3.0 (2021-04-28) ### Added - Support DUALR3 motor mode (as a _WindowCovering_ service) ### Changed - Remove old _Switch_ services from DUALR3 when in motor mode - iFan devices now use caching to avoid unnecessary duplicate updates - Increase ws timeout from 5 to 6 seconds - Decrease lan-only timeout from 10 to 9 seconds ## v6.2.2 (2021-04-27) ### Changed - Adjust iFan speed thresholds (now 0% is off, 1-33% is low, 34-66% is medium and 67-100% is high) - Changed commands for multi-channel devices to only update desired channel (not all channels) - Pause Adaptive Lighting if device is offline - Automatically retry eWeLink login on startup in case of certain error codes - Update package description (remove 'with original firmware' as this is redundant for eWeLink devices) ## v6.2.1 (2021-04-18) ### Changed - Trim new lines and spaces from password when decoded from base64 - Updated dependencies (`ws`) ## v6.2.0 (2021-04-16) ### Added - LAN mode for Sonoff RF Bridge ### Changed - More compact logging for eWeLink 504 error - Recover accessories from the cache using the UUID - Reduce WS timeout to 5 seconds to reduce cases of `was slow to respond` HB warning - Update wiki links in the Homebridge plugin-ui ### Removed - Remove online/offline status for Zigbee sensor devices ### Fixed - Fix characteristic NaN warning for `LastActivation` ## v6.1.2 (2021-04-14) ### Fixed - Remove any existing humidity sensor for TH10/16 if DS18B20 sensor is used ## v6.1.1 (2021-04-13) ### Fixed - Fixed an unhandled rejection error when controlling certain CCT bulbs ## v6.1.0 (2021-04-12) ### Added - Support for doorbell model SA-026 (can be exposed as any sensor type as per other RF sensors) - Updated plugin-ui 'Support' page links to match GitHub readme file ### Changed - Improvements to RF Bridge: - No more characteristic warnings for `LastActivation` for motion and contact sensors - Removed logs for 'not triggered' if device has since been triggered again ## v6.0.3 (2021-04-08) ### Fixed - Revert 'No Response' messages for **DW2** devices as they go on and offline - Fixed the interval time length for calculating total energy consumption for relevant devices ## v6.0.2 (2021-04-07) ### Changed - Revert 'No Response' messages for **DW2** devices as they go on and offline ## v6.0.1 (2021-04-07) ### Requirements - **Homebridge Users** - This plugin has a minimum requirement of Homebridge v1.3.3 - **HOOBS Users** - This plugin has a minimum requirement of HOOBS v3.3.4 ### Changed - 'No Response' messages for **Zigbee and DW2** devices as they go on and offline - 'No Response' messages for **all devices** if controlled and unsuccessful (and this status will be reverted after 5 seconds) - Use the new `.onGet`/`.onSet` methods available in Homebridge v1.3 - Updated README to reflect minimum supported Homebridge/HOOBS and Node versions - Updated recommended Node to v14.16.1 ### Fixed - Fixes a caching issue with the iFan accessory ## v5.6.0 (2021-03-25) ### Added - Enter your eWeLink password as a base64 encoded string and use the option `encodedPassword` to let the plugin know ([#223](https://github.com/homebridge-plugins/homebridge-ewelink/issues/223)) - Support for zigbee colour temperature lights (ewelink uiid 1258) ([#222](https://github.com/homebridge-plugins/homebridge-ewelink/issues/222)), including: - Ikea Tradfri E14 600 lumen ### Changed - Improvements to web socket connection: ([#224](https://github.com/homebridge-plugins/homebridge-ewelink/issues/224)) - On startup, the plugin will wait to connect to the web socket before initialising devices - A new web socket address will be requested if the provided address causes errors - In particular this should fix the `ENOTFOUND as-pconnect4.coolkit.cc` error that some users in the Asia continent were receiving ## v5.5.1 (2021-03-21) ### Changed - Remove the custom `minValue` for `CurrentTemperature` characteristic - More welcome messages - Updated `plugin-ui-utils` dependency ## v5.5.0 (2021-03-17) ### Added - Enable LAN control for the Sonoff SV - Log entries will show for 'uncontrollable' devices if `mode:lan` on plugin startup - Log entries to highlight unnecessary top-level configuration options you may have set - Added a note in the plugin settings about changing RF bridge sensors and its consequences ### Changed - Remove country code configuration option as the plugin can determine your region automatically - Modified config schema to show titles/descriptions for non Homebridge UI users - Automatically show useful info in logs for 'yet to implement' devices - Updated links on plugin-ui to match GitHub wiki - [backend] Eve characteristics abstracted into separate file for better efficiency ## v5.4.0 (2021-03-14) ### Added - The plugin now differentiates between LAN support for **incoming** and **outgoing** updates, allowing incoming updates for: - TH10/16 - B02 and B05 bulbs ### Fixed - Attempt to fix outlet polling updates so the device reports updated info rather than the previous info. ## v5.3.0 (2021-03-10) ### Added - Set up a polling interval for outlet devices to obtain power information on a regular basis (useful when the device doesn't automatically send frequent updates) ### Changed - Adaptive Lighting now requires Homebridge 1.3 release - Garages no longer need 'dummy' contact sensor to view Eve history - For this reason, the `exposeContactSensor` setting is now redundant and so has been removed - Outlet intervals for energy calculation and updates will stop on Homebridge shutdown ## v5.2.0 (2021-03-08) ### Added - **Accessory Simulations** - Expose an optional contact sensor for Eachen garage devices for historical data in the Eve app - Set custom minimum/maximum target temperatures for the TH10/16 thermostat simulation ### Changed - Specify a custom IP for the Sonoff D1 - Show full error stack on plugin disable in debug mode - Updated dependencies ### Fixed - Fixes a `multiple callback` error with CCT bulb accessories ## v5.1.1 (2021-03-02) ### Fixed - Fixes an issue sending LAN updates to multi-channel devices ## v5.1.0 (2021-03-02) ### Added - **Accessory Simulations** - Added `Door` service type simulation - Added `Window` service type simulation - [experimental] Specify different operation time for UP and DOWN for garages, blinds, doors and windows - **Accessories** - Support for Sonoff DUALR3 - Support for Konesky Mosquito Killer - Support for Sonoff SC (Sensor Centre) - [experimental] Support for Sonoff D1 LAN control ### Changed - Less strict threshold for determining a 'significant' colour change for disabling Adaptive Lighting ## v5.0.6 (2021-02-26) ### Fixed - Removes the extra _Switch_ service that was accidentally added to certain bulbs ## v5.0.5 (2021-02-25) ### Changed - Reverse the polarity of the leak sensor simulation - You can expose a DW2 sensor as a leak sensor using [this guide](https://www.youtube.com/watch?v=YFu2LZfrrqs) as an Accessory Simulation ## v5.0.4 (2021-02-24) ### Changed - Plugin will check that certain Accessory Simulations have been setup with the device type - Hide IP address field in plugin settings if plugin `mode` is set to `wan` ## v5.0.3 (2021-02-24) ### Changed - Remove old _Switch_ services when setting up Accessory Simulations - Add the type of Accessory Simulation to the logged options on restart ## v5.0.2 (2021-02-24) ### Fixed - Fixes an issue initialising Accessory Simulation Lock devices ## v5.0.1 (2021-02-24) ### Fixed - Fixes an issue initialising Contact Sensor devices ## v5.0.0 (2021-02-24) - ⚠️ This release includes an overhaul of the settings in particular to specific device configuration - The following options have been replaced: - `hideChanFromHB`, `switchAsOutlet`, `outletAsSwitch`, `inUsePowerThreshold`, `hideLightFromFan`, `hideSwitchFromTH`, `thAsThermostat`, `resetRFBridge`, `lowBattThreshold`, `sensorTimeDifference`, `bulbB02BA60`, `bulbB02FST64`, `thTempOffset`, `hideZBLDPress`, `ZBDWBatt`, `ipOverride` - If you use any of the above options then please take some time to review the changes after updating the plugin - Detailed information about the changes can be seen [here](https://gist.github.com/bwp91/e87d9d3eb0e5dbc08e9ae7b31e33366e) ### Added - **Configuration** - The ability to explicitly enable device logging per device if you have `disableDeviceLogging` set to true - A `label` setting per device group which has no effect except to help identify the device when editing the configuration - New `brightnessStep` option to specify a minimum brightness step in the Home app per dimmer/bulb/LED strip - New `adaptiveLightingShift` option to offset the Adaptive Lighting values per bulb - `showAsOutlet` option extended multi-channel switch and light switch devices to expose them as outlets - **Accessories** - Enhanced Eve information available for contact sensors: - DW2 - Zigbee Contact Sensor - **Accessory Simulations** - Expose a DW2 contact sensor as a leak sensor - Sub-accessories will be removed automatically when setting up a new Accessory Simulation - **Homebridge Plugin UI** - 'My Devices' shows a red/green icon on the to show device WAN/LAN reachability - 'My Devices' shows the firmware version for your device - **New Devices** - Support for eWeLink switch uiid 81, 82, 83, 84 and 107 device types - Support for the 'Sonoff Hum' humidifier device (on/off and mode) ### Changed - New plugin configuration format - [more info](https://gist.github.com/bwp91/e87d9d3eb0e5dbc08e9ae7b31e33366e) - Device firmware version will now show correctly in HomeKit apps - Information about error 406 added to the logs in the form of a link (shown when error is received) - Updated minimum Node to v14.16.0 ### Fixed - Fixes a characteristic warning for _MotionDetected_ for Zigbee Motion Sensors ## v4.7.6 (2021-02-17) ### Fixed - Fixes an issue with the DW2 detecting garage door states ## v4.7.5 (2021-02-15) ### Changed - Fixes an issue with the DW2 detecting garage door states ## v4.7.4 (2021-02-15) ### Fixed - Fixes an issue when using custom RF sensors ## v4.7.3 (2021-02-13) ### Changed - Hide WS messages that have no useful information about a device - Thermostat accessory simulation will now setup after a small delay to let the accessory initialise first - Thermostat device will now suggest changing temperature scale from F to C in the eWeLink app - Changes to colour conversion: - Lighter colours appear brighter - Solid red is now easier to obtain via the Home app ## v4.7.2 (2021-02-12) ### Fixed - Fixes a bug where config items separated by a comma weren't adhered to properly - Stop subsequent warning messages if a device fails to initialise ## v4.7.1 (2021-02-11) ### Changed - The 'auto' and 'cool' modes will now be hidden for thermostat devices in the Eve app - Added a 10 second timeout when sending web socket messages - Updated dependencies: - `websocket-as-promised` to v2.0.1 - Fakegato library formatting and simplification ### Fixed - Fixed a bug when initialising lock accessory simulations ## v4.7.0 (2021-02-10) ### Added - Support for the [eWeLink thermostat](https://ewelinkcommunity.net/device-lists/heating/kkmoon-hc-t010-ewf/) device type - A queue for device updates to improve reliability, this also results in: - Faster device updates for colour bulbs and diffusers - Configuration checks to highlight in the logs any unnecessary or incorrectly formatted settings you have - Added a note in the plugin UI when adding an Accessory Simulation that the accessory will need to be removed from the cache - Links to 'Configuration' and 'Uninstall' wiki pages in the plugin-ui ### Changed - ⚠️ `ignoredDevices` configuration option is now an array not a string - [see details](https://gist.github.com/bwp91/90db67d578a8206c5a98a3447839f9e5) - Reinstated `ipOverride` into the Homebridge plugin UI screen - Improved colour temperature conversion for L1 and L1 Lite devices - HTTP error codes will be displayed in the logs if and when the plugin re-attempts the connection - Error messages refactored to show the most useful information - [Backend] Major code refactoring - [Backend] Code comments - Updated minimum Node to v14.15.5 - Updated minimum Homebridge to v1.1.7 - Updated dependencies ### Removed - Removed `nameOverride` configuration option - the plugin can now obtain channel names from eWeLink - Removed `resetRFBridge` option - the same usage can be achieved with `ignoredDevices` ### Fixed - Fixed a bug where Adaptive Lighting would not be disabled if the colour was changed from the eWeLink app - Fixed an issue with the 'Lock' Accessory Simulation where the status would never update as 'Unlocked' ## v4.6.1 (2021-02-02) ### Changed - Extra debug logging for WS reconnection status - Updated `ws` dependency to v7.4.3 ## v4.6.0 (2021-01-30) ### Added - **[Experimental]** Use a TH10/16 device as a thermostat using an Accessory Simulation [more info](https://github.com/homebridge-plugins/homebridge-ewelink/issues/161#issuecomment-770230157) - Support for the Zigbee type white bulb ### Changed - Updated plugin-ui-utils dep and use new method to get cached accessories - Increase the timeout for LAN control to 10 seconds for LAN only settings - Show LAN update errors in the log ## v4.5.1 (2021-01-28) ### Changed - Set the switch as the primary service of a TH10/16 device - Only show the line in error logs if it exists (no more `[line undefined]`) ### Fixed - Fixes an issue where RF sensors would not use a custom defined type (again!) ## v4.5.0 (2021-01-28) ### Added - Use a switch to control the `Obstruction Detected` feature of a garage door ### Changed - More consistent and clearer error logging ### Fixed - Fix for TH10/16 devices when the HomeKit switch would show the state of 'auto' mode - Fix for TH10/16 devices (shown as thermostat) where the plugin would not show the current state of the device - Fix for the display of watts/amps/volts for outlets that support this ## v4.4.5 (2021-01-24) ### Fixed - Fix where the battery for DW2 device would not update ## v4.4.4 (2021-01-24) ### Changed - Backend - better handling of errors ## v4.4.3 (2021-01-20) ### Fixed - Fixes an issue where RF sensors would not use a custom defined type ## v4.4.2 (2021-01-20) ### Changed - Minimum Homebridge beta needed for Adaptive Lighting bumped to beta-46 ### Fixed - Fixes an issue when adding new RF bridge devices ## v4.4.1 (2021-01-20) ### Changed - Fakegato logging disabled in Homebridge `debug` mode, can be explicitly enabled with `debugFakegato` ## v4.4.0 (2021-01-14) ### Added - Single Accessory Simulations for multi-channel devices (e.g. 1 valve using a Sonoff 4CH) - `operationTime` for Accessory Simulations will now be validated and increased to 20 if less than 20 or an invalid number ### Changed - ⚠️ **Accessory Simulations** - if use '1 Lock', '1 Tap/Faucet' or '1 Valve' you will need to update your configuration with the Device Setup field (via Homebridge UI) or adding the line `"setup": "oneSwitch"` directly to your configuration file in the groups section - Changes to plugin now in CHANGELOG.md ### Removed - Removed `Obstruction Detected` tests ## v4.3.0 (2021-01-12) ### Added - New Accessory Simulations: - 2 Taps/Faucets using a multi-channel device - 4 Irrigation Valves using a multi-channel device #182 - New `disableDeviceLogging` config option to hide device state logging #183 ### Changed - `hideDevFromHB` config option renamed to `ignoredDevices` - Minimum `operationTime` for associated Accessory Simulations increased to 20 (2 seconds) - Removal of maximum values on plugin settings screen for all `number` types - Changes to startup log messages - Adaptive lighting minimum Homebridge beta version is now beta-42 - Backend code changes - Updated dependencies