Node package for Xiaomi Mi Flora Plant Sensor
This package is under development. Use it on your own risk until the stable version is out.
npm install node-mi-floraconstMiFlora=require('node-mi-flora');letflora=newMiFlora();// initialize flora// start scanningflora.startScanning();// set an interval to rescan & get fresh datasetInterval(function(){console.log('every 15 seconds, rescan devices');flora.startScanning();},15000);// stop scanningflora.stopScanning();When data available, it publishes DeviceData object which contains temperature, lux, moisture, and fertility.
flora.on('data',function(data){console.log('data',data);// print DeviceData { deviceId: '1111', temperature: 25.2, lux: 5142, moisture: 46, fertility: 0 }});When data available, it publishes plain object which contains firmware and battery values.
flora.on('firmware',function(data){console.log('firmware',data);// print { deviceId: '1111', batteryLevel: 82, firmwareVersion: '2.6.2' }});debug mode
DEBUG=miflora node examples/basic.jsif you having trouble running the script on raspberry pi, run
sudo setcap cap_net_raw+eip $(eval readlink -f `which node`). This grants thenodebinarycap_net_raw privileges, so it can start/stop BLE advertising without sudo. sourceuse it with strict mode
node --use_strict examples/basic.js