Database integration

Hi all,
it would be so great if you could include an ability to record soil humidity, watering and plant growth data. For which step is that planned? Today it would be great to see the evolvement of my humidity sensor data for example…

1 Like

Could you explain how complex that would be?

It would really enable one to implement sensors which are recording long term data (temp, humidity, wind, sun radiation) in order to develop and test algorithms and stuff with the bot.
If there`s no possibility to see the data in graphs or the like one would be lost as well :wink:

If I could, I would immediately start to integrate it, but unfortunately its too complex coding for me…

Preface: I haven’t received my kit so haven’t played with a working farmbot yet.
Given that please forgive me if I butcher the terminology here.

I imagine one could wire up a Send Message step after a measurement is taken that would send the most recent value to an endpoint which would in turn write to a database.

I do not know if you can do something like this yet but it would be nice:

  1. Measure soil humidity (or any metric that the bot has the tools for)
    2a) Take that value and send it off to an endpoint in a POST, or
    2b) Write it to a local DB, or
    2c) Run an IF-ELSE block created in the sequencer (which would allow you to do virtually anything so long as the branch bodies aren’t limited and can reference the recorded value)

This would be the foundation for what you’re after.

Using these building blocks someone could definitely create a Record humidity of plant ABC into DB X block.

I agree that this would be very useful.

One could teach the farmbot to gamify plant growth.

1 Like

Amending my previous comment: 2c would be the best option from the list above as it would naturally give us 2a and 2b by virtue of allowing you to create a custom sub-sequence which may contain either or both options (and plenty more that the developers may not think of).

The ability to save historical sensor data in the database is definitely a feature you can expect in the future.

Just a note about what is currently available:

  • When you read a pin using the Read Pin step in a sequence, the value is locally stored as the most recent value of that pin.
  • The stored pin value is then available and can be evaluated in an If step in the sequence or in other sequences.
  • Documentation about these features.

I support the integration of a database FarmWare. It would be possible if you can install a FarmWare with a NoSQL database (such as MongoDB), and allow this FarmWare to be selected in Sequences.

Read pin values should be able to be “piped” to FarmWares, same as FarmWares should be able to be used as pin write values or if statement conditions.

1 Like

Farmwares can currently access read pin values.

Also, with the Aug 15 software update Farmwares of any name can be run in sequences.

1 Like