How to use the Sony Ericsson LiveView with OpenLiveView and Tasker
Many moons ago, I got my hands on a Sony Ericsson LiveView smartwatch for next to nothing. It’s a product that never sold well due to a multitude of issues, and has since been replaced by the Sony Smartwatch, resulting in a stock of such devices being sold for very cheap all over the world. After trying to make it do anything half useful however, I eventually gave up, and in the process I learned that the Bluetooth stack of my stock ROM Galaxy S II meant that I could more or less wave smartwatches goodbye, due to connectivity issues.
Now I’m on a custom 4.1.2 ROM, and one with a completely different Bluetooth stack. Aside from being compatible with smartwatches in general, an open source project to create a completely new back end app has resulted in OpenLiveView being available on Google Play. It completely replaces Sony Ericsson’s control app, rather than act as a plugin for it. It doesn’t support stock (or any) plugins (yet), but what it does do is give you some very basic features that actually work on your LiveView.
The most important feature (in my opinion) is the ability to forward system notifications to the watch. This means that any toasts (flash messages on the screen) or notifications that the phone gets will be forwarded, with the ability to filter based on message content and apps. As you probably know, Tasker can send both notifications and toasts, and therein lies a ton of potential.
After trying a few different things, I found a setup that works brilliantly. Essentially I’ve set up OpenLiveView to only allow Tasker toasts and notifications through the filter, which means that I have every tool in Tasker available to custom make those notifications- based on notifications from other apps if I want.
To do this, go into OpenLiveView, Notifications, and then click Filter Settings. Hit the Menu button on your device, Select Set Filter Mode, and set it to Whitelist Mode. Then, it the + sign, let it build the app list, and find Tasker. Now you’ve set up OLV to only allow Tasker toasts and notifications through. Note that you need to have enabled Accessibility mode for OLV.
With that in order, there are three ways you can make a notification appear on the LiveView. The most obvious is to just use Tasker’s Notify actions to create a notification, which will then get through the filter. I however prefer to use the Flash action, which sends a toast rather than a notification, meaning that you won’t have any lingering notifications on your device but the watch will still treat it as a notification.
I’ve set up several profiles and tasks based on this. First off, I have a profile that sets the variable %Liveview to 1 when the phone is connected to the LiveView (there’s a context for Bluetooth connections), with an exit task that puts it back to 0. This allows me to make dynamic tasks down to action level based on whether or not the LiveView is available.
For instance, I have a task that is part of my custom Tasker-based todo list app, which checks for items in my shopping list when the Outside profile is activated. Up until now, this has used an audible warning of “You have items in your shopping list” (using the Say action) to warn me if I have anything in the list, with the actual list contents being put on the lock screen. I changed this so that now, when the LiveView is connected, it instead sends the list to the watch, instead of the audible warning. This is simply done by making the existing Say action dependent on %Liveview matching 0, and adding a Flash action with the list contents that is dependent on %Liveview matching 1.
The way this works in practice is that if I leave my house with items in my shopping list, but without the watch, it still warns me with the Say actions. If I do the same with the watch, however, it keeps quiet, but notifies me via the watch, which then vibrates and shows the message. Since this uses the Flash action, no notifications are left behind on the phone.
I also use this to warn me of incoming emails and Google Talk messages. Both of these work the same way, namely by having separate profiles with two contexts: one for %Liveview matching 1, and one event context for a notification with the respective owner application. Tasker has a built-in variable %NTITLE that will contain the title of the last system notification (assuming Tasker has been given accessibility access), and I can then use this to forward at least the title of the notification. With Gmail on Jelly Bean, the notification title contains the email sender, so I forward this by using a Flash action with the message “New email from %NTITLE”. Gtalk message contain both sender and message, so for those I just Flash %NTITLE by itself.
I mentioned there are three ways of sending a notification, and that leaves the last one: by using an intent. I got the info for this from OLV’s XDA thread, and the easiest way to do it is with Tasker’s Run Shell action, using the command from that link:
am broadcast -a OLV_ADD_NOTIFICATION –el timestamp 0 –ei type 3 –es title “Title of your alert” –es contents “Contents of your alert”
There are a few things you can change when running this command. Timestamp is, in theory, unix time- meaning time in seconds since 1970. I say “in theory”, because I haven’t been able to make this work, neither with Tasker’s %TIMES variable nor manually inputting unix time. This means that your notifications will show up as being from 1970. However, this method is still useful, because you can specify type, which lets you pick between OLV’s different notification types. To quote the XDA psot:
type: int, 0 for generic, 1 for Android notification, 2 for SMS message and 3 for note
This means that if you use type 3 as the command above shows, you can access the notification in the Notes section of your LiveView. You can then change the title and content parts of the command (Tasker variables work here) to specify title and contents of your message, and use that to add notes to your watch.
The way I’ve used this is to create a LiveView Note task. What this does is use two Variable Query tasks, one for %Lvntitle and one for %Lvncontent. These variables are then used in the command in Run Shell, which adds the notification as a note on the LiveView. As a final touch, I use a Flash action with “Note added” to add a confirmation on the watch. You can see how this works in practice in the video at the top.
As I’m writing this however, my LiveView days are over. I just got the Sony Smartwatch MN2 in the mail as I was recording the video for this, and in the coming weeks I’ll show how you can integrate that watch’s color touchscreen with Tasker in some very nice ways. Still, I wanted to post this on the LiveView before leaving it behind, since it can be picked for next to nothing these days.
Download: Google Play