MiFlora Sensor Plant Database

You all might be interested in this:
image

12 Likes

This is AWESOME!!! Now we just need to populate the DB with the details for the Cannabaceae familyā€¦!!

Very Nice work!!!

Awesome! Some plant names are off tho, like Aeschynanthus pulcher but thatā€™s a data issue which displays wrong image and wrong plant. I guess the database file/images I used was wrong but I found the right parameters :slight_smile:

It looks so good that I wanna go and grab more of these Mi Flora sensors!

plant

2 Likes

This is nice!

You should be able to edit the data after converting it to suit your needs

Nice to see youā€™re looking into this . Some thoughts on this topic:

  1. I donā€™t think its a good idea to use Xiaomi API directly because this might break in the future. On the other hand itā€™s not suitable to ship 4500 plant images (~450MB) with the default homeassistant installation. The data.js file is rather small in size and could be shipped with the default installation. So maybe we should look at the min/max data without the images and provide the images ourselves?

  2. The scraped data and Images are lacking many plants. I for example am a passionate chili grower with 10+ types of chili at home but not a single chili plant is in the Xiaomi database.

  3. Iā€™d like to see the database growing for everybody not just for each individual adding their plants, pictures and corresponding min/max values but without an editable open database like my initial idea of a collaborative google doc this is not possible. Anyone has an idea how this could be solved?

2 -> There are no ā€œchiliā€ in the db no, but search ā€œcapsicumā€.

2 Likes

Thank you!

My two cents, let people get the picture on their own and put it on the www folder.

They can get exactly the picture they like or even the real picture of their plant and you save yourself the hassle of dealing with the pictures, getting the right ones and having 450MB of useless data for people to only use a like 3-5 pictures out of 4500ā€¦

3 Likes

Do you think is possible to enhance actual sensor by using mmol accumulation against lux ?

2 Likes

I use a custom component called ā€œAverage Temperatureā€ With this, you are able to add multiple sensors to create a single sensor which averages out the values of all of the defined sensorsā€¦ I use this for thermostats where it is better to get the reading from multiple temp points to get a better ave room temperatureā€¦ There is however no reason why you cannot do this for other sensors, as long as the units that are being measured are the sameā€¦ Ave Temp Custom Component

Whatā€™s the difference between your custom sensor and min_max sensor?

1 Like

Have a look here at some of the reasoningā€¦ Average Sensor so whilst the min/max can probably do this, I decided to go with this oneā€¦

Does anyone have good DB for this card?
I found something but not work with convert.py

Youā€™ll find it over here: https://github.com/khronimo/MiFloraDB

1 Like

Hello,
I tried to install the card, but there is a mistake that ā€œCustom element doesnā€™t exist: flower-card.ā€
Hass log shows:

https://example.com/local/lovelace-flower-card/data/data.js:1:1 Uncaught SyntaxError: Invalid or unexpected token

but I used only the script in repo. Please help!
I attached the data file.

Me too, do you have any update?

Your file is in the wrong format.
$ file data.js.2
data.js.2: Little-endian UTF-16 Unicode text, with very long lines

A working database:
$ file data.js
data.js: ASCII text, with very long lines

Hi,
on my installation Iā€™ve the right file
$** file data.js
data.js: ASCII text, with very long lines

Can be the problem on the converter?

Iā€™m not a programmer, though I do fiddle. It could be a problem with the converter, however at the moment there isnā€™t enough information to make that determination.

What MiFlora database did you use? the MiFloraDB linked above? Is your error exactly the same at Artemā€™s minus the example.com?

What does your data.js look like? Iā€™ve fiddled with mine a bit making it what I believe is more complaint, but I took a copy I labeled as original and it seems to work as well.

My file is 5 lines long (based on one really really really long line). and looks like this:

ā€˜use strictā€™;
const FlowerData =
{" -insert really long line - ]}
;
export {FlowerData};

Is yours the same format?