September 9, 2019 Software Update
Hey FarmBot community,
Today we deployed a handful of new features to the FarmBot web application, which you can now see and use at my.farm.bot. Later this week we'll be releasing FarmBot OS v8 and all-new documentation as well, so stay tuned! In the meantime, here's what's new with the app:
Improved farm designer navigation
New plant hover indicator
Now when you hover over a plant in the plant list panel, the corresponding icon in the map will be indicated with a rotating white dashed circle. This helps you locate plants in your garden, no matter the number of plants you have growing. Big thanks to @Ascend for submitting a PR with this improvement!
Escape key navigation
When using the farm designer panels to add an event, inspect plant details, etc, you can now use your keyboard's Escape key to navigate back. Thank you to @Ascend for building out this feature as well :)
New sequence commands
We've got two new sequence commands for you to try out with FarmBot OS v8 beta (or the official release once it comes out).
Mark as...
The Mark as command allows you to systematically change the state of objects in your FarmBot with your sequences. For example, you could mark your tomato plant as planted at the end of your seeding sequence:
Another example is you can mark the tool mount as mounted to the watering nozzle at the end of your sequence to mount the watering nozzle.
We envision this sequence command being useful in keeping track of the state of your garden as various operations are performed on the plants and weeds over time, as well as keeping track of the state of your FarmBot for some special visual effects we have ideas for. While the command is still in its most basic form right now, stay tuned for it to support variables and additional object types and states in the future!
Assertion
The assertion command was originally conceived as an internal tool to help us automate the testing of hardware and software here at FarmBot Inc, but we think some of you will find it useful as well. Please note: this is more of an advanced/power user type of command.
If you're familiar with automated software testing methodologies, you'll be right at home with the assertion command. Simply write an assertion in Lua, and then specify what FarmBot should do if the the test fails. Options include Continue, Recover and Continue, Abort and Recover, and Abort.
Internally we're using this command to verify that sequences and commands execute correctly, for example by asserting that FarmBot has reached an intended location:
Moving forward, we envision running full test suites for several hours every night to high-cycle test our hardware and detect software regressions early and often.
If you're interested in trying out the assertion command, check out the documentation for a working list of what you can do with the assertion field.
Read-only mode
There are now hundreds of schools using FarmBot as an education and research tool. In some cases, one FarmBot gets shared amongst several teachers, each with several classes, which can result in an account being accessed by hundreds of students. To help prevent unwanted or accidental changes from being made to an account, you can now put the account into read-only mode using a toggle in the account settings page. While we do envision much more comprehensive access controls in the future for shared FarmBots, this is a first step in helping reduce some headache.
Network quality checker
Many issues people have with their FarmBots are related to connectivity, and we're always looking at ways to provide more meaningful information to users to help diagnose their issues and improve their FarmBot's operation. The latest addition to our suite of tools is a network quality checker, which you can find in the connectivity popup:
This works by sending FarmBot a "ping" message from your web browser, and then measuring the time taken for the FarmBot's responding "pong" message to return to your browser. If your phone or laptop has a poor connection to the Internet (weak WiFi signal, slow mobile connection, etc), and/or if your FarmBot has a poor connection (weak WiFi signal, etc) then it may take a long time for the messages to go from the browser to the bot and back to the browser again, or the message may get lost entirely. If too much time passes, the message will be considered lost, and the Percent OK metric will decrease from 100%.
If you suspect you have connectivity issues, and/or your FarmBot keeps losing connection, the network quality checker might help you identify the issue more clearly, and determine its severity.
Cosmetic improvements
Huge shoutout to @Ascend for helping us out a ton the last few weeks with all of these cosmetic and usability improvements:
- All toast notifications now have legible, properly contrasting text colors
- Removed an unused SAVE button from the Hardware widget
- Improved the styling of the Sync text indicator when auto-sync is enabled
- Changed some red [--] buttons to red [X] buttons to improve consistency
- Fixed an issue where some tooltips were being cut off
- The IF STATEMENT command now has a more compact layout
Under the hood changes
- Regular dependency and security updates
- Upgraded to ActiveStorage
- Improved API errors for Farmware authors
- Improved management of first-party farmwares
- MQTT rate limiter for users with very poor connections (to prevent email spamming in certain conditions)
- Improvements to the way FBOS beta opt-in is handled
- Added an option to select "none" for firmware (facilitates internal development)
- Implemented a maximum allowed time for an individual wait command of 3 minutes (180,000 milliseconds). If you need to wait more time, you can add multiple wait commands back-to-back.
- There is a new app option to "Confirm Sequence Deletion"
- Edits to your device's name now auto-save (also thanks to @Ascend)
- Updated translations for French (thanks PrincesseLulu!)
Coming soon
Groups
We've started work on the Groups feature, which will allow you to define groups of plants and later execute sequences on every plant in the group. We're nearly finished with the web app side of implementation - there are just a few things left that need to be polished up. PRs welcome!
New farm designer panels and navigation
We've begun work on several new panels for the farm designer page including one for points, groups, tools, and gardens. Once these get finished up, get ready for our new icon-based navigation:
FBOS v8, and v8 software docs
Coming later this week!