honkmaster / homebridge-mi-flower-care

Homebridge plugin for the Xiaomi Mi Flora / Flower Care devices.
41 stars 16 forks source link
homebridge homebridge-plugin homekit javascript nodejs xiaomi

homebridge-mi-flower-care

NPM version License Downloads

This is a Homebridge plugin for exposing the Xiaomi Flower Care / Flower Mate / Flower Monitor / Mi Flora devices to HomeKit. Historical display of temperature / moisture data is available via HomeKit apps that support graphing (e.g. Elgato Eve).

Installation

Prerequisites

System dependencies

This plugin is using node-mi-flora / Noble in the background with the same package dependencies. You can install these dependencies using apt-get, if not already done.

(sudo) apt-get install bluetooth bluez libbluetooth-dev libudev-dev

For more details and descriptions for other platforms see the Noble documentation. At the moment Noble does not support Node 10. Please use Node 9 if you want to use this plugin, untis the issues with Noble are resolved.

MAC address

Ensure you know the MAC address of your Xiaomi Flower Care. You can use hcitool lescan to scan for devices. The device will appear as AA:BB:CC:DD:EE:FF Flower care in the list.

npm

(sudo) npm install -g --unsafe-perm homebridge-mi-flower-care

Known Issues

Example Configuration

{
  "accessory": "mi-flower-care",
  "name": "Golden cane palm",
  "deviceId": "AA:BB:CC:DD:EE:FF",
  "interval": 300
}
Key Description Optional / Required
accessory     Has to be mi-flower-care. Required
name The name of this accessory. This will appear in your HomeKit app. Required
deviceId The MAC address of your Xiaomi Flower Care device. Required
interval Frequency of data refresh in seconds. Minimum: 1 (not recommended); Maximum: 600 (due to FakeGato). Required
humidityAlertLevel Humidity level in percent used to trigger the humidity alert contact sensor. Optional
lowLightAlertLevel Low light level in Lux used to trigger a low light alert contact sensor. Optional
lowBatteryWarningLevel Battery level used to trigger low battery warning. Optional

Typical values for humidityAlertLevelare 30 (%), 2000 (Lux) for lowLightAlertLevel, and 10 (%) for lowBatteryWarningLevel.

Running

Due to Bluetooth access, Homebridge must run with elevated privileges to work correctly i.e. sudo or root.

Note

The plugins is using Bluetooth LE (Low Energy) to connect to the Xiaomi Flower Care devices. Therefore, the first measured values are only visible after the first broadcast of the sensor. Up to this point the plugin is marked as inactive in HomeKit. In the worst case, the waiting time can last up to several minutes. Just have a little patience.

Credits

Legal

Xiaomi and Mi are registered trademarks of BEIJING XIAOMI TECHNOLOGY CO., LTD.

This project is in no way affiliated with, authorized, maintained, sponsored or endorsed by BEIJING XIAOMI TECHNOLOGY CO., LTD or any of its affiliates or subsidiaries.