Farmerbot and Daylight Savings Time

With the Daylight Savings Time change in Europe last weekend, we noticed that the Farmerbot doesn’t gracefully handle the time change and this resulted in some nodes failing to wake up within 24 hours of previously going standby.

We are working on a solution in the Farmerbot code to address this, which will be available in a future release.

For farmers in North America using the Farmerbot who will be changing their clocks for Daylight Saving’s Time this weekend, a manual intervention can help insure that your nodes don’t miss the 24 hour wake up limit.

This only applies if the machine running your bot is using local time. If it’s using UTC, then your nodes will continue to wake at the specified UTC time, which you can adjust to match your preferred local time after the DST shift.

Instructions for manual intervention

  1. At least one hour before the scheduled wake up time on Sunday, stop the farmerbot and wake up all nodes:
# First get a shell on the system running your farmerbot, probably with SSH

# Stop the bot
systemctl stop farmerbot

# Wake up all nodes. This example uses farm id 42. Replace it with your farm id
# Also enter the mnemonic seed phrase that controls your farm between the quotes
farmerbot start all -m "your seed phrase here..." --farm 42

# Alternatively, you can source the mnemonic from your .env file
# Replace the path with the real one on your system. You can use the find command to find it
find / -name '.env' 2> /dev/null
farmerbot start all -e /path/to/your/.env --farm 42
  1. Anytime after the wakeup time on Sunday, start the bot again:
systemctl start farmerbot

That’s it! Here’s a couple additional notes:

  • To avoid any confusion, the safest thing would be to wake up the nodes some time on Saturday and let them run until after the wake up time has passed on Sunday (according to an adjusted clock)
  • Technically it would be enough to run the start all command anytime at least one hour after the nodes go to sleep on Saturday. The process shown above avoids creating any extra wake ups, which could be a liability if the nodes fail to respond

If you have any questions, please write them below. Thanks :slight_smile:

1 Like