Configuration - homebridge-plugins/homebridge-ewelink GitHub Wiki

⚠️ It is recommended (and easier) to use the Homebridge UI plugin settings screen to configure the plugin. The settings screen is generated from the same source as this page, and always reflects the full, current set of options.

This page is for reference and for users who edit their configuration JSON manually.

Required Settings

Add the following to your configuration file inside the platforms array.

{
   "name": "eWeLink",
   "username": "your-ewelink-username",
   "password": "your-ewelink-password",
   "platform": "eWeLink"
}
  • ⚠️ The "platform": "eWeLink" line must not be changed
  • Use your main eWeLink account credentials (email or phone number including country code). In certain LAN-only setups the credentials can later be removed - see the Connection Methods page.

Optional Settings

Setting Type Default Explanation
mode string auto This setting defines how the plugin communicates with your devices. For further guidance, please refer to this wiki article.
language string en Language to use for logging.
disableDeviceLogging boolean - Global logging setting for accessory status changes. If true then accessory status changes will not be logged. This can also be set per accessory later in the config.
disableNoResponse boolean - If true, devices marked as cloud-offline will not be shown as 'No Response' in HomeKit.
ignoredHomes string - A list of comma-separated eWeLink home ids to ignore.
countryCode string - Override the default country code, may help with login issues for users in other regions.
appId string - Available if you want to override the eWeLink App ID.
appSecret string - Available if you want to override the eWeLink App Secret.
httpHost string - Available if you want to override the API host.
apiPort number - Port to use for the internal HTTP API. Set to 0 to disable. Set to 1 to choose a randomly available port.

Device Settings

These sections are arrays: each entry is an object defining custom options for one device (or one group of settings). In the Homebridge UI these appear as their own sections in the plugin settings.

Single Channel Devices (singleDevices)

Optional settings for single-channel switch, outlet and light switch devices.

Setting Type Default Explanation
label string - This setting has no effect except to help identify this device.
deviceId string - Enter the 10 digit eWeLink Device ID to begin.
ignoreDevice boolean - If true, this accessory will be removed and ignored from HomeKit.
deviceModel string - This setting has no effect except showing the relevant options for this model below.
showAs string - Expose this device as a different HomeKit accessory type.
showAsMotor string - Select the accessory type to show in HomeKit.
showAsEachen string - Select the accessory type to show in HomeKit.
inUsePowerThreshold number - HomeKit will set the 'In Use' status of outlet devices to true when the wattage is above this number. Must be 0 or more.
disableTimer boolean - If true, the timer for the valve will be removed.
temperatureSource string - Enter a eWeLink, Govee or Meross device ID which provides a current temperature reading.
isInched boolean - If true, the plugin will show the on/off status based on inching mode.
sensorType string - The type of sensor to use.
operationTime number - Garage doors: the time to open/close the device. Locks: the time to show as unlocked. This setting is in deciseconds - count the time in seconds and multiply by 10, for example 75 for 7.5 seconds. Must be 20 or more.
operationTimeDown number - If your garage door has a different operation time for up and down, use this setting to specify the operation time DOWN (in deciseconds) and the other setting to specify the operation time UP. Otherwise leave blank. Must be 20 or more.
invertGarageState boolean - Swap the reported open and closed states for this garage door. Useful if HomeKit shows the door as open when it is physically closed (and vice versa). This applies to garage doors without a defined contact sensor.
sensorId string - A DW2 or Zigbee contact sensor can be used for a single garage door or lock to determine the current state. Enter the 10 digit eWeLink Device ID (normally in the format 1000ab23cd). Otherwise leave blank.
hideSensor boolean - Hide this contact sensor accessory from HomeKit.
obstructId string - An optional switch that will trigger the Obstruction Detected feature depending on its value. Otherwise leave blank.
ipAddress string - You can manually set the IP address for this device if it cannot be discovered by the plugin.

Multi Channel Devices (multiDevices)

Optional settings for multi-channel switch, outlet and light switch devices.

Setting Type Default Explanation
label string - This setting has no effect except to help identify this device.
deviceId string - Enter the 10 digit eWeLink Device ID to begin.
ignoreDevice boolean - If true, this accessory will be removed and ignored from HomeKit.
deviceModel string - This setting has no effect except showing the relevant options for this model below.
showAs string - Expose this device as a different HomeKit accessory type.
showAsMotor string - Select the accessory type to show in HomeKit.
hideChannels string - A comma separated list of channels to hide for this device. For example '0' or '0,1,2'.
inUsePowerThreshold number - HomeKit will set the 'In Use' status of outlet devices to true when the wattage is above this number. Must be 0 or more.
disableTimer boolean - If true, the timer for the valve will be removed.
inchChannels string - A comma separated list of channels to show the on/off status based on inching mode. For example '1,2'.
sensorType string - The type of sensor to use.
operationTime number - Blinds/garage doors: the time to open/close the device. Locks: the time to show as unlocked. This setting is in deciseconds - count the time in seconds and multiply by 10, for example 75 for 7.5 seconds. Must be 20 or more.
operationTimeDown number - If your garage door or blind has a different operation time for up and down, use this setting to specify the operation time DOWN (in deciseconds) and the other setting to specify the operation time UP. Otherwise leave blank. Must be 20 or more.
sensorId string - A DW2 or Zigbee contact sensor can be used for a single garage door or lock to determine the current state. Enter the 10 digit eWeLink Device ID (normally in the format 1000ab23cd). Otherwise leave blank.
hideSensor boolean - Hide this contact sensor accessory from HomeKit.
obstructId string - An optional switch that will trigger the Obstruction Detected feature depending on its value. Otherwise leave blank.
ipAddress string - You can manually set the IP address for this device if it cannot be discovered by the plugin.

Light Devices (lightDevices)

Optional settings for dimmer, bulb and LED strip devices.

Setting Type Default Explanation
label string - This setting has no effect except to help identify this device.
deviceId string - Enter the 10 digit eWeLink Device ID to begin.
ignoreDevice boolean - If true, this accessory will be removed and ignored from HomeKit.
deviceModel string - This setting has no effect except showing the relevant options for this model below.
showAs string - Expose this device as a different HomeKit accessory type.
brightnessStep number - A minimum step for the brightness slider in the Home app. Must be 1 or more.
adaptiveLightingShift number - The mired for each Adaptive Lighting update will be increased by this value, making the light appear warmer. Set to -1 to remove Adaptive Lighting feature. Must be -1 or more.
offlineAsOff boolean - If true, this accessory will show as off if reported offline.
ipAddress string - You can manually set the IP address for this device if it cannot be discovered by the plugin.

Thermostat Devices (thDevices)

Optional settings for thermostat devices, NSPanel, TH10/16 and THR316/320.

Setting Type Default Explanation
label string - This setting has no effect except to help identify this device.
deviceId string - Enter the 10 digit eWeLink Device ID to begin.
ignoreDevice boolean - If true, this accessory will be removed and ignored from HomeKit.
deviceModel string - This setting has no effect except showing the relevant options for this model below.
showAs string - Expose this device as a different HomeKit accessory type.
showHeatCool boolean - If true, the 'Heat' and 'Cool' modes will be shown in HomeKit.
hideSwitch boolean - If true, this accessory will hide the TH10/16 switch from HomeKit.
offset number - You can offset the temperature that the sensor reads. An offset of 2 means 2 degrees will be added to the recorded temperature. Can be positive or negative and can include a decimal point '.'.
offsetFactor boolean - If true then the above value will be used as a factor, i.e. the recorded temperature will be multipled by this number instead.
humidityOffset number - You can offset the humidity that the sensor reads. An offset of 2 means 2% will be added to the recorded relative humidity. Can be positive or negative.
humidityOffsetFactor boolean - If true then the above value will be used as a factor, i.e. the recorded humidity will be multipled by this number instead.
targetTempThreshold number - You can add a threshold so the device only switches on when the current temperature is at least the threshold away from the target temperature. This can be useful for devices that don't require an exact temperature and you want to reduce the on-off cycles. Must be positive and can include a decimal point.
minTarget number - Minimum target temperature for TH10/16 thermostat/heater/cooler simulation to show in HomeKit apps. Must be 0 or more.
maxTarget number - Maximum target temperature for TH10/16 thermostat/heater/cooler simulation to show in HomeKit apps. Must be 1 or more, and greater than the minimum value set above.
ipAddress string - You can manually set the IP address for this Sonoff TH10/16 if it cannot be discovered by the plugin.

Fan Devices (fanDevices)

Optional settings for iFan devices.

Setting Type Default Explanation
label string - This setting has no effect except to help identify this device.
deviceId string - Enter the 10 digit eWeLink Device ID to begin.
ignoreDevice boolean - If true, this accessory will be removed and ignored from HomeKit.
deviceModel string - This setting has no effect except showing the relevant options for this model below.
hideLight boolean - If true, the light switch will be hidden from HomeKit.
ipAddress string - You can manually set the IP address for this device if it cannot be discovered by the plugin.

Sensor Devices (sensorDevices)

Optional settings for the DW2 and Zigbee sensor devices.

Setting Type Default Explanation
label string - This setting has no effect except to help identify this device.
deviceId string - Enter the 10 digit eWeLink Device ID to begin.
ignoreDevice boolean - If true, this accessory will be removed and ignored from HomeKit.
deviceModel string - This setting has no effect except showing the relevant options for this model below.
showAs string - Expose this device as a different HomeKit accessory type.
lowBattThreshold number - HomeKit will set the low battery status for this device when the battery (if it has one) reaches this percentage level. Must be 5 or more.
offset number - You can offset the temperature that the SNZB-02 sensor reads. An offset of 2 means 2 degrees will be added to the recorded temperature. Can be positive or negative and can include a decimal point '.'.
offsetFactor boolean - If true then the above value will be used as a factor, i.e. the recorded temperature will be multipled by this number instead.
humidityOffset number - You can offset the humidity that the SNZB-02 sensor reads. An offset of 2 means 2% will be added to the recorded relative humidity. Can be positive or negative.
humidityOffsetFactor boolean - If true then the above value will be used as a factor, i.e. the recorded humidity will be multipled by this number instead.
hideLongDouble boolean - If true, double and long press options will be hidden for this Zigbee Button.
scaleBattery boolean - If true, the battery reading for this Zigbee Contact Sensor will be multiplied by 10.
sensorTimeDifference number - An offset in seconds to ignore notifications if the delay between this Zigbee Motion/Leak activating or Zigbee Button press and the plugin receiving the notification is greater than this number. Must be 5 or more.

RF Devices (rfDevices)

Optional settings for RF Bridge devices.

Setting Type Default Explanation
label string - This setting has no effect except to help identify this device.
deviceId string - Enter the 10 digit eWeLink Device ID to begin.
ignoreDevice boolean - If true, this accessory will be removed and ignored from HomeKit.
resetOnStartup boolean - If true, the plugin will remove and re-add all subdevices when the plugin initialises. Useful if adding or removing subdevices via the eWeLink app.
ipAddress string - You can manually set the IP address for this device if it cannot be discovered by the plugin.

RF Sensor Devices (bridgeSensors)

Optional settings for RF Bridge subdevices to expose different sensor types (more info).

Setting Type Default Explanation
label string - This setting has no effect except to help identify this device.
fullDeviceId string - Enter the Device ID of the sensor to begin (13 digits normally in the format 1000ab23cdSW2).
deviceType string - Select the type of RF device this is.
curtainType string - Select the type of accessory you would like to expose this as.
operationTime number - The time to open/close the device. This setting is in deciseconds - count the time in seconds and multiply by 10, for example 75 for 7.5 seconds. Must be 20 or more.
operationTimeDown number - If your device has a different operation time for up and down, use this setting to specify the operation time DOWN (in deciseconds) and the other setting to specify the operation time UP. Otherwise leave blank. Must be 20 or more.
type string - Select the type of sensor you would like to expose this as.
sensorTimeLength number - The number of seconds which the sensor tile in the Home app will light up for if this sensor is activated. Must be 1 or more.
sensorTimeDifference number - An offset in seconds to ignore notifications if the delay between this sensor activating and the plugin receiving the notification is greater than this number. Must be 5 or more.
sensorWebHook string - A URL for the plugin to ping when the sensor is activated.