homebridge-mi-flora-filtered
v1.3.6
Published
This is fork of the homebridge plugin for the Xiaomi Mi Flora / Xiaomi Flower Care devices. The original authors are Luca Becker, Tobias Tiemerding. In this version the data is filtered to reduce the number of read errors.
Downloads
6
Maintainers
Readme
homebridge-mi-flora-filtered
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).
Additional functionality
In this fork of homebridge-mi-flora, the data is first filtered with a moving-median filter to remove read errors. This is fixed with in this fork. Due to the median filter, the moving-median package is necessary. It should be installed automatically as dependency, but can be manually installed with:
(sudo) npm install -g moving-median
Installation
Prerequisites
System dependencies
This plugin is using node-mi-flora / @abandonware/noble in the background with the same package dependencies. @abandonware/noble is a version of noble that has support for Node 10+. To be able to use this version of Noble, I had to create a fork of the node-mi-flora with support for this version of Noble.
You can install the following dependencies using apt-get
, if not already done.
(sudo) apt-get install bluetooth bluez libbluetooth-dev libudev-dev
It is recommended to install @abandonware/noble, node-gyp and bluetooth-hci-socket manually with the following commands:
sudo npm install --unsafe-perm -g bluetooth-hci-socket
sudo npm install -g --unsafe-perm @abandonware/noble
sudo npm install -g --unsafe-perm node-gyp
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-flora-filtered
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 |
Typical values for humidityAlertLevel
are 30 (%) and 2000 (Lux) for lowLightAlertLevel
.
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
- lucavb - homebridge-mi-flora
- demirhanaydin - node-mi-flora
- simont77 - fakegato-history
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.