Any way to schedule laundry or dishwasher in Calendar for set periods of time?

So my dryer for instance completes the cycle at 50 minutes. Washer is close to 45 minutes. Dishwasher is 2 hours or more. I’d like to just add an event in calendar to have my dishwasher run so I can plan out what else to do during that time. Anyone do this or have a solution?

Not entirely sure, if I understood correctly what you want to do.

You could put an NFC tag near your dishwasher and laundry machine that runs a Shortcut, which creates said calendar appointment. You could include a menu to quickly select the most common times if they vary and an additional “custom” option, where you can select a duration. That selected duration can be used to calculate the end time of the calendar event.

Or did you mean:
That you want to create appointments in your calendar and have something read it from there to start the machines? That wouldn’t be impossible if your machines are really modern. I’ve heard that some of those “smart appliances” now come with APIs, too.

I like your NFC tag idea. I think for me I was thinking about scheduling as I’ve done in the past of putting my tasks in a calendar. So what I’m thinking is “during a dishwasher taking 3 hours, I can get these tasks done”. That make more sense?

This is really interesting. I didn’t know there is a community that micro-schedules daily chores like dishwashing.


So you basically want the Shortcut to create various shorter calendar appointments of other chorse in addition to the dishwasher calendar appointment?

If you maintain a “masterlist” of those shorter chores in a file in iCloud or an entry in Bear/Notes or maybe even an AirTable sheet you need to also estimate their duration. Example: “do dishes, 10min.”
If the Shortcut is executed it could retrieve the “masterlist” from said storage, separate the content by line, parse each entry into a dictionary with the duration in min. as a second value and offer you a menu (with an option to select multiple) for you to choose the tasks.
You then have to create a variable that is set to the current time and keep adding the duration to it, when you loop over the selection of items. By that you can consecutively add the appointments to your calendar.

I am still not sure, if I fully understood, what you are trying to achieve and where the tasks come from etc.
If you want those tasks to do in the meantime to be pulled in from Things, Reminders, OmniFocus etc. you will have the problem that they lack the information for an estimated duration. :thinking:

1 Like

Hey there so let me do some explaining complete with pictures so that’ll help. So I tend to try to drag OmniFocus tasks into my calendar than ensure that they get done. Then what I’d like to do is then schedule laundry for example to be done in a two hour window for example or running the dishwasher that takes three hours and what things I can do in that amount of time. I like your idea of using a shortcut and text file to schedule these reoccurring tasks. So on that particular day I had a bunch of tasks I wanted to do. These can be evidenced by both of my attached photos.

Sorry for taking that long to reply. The holidays were busy.

Personally I use Things instead of Omnifocus, so I’m not entirely sure what can be done with OF.

In Things you can share any list (incl. the list of today’s tasks) to other apps or to a Shortcut.
The content will be shared as a textual representation of the tasks and headlines in the TaskPaper format, like:

# Today

- [ ] Task 1
- [ ] Task 2

If Omnifocus offers something like this you could use the various text modifying actions in Shortcuts to clean it up to this:

Task 1
Task 2

You can then split that text by linebreaks and loop over the individual items to create a multi-select menu in Shortcuts. You then hand over the selected items to another loop, which creates a calendar item for each entry.
If you haven’t specified any duration in Omnifocus with a special syntax in the title of the task, which you could extract, you could just assume a default length of 15 or 30min. and write those tasks to your calendar consecutively by maintaining and increasing a starting time variable.

You could specify and parse each item’s title for that special syntax, such as:

Task 1 (15 min)
Task 2 (30 min)

You use a two step regex filter to first extract and then rmove just the part in brackets by using the filter \([0-9]{2}\ min\) from each item in the for-loop and then filter with [0-9]{2} to find just the two-digit number, which you then can use to calculate the end time of the calendar appointmeents.

At the beginning of your Shortcut, when the tasks are handed over as text, you could ask with a list selection what you want to schedule, your laundry/dishwasher etc.

The problems I see are:

  1. Specifying the duration for different tasks
  2. Keeping track of the total duration mentally to not exceed the laundry/dishwasher appointment
  3. The tasks will be written to the calendar in the order of how they were taken from OF (if that is even possible). There is no way to re-order them within the menu selection action in Shortcuts or afterwards in an easy way. (You could split the shortcut into two separate shortcuts and export your menu selection in an intermediate step to a text editor of your choice. Reordering would then require tedious copy/pasting. Or export them in this intermediate step to Drafts as headlines and utilize the section reordering tool, just to export it from there to the second Shortcut part and then create the calendar appointments based on the altered order. Maybe the app Scriptable allows to build a re-ordering interface, but I’m not sure.)