Skip to content

eschava/node-red-contrib-xiaomi-ble

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

node-red-contrib-xiaomi-ble

This Node-Red module contains single "Xiaomi BLE" node that gets all known data from Xiaomi BLE (Bluetooth 4) devices using Bluetooth 4 compatible adapter.

Currently supported devices are:

  • MiFlora - Xiaomi Mi plant sensor
  • Xiaomi Mijia Bluetooth Temperature Humidity Sensor

Installation

This module requires noble library. It will be installed automatically but in case of any problems you can try to install it manually using corresponding instructions.

To install this module use Node-Red GUI installer or console command:

npm install node-red-contrib-xiaomi-ble

Usage

Configuration: Xiaomi BLE node needs only bluetooth address of devices (optional, if it's omitted then incoming message should have address property)

Input message: just triggers requesting data from the sensor. Optional parameters:

  • address - override address of the device from configuration.
  • scan - re-lookup for device even if it was already found before.

Output message: msg.payload object of the output message could contain next fields:

  • temperature - temperature from sensor
  • battery - battery level in percents
  • humidity - Mijia Temperature Humidity device only
  • light, moisture, conductivity - MiFlora device only

Linux

On Linux bluetooth adapter could be used by root user only.

To run node-red without root/sudo use instructions from noble

Version history

1.0.0 Initial release

1.1.0 Changed format of output message

1.2.0 Device's address could be specified in input message + configurable scanning timeout

1.2.1 Memory leak fixed

1.2.2 Added 'scan' parameter to message to force scanning

1.2.3 Bug-fix release

1.2.4 Change noble dependency to @abandonware/noble as former package is unmaintained

1.3.0 Added support of Xiaomi Mijia Bluetooth Thermometer 2 (aka LYWSD03MMC)

1.3.1 Protection from the "Peripheral already connected" error

1.3.2 Negative temperature support

1.3.3 Original message object is preserved