Megachip / WatchFlower

A plant monitoring application for Xiaomi "Flower Care" and "Ropot" Bluetooth devices.

Home Page:https://emeric.io/WatchFlower

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

WatchFlower

Travis AppVeyor License: GPL v3

WatchFlower is a plant monitoring application that reads and plots data from your Xiaomi MiJia "Flower Care" and "Ropot" sensors. WatchFlower also works great with a couple of Bluetooth thermometers! It works with international and Chinese Xiaomi devices, doesn't require an account creation, your GPS location, nor any other personal data from you!

Works on Linux, macOS, Windows, but also Android and iOS! Desktop binaries are available on the "release" page, mobile applications are on the app stores.
Virtually all phones have Bluetooth "Low Energy", but you will need to make sure your computer has BLE capabilities (and for Windows, a working driver too).
Available in English, French and Spanish.

Application developped by Emeric Grange. Visual design by Chris Díaz.

Features

  • Support "plant sensors" and thermometers
  • Clickable two-week graphs
  • Monthly/weekly/daily data histograms
  • Set your own limits for plants care
  • Configurable update intervals
  • Background updates & notifications (desktop only)
  • Scalable UI: 4.6" to 34" screens, landscape or portrait

TODOs:

  • Continuous measurements
  • Read offline sensors history
  • Android: background updates & notifications
  • Add more compatible sensors!

Supported devices

Flower Care RoPot Hygro & Temp sensor Digital Hygrometer Clock
FlowerCare RoPot HygroTemp HygroTempClock
(International and Chinese versions) (MiJia LCD and ClearGrass EInk)
shop shop / shop shop

Various Bluetooth devices and sensors can be added to WatchFlower. If you have one in mind, you can contact us and we'll see what can be done!

Screenshots

GUI_DESKTOP1 GUI_DESKTOP2

GUI_MOBILE1 GUI_MOBILE2

GUI_MOBILE3

Documentation

Dependencies

You will need a C++11 compiler and Qt 5.10 (Qt 5.12+ is recommended however) with Qt Charts.

Building WatchFlower

$ git clone https://github.com/emericg/WatchFlower.git
$ cd WatchFlower/
$ qmake
$ make

Special thanks

  • Chris Díaz christiandiaz.design@gmail.com for his extensive work on the application design and logo!
  • Mickael Heudre mickheudre@gmail.com for his invaluable QML expertise!
  • MiFlora GitHub repository, for the Flower care protocol reverse engineering.
  • This thread, for the bluetooth temperature and humidity sensor protocol reverse engineering.

Get involved!

Developers

You can browse the code on the GitHub page, submit patches and pull requests! Your help would be greatly appreciated ;-)

Users

You can help us find and report bugs, suggest new features, help with translation, documentation and more! Visit the Issues section of the GitHub page to start!

License

WatchFlower is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
Read the LICENSE file or consult the license on the FSF website directly.

Emeric Grange emeric.grange@gmail.com

Third party projects used by WatchFlower

About

A plant monitoring application for Xiaomi "Flower Care" and "Ropot" Bluetooth devices.

https://emeric.io/WatchFlower

License:GNU General Public License v3.0


Languages

Language:QML 58.7%Language:C++ 38.5%Language:QMake 1.7%Language:JavaScript 0.4%Language:Objective-C++ 0.3%Language:Java 0.3%Language:C 0.2%