Farm Events not being triggered

Yesterday all of my events were skipped. Today it only performed the first event, and skipped all remaining events.

Events simply disappear from the web UI while you’re watching once the system time is 1 minute past the scheduled time.

I wish I could provide more details but I have a hunch you’ll find out more if you check the logs from the backend.

Would love to at least see a reason in the UI for why the event hasn’t triggered.

Would also love it if past events didn’t get removed from the UI.

1 Like

@mdingena We’ve been tracking reports of this. We have not yet isolated a root cause (nor have we been able to reproduce the issue locally). We have noticed that it happens more often when users modify existing FarmEvents rather than deleting them and starting over. Does this reflect your use case? Any other info about your usage would be helpful.

Regarding the FarmEvent UI changes, it is already on the roadmap, though we have not started work on this feature yet.

Thanks for the bug report. I will take a look at your account data momentarily.

1 Like

I have not modified the farm events as far as I can remember, but definitely tweaked the sequences and regimens used in them. Hopefully that helps you reproduce something locally.

2 Likes

@mdingena what hardware are you running on ?
What FBOS and firmware versions ?
Approx. Total _ Farm Events ( both kinds ) queued when the problem appeared ?
Approx. how many Executions had already completed ? ( this is significant )
Any FBOS reboots occur before you noticed the Events had ( quietly ) expired and disppeared ?

I’d like to help find a bug :slight_smile:

You don’t have your own simple reproducer for this one ( yet ) ?

Genesis v1.2

FBOS 13.0.1 with Arduino/RAMPS.

~80

If memory serves, it ran correctly for 3 or 4 days (with 3 events per day). It might have started when I got Farm Events occurring at the same time. i.e. my Radish and Watermelon regimens both want to water their plants at 18:30 because that’s when the shadow of the house covers the bot but it’s still light enough to manually inspect the operation. The sun sets quickly here.

I have been experiencing random “FarmBot offline” events for no apparent reason. This is why I moved my “photograph garden” Farm Event to sunset instead of sunrise because otherwise the bot would be offline while I’m still in bed and it would miss the event. I can’t give you any specifics on when exactly the bot went offline and for what reason. I think the FB team can see it in the backend.

On a tangentially related note: I would love to have a “reboot schedule” feature. I have a router that I schedule to reboot every night at 4:30 (and I can see that FarmBot reconnects at 4:33 every morning). Would love to schedule the FarmBot for a good ol’ reboot every night at 5:00 am.

Nope, sorry, troubleshooting time is scarce with raising two toddlers without getting wife aggro. She’s annoyed enough that the bot isn’t as automatic as we’d hoped.

1 Like

@mdingena I seem to have managed ( by luck ) to reproduce the issue that you described.
I used a little bit of CoffeeScript to generate 20 new Farm Events ( each with repetition ) each using a different Sequence. Start times are interleaved.
Now I need to add some debug hooks and then try to catch it again :slight_smile:

Do you generate your Farm Events with your own software ? Just curious.

What’s wrong with a 24 hourly repeating Farm Event which runs a Sequence with one REBOOT block ?

No, I generate them through the Web App.

Nothing, except that you need to provide an end date which you either set a million years into the future or you have to remind yourself to push it back by X every X period.

Good point.

How about make the Farm Event a one-shot and make the Sequence run a LUA block to create the future reboot Farm Event ! ( I have some Lua code to create Farm Events if this interests you )

If you have any always-on computers handy you could add a cron task to call the FB MQTT API to reboot your device :crazy_face:

A free solution would be to stand up a Heroku dyno and do it through there. I wonder if I can all anything else from there (I’ve not looked at the Web App API much since I’m led to believe you can’t use it to directly control the bot anyways).

That’s still true. It’s function is clearly Resource management. But the MQTT “Control” interface has been abstracted into supported JavaScript and Python3 packages already.

@mdingena Yes, this would be the recommended way to do “remote control” in a post-Farmware ecosystem. You would essentially write a Python or JS app that runs on Heroku, install FarmBotPy or FarmBotJs, and make calls to those libraries via Heroku Scheduler. You could store FarmBot Web App credentials using Heroku’s standard configuration system.

I think we’ve discussed this in the past already, but I am going to re-post this info for people that find this thread via search.

If you are feeling very adventurous, you could write your own wrapper and just use an off-the-shelf MQTT library. This is more work than it is worth for most users and the official wrapper libs will get most things done fine.

2 Likes