Adventures in Siri Shortcuts automation
17 Oct 2019I’ve been looking forward to the new automation options in Siri Shortcuts in iOS 13 for a while.
Previously I’ve used a hodge-podge of IFTTT, Launch Center Pro and Shortcuts to do some of what I’ll describe below, but new trigger options opens up a whole new world of possibilities.
Everything is still a bit buggy right now (as of iOS 13.1.3), but shows a lot of promise.
Automatically enabling VPN away from home
I’ve just started using Cloudflare’s free 1.1.1.1 VPN app, which so far seems reliable, fast and a lot safer when using coffee-shop WiFi networks.
I don’t want to enable the VPN when at home (there are occasional geo-location issues when trying to stream videos), but almost always want to when not on my home network.
The 1.1.1.1 app offers actions to enable or disable the VPN, so it was trivial to write a shortcut that:
- Is triggered on connection to any WiFi network
- Checks the current WiFi network name
- If it is my home network, disables the 1.1.1.1 VPN
- If it’s any other network, enables the 1.1.1.1 VPN
This is great, as I was continually forgetting to enable/disable the VPN before - now I get a notification every time I switch networks, and tapping on it quickly switches the VPN to the state I almost certainly want.
Playing Audio
Starting up Spotify
I’ve written previously about my shortcut where I started Spotify using NFC and Launch Center Pro, so it was easy to migrate this to using the NFC triggers in Shortcuts instead.
One issue was that the NFC tags I’d bought from LCP were encoded to a LCP launching URL, so I had to purchase some new tags.
The next enhancement was to setup a trigger to run the same shortcut when my phone connects to the Bluetooth speaker in my home office. This is so much easier to use than even the NFC tag - I simply turn on the speaker, and then tap the notification to fire up Spotify and get it running.
Podcasts in Overcast
The other audio I listen to regularly are podcasts in Overcast.
Overcast does have some automation hooks, although they seem a little flaky in iOS 13. I’ve written a shortcut that asks me if I want to play either Overcast or the Spotify shortcut mentioned above from a list.
I have 2 triggers to run this combined shortcut:
- When I connect my Bluetooth headphones
- An NFC tag in my car
Showing my Shopping List
I’ve previously built a completely over-engineered shopping system based around Todoist, IFTTT location triggers, IFTTT voice integration and an AWS Lambda function!
This worked pretty well, and basically location triggers in the IFTTT iOS app called a script which read my Todoist Shopping List when I’m near the supermarkets in Hexham, and sent an alert if there was anything I needed.
I’ve moved the location trigger in Shortcuts, but also I’m experimenting in going all-in with the built-in Reminders app, and not using Todoist any more.
This means all of the shopping list logic can be done on-device (which makes it a bit more reliable), and it’s also easy to share the list with my family.
The integration with my multitude of Amazon Echos and Google Assistants also needed a couple of custom IFTTT applets, but they were very simple to write.
It’s all a bit less Heath Robinson now, but works just as well.
Enhancements/Missing Features
I’m pretty happy with where my automation sare so far, but there’s definitely room for improvement.
First of all, the triggers - in particular the location ones - seem very flaky. Shortcuts itself seems a bit hit and miss at times, and my guess is that if any script has had problems, the app somehow hangs/is blocked, which stops the location triggers firing.
Next, it would be great if more types of triggers could run automatically rather than needing you to tap on a notification. I know Apple are very strong on privacy, but there should be a way to let me accept the “risks” and let more shortcuts be able to be triggered without needing my intervention.
Finally, there is no integration yet with the Apple Watch. I believe some Watch integration may be coming in iOS 13.2, but it would be great to be able to both start shortcuts from the watch as well run them automatically based on triggers. For example, I’d like to be prompted to start a workout as soon as I leave my house, rather than wait for the automatic “after 10 minutes walking” feature to sometimes kick in.
Summary
Just implementing these three automations has been great, and shows of the power of Shortcuts to extend the functionality of my expensive devices in truly useful ways.
If the automation system was a bit less buggy, and a bit less restrictive on needing so much user intervention, it would be truly fantastic.
Hopefully this will be coming soon! 🤞