How to use the Sony Smartwatch with Tasker
Smartwatches have been a thing for a little while now, and rumors have it that both Samsung and Apple are releasing their own this year. Honestly though, I’ve only been mildly interested in the things so far, mostly because I haven’t been able to justify the price. My biggest gripe with these watches is that they’re all based around a stock experience, and a very limited one at that. Then, I discovered a third party app for the Sony Smartwatch that changed everything, and made me order one…
The Sony Smartwatch MN2 is the successor to the LiveView, and it’s actually been out for a year. It has a color touchscreen, and is completely dependent on a connected phone to work, including loading apps onto the watch. It hasn’t exactly been that popular of an accessories, which I think comes down to a combination of a lot of issues early on, lack of promotion and availability, and last but not least rather shitty battery life and outdoor visibility compared to eInk-based watches.
That is also why I haven’t had any interest in it, but last week I stumbled across a reference to an add-on app called AppWidgetDisplay for the watch. There’s very little information about this out there, as the Smartwatch community isn’t big, those who have one frankly don’t seem to use it to anywhere near its full potential, and the app itself is made by a Japanese developer- complete with a Japanese-only Google Play description. It also hasn’t been updated in almost a year.
What this app does, however, is nothing short of revolutionary, not only for the Sony Smartwatch, but for smartwatches in general. It allows you to place standard Android widgets on the watch! The widgets will be displayed on the watch, and any interaction will be sent back to the phone as if the widget was on your home screen. Compatibility is far from perfect; 1×1 widgets tend to work the best, but even then, some work perfectly, some half-way, some display completely wrong, and some even crash the parent app.
Still, even knowing that before I ordered, I still threw myself on the order button for one of these watches. There are a ton of widget creation apps out there, many of which support Tasker both for displaying information from Tasker and for sending input back into Tasker, and I hoped that at least one of them would work properly with the watch.
Smartwatch -> Tasker communication
After trying a multitude of custom widget apps, the two that I’ve found to be the most compatible are Ultimate Custom Clock Widget (UCCW) and Make Your Clock Widget (MYCW). Using UCCW, I created a simple four-button widget, and used its hotspot mode to add touch zones to each button.
I tied each zone to a Tasker task using the Shotcut->Task Shortcut option, meaning that I ended up with a 1×1 widget with four buttons, each of which capable of triggering a Tasker task. Three of the buttons link to Remotestick actions for controlling my ceiling light, while the forth links to an AutoRemote command to shut off my computer monitors. In practice, this looks like this:
With this method, you can make your watch do anything Tasker can, which is quite amazing. I’m going to create more widgets like it, I just need to figure out exactly how I want everything to work. In the mean while, I made this little joke widget that triggers a Tasker task that uses Say, Play Ringtone, and Remotestick light control actions:
Tasker -> smartwatch communication: widgets
I have however done a lot to integrate Tasker the other way, i.e. as an information source. This is something that most of the big name custom widget creators can do, including UCCW and MYCW. You use plug-in actions in Tasker to populate variables in the widget apps, allowing you to send information to them. I’ve written about this before, and it still works the same way.
One problem I found with this however is that few of the custom widget apps support multi-line text from Tasker. Minimalistic Text and Zooper Widget do, but the former just crashes when used on the watch, and the latter displays incorrectly. UCCW and MYCW both display perfectly, but won’t display multi-line text, and instead show a “unknown symbol”-box where the line shift should have been.
The solution to this was a tad time consuming, both worth it. Using MYCW (since I’m more familiar with how it works than UCCW), I created a 1×1 widget with 10 Tasker variables in the widget. 9 of these are on the left side of the screen, in a list, s that when they’re all populated, you get 9 lines of text. The final one is rotated 90 degrees, and acts as a title field for whatever information you’re displaying.
10 separate variables in MYCW means you need to run the MYCW Tasker action 10 times to populate it, and 10 times to clear it. To make this much simpler to use, I created standalone tasks for handling this task. The first task is designed to be run using Perform Task, in which you specify a comma separated list in the first parameter field, and a title in the second parameter field. The comma separated list will be split by the commas, and the first 9 values will be displayed in the widget. The title parameter will be displayed in the title field in the widget. The second task will simply clear everything and set the title field to “Empty :-)” when you run it using Perform Task.
The idea behind this widget is to have a single widget whose information differs depending on the situation. I already use that method for some Minimalistic Text widgets on my lock screen, and it works great. So far I’ve only integrated it in my shopping list notifier, and you can see how this works in the video below.
To use this yourself, download the .zip below. It contants two tasks that need to be imported into Tasker (put them in the Tasker/tasks folder, then import from within Tasker), and a MYCW widget that needs to be imported into MYCW. Add the widget to the smartwatch (or to your homescreen if you just want to test it out), then follow the instructions in the video for how to use the system.
Note: This is designed to work with the paid version of MYCW. It probably won’t work with the free version, and I don’t plan on making one that does.
Note 2: I use the latest beta version of Tasker, and don’t know how compatible the tasks are with earlier versions- though it shouldn’t be an issue.
This is of course just one example of a custom widget that displays Tasker info. You can make your own quite easily, and probably fit more than nine lines of text in there if you want. If you find this workaround to getting multi-line widgets too daunting I should mention that Zooper Widget does actually work with the watch, it just doesn’t stretch the widget out to the left and right edges. So, if you find that less of a problem than the workaround, it will allow for multi-line variables from Tasker.
Tasker -> smartwatch communication: notifications
The final method of Tasker/smartwatch communication I’ve played with is for sending notifications. You can see one of them trigger in the video above, when the shopping list task is activated. From my testing, with my ROM and device, the following three apps can be used:
I got a few more to work, including one that actually mentions Tasker support, but that one was just way too messy to stay on my device for more than a few minutes. As for the three above, the first one, LiveNotifier, is the most different from the rest. It allows you to send notifications to your Smartwatch using HTTP Get, meaning that you slap a URL into any browser and the contents of that URL can be customized with a title and message for the notification. It’s reliable, but unfortunately slower than the others, and because it sends everything via a URL you miss out on things like line shift, and you actually have to Variable Convert: URL Encode anything you sent it with Tasker’s HTTP Get action to make sure it works.
SmartWatch Notifier works, but is a bit less capable than CustomNotifierExtension, which is my preferred app for this. First off, you need to give it Accessibility access in system settings. There seems to be a bug in later version of Android that makes this setting slightly bugged, so if it doesn’t work, try toggling it off and on again. Once it’s enabled, head into its settings via the Smartwatch app, and check the services (apps) you want it to monitor. It will then forward any notification from those services to the watch. You can use this directly with apps, or via Tasker.
To use via Tasker, you essentially just use Tasker’s Notify action. This creates a notification, which CustomNotifierExtension will forward to the watch. By running a Notify Cancel action right after the Notify action (this can be spotted in the video above), you won’t leave a notification on the phone, and as such it can be used to send notifications to the watch. The watch will vibrate and turn on to display the incoming message, unlike the widget, which is updated in the background. It’s perfectly possible, as you saw in the video, to combine these to essentially give you a notification when the widget is updated. The wiget also give you full control over the layout, font size, etc, whereas the notifications are tied to a specific format.
As for how I use this, I only allow Tasker notifications to get through to the watch, and instead use Tasker’s own Accessibility access to trigger profiles based on other app notifications. Those profiles then contain Notify and Notify Cancel actions in order to forward the notifications to the watch, which can be done by referring to the %NTITLE built in variable, which contains the title of the last notification. The purpose of this is to be able to rearrange notifications the way I want, so that I can specify a title and text for the watch notification myself, rather than just have it display the original notification.For instance, the stock Gtalk notification contains sender and message, but by running it through Tasker, I can customize it to also indicate that the notification is coming from Gtalk. If I wanted to, I could also add filters, flood control to prevent tons of notifications coming through, and so on. The possibilities are many!
Note: As mentioned in the CustomNotifierExtension Google Play description, Google Talk actually sends notifications using another process than the actual Google Talk app/process. To forward notifications from Gtalk without Tasker, you need to enable the com.google.android.gsf process in CustomNotifier Settings. It’s listed as Google Services Framework. To allow Tasker to react to Google talk notifications, you have to create a profile that reacts to an app, export it, edit it to replace the referred process with com.google.android.gsf, save it, and import it again. You can all thank Google for this fancy little issue…
I’ve had this watch for less than a day, but I’ve already found ways to do things that would have made me buy one a year ago if anyone else had actually posted about it back then. There’s very little information about the Sony Smartwatch and Tasker out there, and most of what’s there is for the Augmented Smartwatch app, which is quite frankly very poor. Hopefully, by writing this, others will realize the potential of the Sony Smartwatch as a Tasker accessory.
With a current price of $90 on Amazon US, I think the Sony Smartwatch is a great accessory for Tasker users to pick up. The Pebble and Metwatch both have the ability to display Tasker data on them, as far as I know, but I don’t think there’s anything like AppWidgetDisplay for them. That add-on, in my opinion, is a bigger deal than any feature found on the MetaWatch and Pebble, and it’s also why I’m happy to live with shorter battery life and iffy outdoor visibility.
I’ll be writing more about the Sony Smartwatch in the weeks to come, as I make more stuff for it, so stay tuned. If you have one, or plan to get one after reading this, make sure to let me know in the comments!