January 21, 2021 Software Update

Hi all,

This morning we deployed a new version of the FarmBot Web App. Here’s what’s new:

Phase 1 Deprecation of Farmware

As has been indicated in our developer documentation for a while now, we’re slowly phasing out support for 3rd party Farmware. While the Farmware system is crucial for our 1st party photo taking and image processing features, 3rd party adoption has been low and come at the cost of a high maintenance burden to support a very small pool of authors.

While early Farmwares such as Mother’s Little Helper, Power Loop, and derivatives served the community well as a way to add important functionality that was not possible with the core feature set at the time, even these most popular Farmwares have seen their adoption and support waning.

As of this morning, the Farmware panel has been hidden from view for everyone who had zero 3rd party Farmwares installed. The panel remains accessible for people with pre-existing Farmwares, but it will likely eventually be removed entirely. Support for 3rd party Farmware in FBOS will likely be removed this year, and we suggest authors and users begin thinking about alternative solutions.

I want to reassure you all though that we continue to see the value in allowing 3rd party developers to take greater control of FarmBot with custom code. We are currently working on new features that will facilitate this innovation while also offering a better developer experience. I expect we’ll have more to share on this front next month. If you have any feedback on this transition, please let us know your thoughts in the comments!


  • Thank you SebastianoPistore on GitHub for updating the international translations :earth_asia:
  • Fixed a bug where the PARAMETER LOAD PROGRESS would never reach :100:
  • Added a link to our IT Security Professionals documentation to the connectivity panel :nerd_face:

LGTM :slight_smile:

Only question I have is whether the Lua libraries are as useful as the Python3 libraries ? (e.g. in Maths and Graphics)
Hopefully you’ll be updating Lua to 5.3 ?

Can we get Python3 function results from Lua ? ( python3 will still be on the platform )

@jsimmonds We will add features to the Lua sandbox as people make requests. I would be interested to hear what specific functions you need access to. When we analyzed real-world farmwares, we did not see too many folks using the tool for graphics or math.

With the Lua block, we can add features significantly faster than we could to a sequence block, which will be a big win for power users. Adding a new function to a Lua sandbox is orders of magnitude simpler than adding a new feature to the full-blown graphical editor. We hope to leverage this to add more features that power users can take advantage of quickly. As an example, we might add an HTTP client to the Lua sandbox so that developers can access third party APIs or actuate external webhooks.

The only caveat is that we will need to keep the Lua sandbox safe since our eventual goal is to allow public sharing of sequences (including those that have embedded Lua). This means we will probably not allow things like the installation of arbitrary modules, raw shell access, etc. The goal of the Lua block will not be to provide a complete development environment- such use cases are better-handled off-device.

In addition to this, we will soon publish a Python module for off-device scripting for users who want to control the device with raw Python. It will essentially be a port of FarmBotJS to Python. I have already started work on it and will be devoting most of my time to it as soon as the next FBOS release goes out. The end goal is to enable Python programmers to write code with the same capabilities as FBJS (which currently powers all Web App features).


I would definitely like to see HTTP functionality supported out of the box.

Picture this: you’re about to run your watering sequences. But before you do, you send a request to weatherapi.com for a projected rainfall forecast for your location. Looks like it’s going to rain this afternoon. Skip the watering sequence.