In Rachio’s defense, this is not possible to fix by updating the app. The problem is that many controllers were shipped with a firmware bug that renders them incompatible with the Wi-Fi stack in newer versions of iOS and Android. Some of these units are still on retailer shelves. If an older mobile device is unavailable, one must use a Windows, Mac or Linux computer to provision the controller. Once provisioned, the firmware auto-updates and can then be used with the app.
Further in their defense, the updates to iOS and Android that rendered them incompatible occurred after the buggy controllers had been shipped, so the problem cannot be blamed on sloppy design or inadequate testing.
However, Rachio should have made it much easier for the user to correct the problem. They can still do this. For starters, the app can be updated to report the specific issue, rather than displaying “An unknown error occurred”. It would recommend trying an older phone or tablet; failing that the user would be told to visit app.rach.io from a computer with Wi-Fi. From there, they could download a customized script that would provision the controller with no further user input.