homebridge-mi-flora-filtered

1.3.6 • Public • Published

homebridge-mi-flora-filtered

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).

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 humidityAlertLevelare 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.

Package Sidebar

Install

npm i homebridge-mi-flora-filtered

Weekly Downloads

1

Version

1.3.6

License

MIT

Unpacked Size

340 kB

Total Files

6

Last publish

Collaborators

  • martvvliet