Squeezing the Most Out of Pebble


Often, you find yourself in a situation when it is not convenient to use your smartphone or get it out of pocket, such as when it rains, while driving a car, at a meeting… Or you may simple feel a bit lazy to get up from a warm couch to see what has arrived to your phone. In this article, I’ll show you how to configure the notifications, customize and use the full power of Pebble, one of the most popular smart watches.

Today, only a very lazy person did not write something about this watch. As the most successful project on Kickstarter (it has collected more than ten million dollars), Pebble created a revolution and became the object of adulation for many geeks. The watch is now sold at a price of $99 for a plastic model with silicone strap (you can choose from eight colors) and $199 for a second-generation watch, a steel model with leather and metal strap. Both models are dust- and waterproof and, personally, I wear my watch virtually all the time.

Given the nature of its screen (E Ink), with an average use, the charge lasts for about a week. You can swim, run, make repairs, sleep while wearing this watch and, in each case, it can be your active assistant. Just go to the market and enter the word ‘pebble’ in the search box or go to the Apps section on your phone. You can find apps for notifications, music control, navigation, shutter release on a phone camera and GoPro camera, as well as dozens of games, hundreds of interesting programs (watchapp) and thousands of watchfaces for every taste. A recent update brought along the compass and fixed the background processes that enable the normal operation of activity trackers and smart alarms.

In this article, I will discuss the most interesting programs in the market and, in the traditions of this magazine, show you how to customize the watch for your needs without having the programming skills. We will be helped by two main programs: Tasker and AutoPebble.

Play Market and Pebble Store

All Pebble apps can be divided into two types. Those available in Google Play are called companion apps. Watchfaces and programs that do not require companion apps can be downloaded directly from Pebble Store.

Apps for Pebble

First and foremost, be sure to install this app from Google Play. This is an unofficial store of apps and watchfaces. While the apps come from the same market, the watchface catalog is much larger. Moreover, the program works much faster than the official app. By the way, you can create your own watchface with this program Canvas or by using one of online services.

Selection of Watchfaces


Next, we need a more advanced and functional notifier. The market has about ten such apps, but I recommend to select one of these three:

  • Notification Center for Pebble extends the basic functionality of embedded app. It allows you to view history and current notifications. It also has a filter for displaying the apps and can dismiss the notifications for Android 4.3.
  • Notify Pebble has its own interface for displaying the notifications, shows time and the app icon. It can dismiss all notifications or start an app on your phone. In its settings, it also has a light and dark themes, ‘Do Not Disturb’ mode, various vibration patterns for different apps and adjustable font height.
  • YaNC PRO has a different working principle. The phone generates an image, which is then sent to the watch. This allows you to display any language, including hieroglyphs, and view the received emoticons.

Pebble Dialer will allow you to extend the basic functionality of notifications about an incoming call. It enables you to turn off the microphone and switch your smartphone to speakerphone mode, which comes in handy when your hands are busy/dirty/wet or all of these at the same time.

All-In-One Toolbox

Let’s move on and jump to more specialized software. Pebble has only eight slots for installing apps, that’s why I recommend you to install one of the ‘all-in-one toolboxes’ available in the Market, for example Pebble Notification & Reminder. This is a powerful set of tools to manage your phone. It’s a kind of Swiss army knife in the Pebble world. It can query current notifications, show the weather for a week right on the watchface, it also has an anti-theft feature where you can select what to do when you lose communication with your watch: vibrate or turn on the siren on the phone. It sends a warning if the phone battery is low. In the control menu of the phone, you can manage the status of Wi-Fi connection, check the status of data transmission and GPS, turn on vibration, increase / decrease volume, watch battery charge.

In the utilities section, you can use ‘find the phone’ by running a loud melody on your phone, remember current coordinates, start navigation to stored coordinates with tips sent directly to the watch, take pictures, show calendar, and view recorded events in detail. In the computer control section, you can send commands after configuring the IP address and port in the app (it supports PowerPoint or Spotify). A key feature of the program that actually gave it the name is the ability to create reminders that appear on the phone at the required time.

Managing Reminders

Sport and Activity Trackers

One of the latest firmware updates added to Pebble is the ability to run processes in the background, which allows to accurately track the accelerometer and, with some degree of error, monitor the mobility of user, count steps, measure time spent in deep sleep and calories burned. So, as the next step, I recommend to install one of the sports trackers.

  • UPIt Pebble Pro for UP/UP24 is an addition to Jawbone UP and UP24 wristbands. It allows you to display on the watch in real time all necessary information from your wristband. In addition, it has some handy widgets for your phone and supports several watchfaces in Canvas.
  • Swim.com Pebble Uploader is for those who like to swim. All you need to do is to specify your account at Swim.com and indicate the length of the pool in the settings.
  • Pebble Runner is for runners. It tracks the route and will automatically remember the lap time and show your best lap. Of course, this means that you should carry a phone with enabled GPS.

Sleep, an Android app, will look at your sleep pattern and wake you up at the desired phase, just like LetsMuv, another app. Moreover, the latter can also count your burned calories. Misfit will show the number of walked steps directly on the screen of watchface, as well as your achievements over the week. You can specify the number of steps needed to achieve your goal.

Camera, Sound, Action!

You may certainly need an app for remotely controlling the camera on your smartphone. Here, you can select among the three that are the best of the best: Watch Trigger, PblCamera and PebbleCam. The latter two allow a live preview so that you can find the right pose and see whether you fit into the frame. For video recording, you can use [Multimedia for Pebble] (goo.gl/ZsKrhH). The most useful app for controlling the music on your phone is Music Boss. In addition to an impressive list of features and supported players, this program has integration with Chromecast and allows you to control the playback and sound volume directly from your watch.

Notes and Text

Pebble is useful for taking notes, so as a ‘must have’ app, I recommend to install Push to Pebble, which does not require the installation of watchapp on your watch but sends the text via integrated notifier. If your notes are stored in the cloud, you can use Keep for Pebble for Google Keep or WatchNote for Evernote.

For more complex cases and longer texts, you may add Pebble Reader, where you can use a built-in file manager to open directly from your watch a .txt file with any character set. The current page is remembered for reopening the file, and you can also configure the font and select light or dark display theme. You can put together the outline or content for your presentation and report while keeping your hands free.

Pebble Reader


Now, we have come to the most interesting stuff. AutoPebble is a plugin for Tasker that enables you to control your smartphone from your watch (or vice versa) just as you would like it. In fact, it can replace 80% of all apps available for this watch, but it requires some knowledge and time to configure the profiles.

This magazine wrote many times about Tasker, so I will not describe in detail all the profiles but will show only the main features and key configuration steps. I would just like to remind you about the conventions used in the article: a profile defines the conditions for triggering an event /state, in response to which the task that includes one or more actions is executed. I still recommend to use the English locale and disable the beginner mode so that you can manipulate the profiles.

First of all, you need to install AutoPebble on your smartphone. It includes two components: watchapp and the actual plugin for Tasker. The first component runs on the watch and performs three functions:

  • Receiving commands from the plugin which allow you to activate the vibration, display a message, or turn on the backlight.
  • Displaying the menu which lets you send commands to the plugin so that you can process them with Tasker.
  • Intercepting the button actions and reading the data from sensors, which then could be also sent to the plugin in order to configure the smartphone response to the button actions on the watch or gestures.

In the following examples, we will use primarily the second function of the app, that is, control the smartphone from the menu. To do this, first, we need to create a menu. In Tasker, create a profile with the condition: State -> Plugin -> AutoPebble App. Check the box for Watch App Opened. Next, create a new task and, for the action, define Plugin -> AutoPebble List. This action will display on the watch the information in the form of a list where you can switch the items (up to 20) and start them with the buttons. In the Labels field, enter the names of menu items separated by commas and, in the Actions field, enter the commands (also separated by commas), which will be sent to Tasker when you select the menu items.

At this stage of configuration, you can fill these fields by random values (for example, ‘Test1’, ‘Test2’, ‘test1’, ‘test2’). Later in this article, we will review several Tasker profiles and gradually fill the menu with different items, each of which will be tied to its own profile in Tasker.

Sound Control

Let’s start with a simple profile that allows you to quickly mute your smartphone. The configuration is very simple. Add a menu item named ‘Mute’ and command ‘mute’. Intercept the command in Tasker with the event ‘State -> Plugin -> AutoPebble -> Command Filter: mute’. Check the box ‘Exact’ (always do it in all profiles). For the task, select four actions (the last action is optional and required in order to close the AutoPebble menu after the task is completed):

  • Audio -> Media Volume 0
  • Audio -> Ringer Volume 0
  • Audio -> Notification Volume 0
  • Plugin -> AutoPebble App -> Control Watch App -> Close

That’s all. Now, you can quickly mute your smartphone by opening AutoPebble menu on your watch and selecting the menu item ‘Mute’. To get it all back in a snap, you can create an additional menu item (for example, ‘Unmute’) and a similar profile by inserting the desired volume settings instead of zeros. In the same way, you can create profiles to control Wi-Fi, Bluetooth, data transmission, Airplane Mode, etc.

Configuring Mute Settings

Find Phone

Now, another simple profile, this time, it’s for finding your smartphone. Operating principle: when you select the menu item ‘Find’, your smartphone will start to play music. First, add a menu item ‘Find phone’ with ‘findphone’ command. In the profile ‘State -> Plugin -> AutoPebble -> Command Filter: findphone’ specify the command (make sure to check ‘Exact’ box) and, in the task, set the volume to the maximum via ‘Audio -> Media Volume’ and start your favorite music via ‘File -> Open File’. On some models, you would probably need, first, to unlock the phone. Usually, you can do this by specifying ‘Alert -> Popup’ as the first action.

Coordinates and Geolocation

This is an even more complex example that simultaneously includes several profiles and an additional plugin. It’s all about the following: let’s say, we need to find a car on a huge supermarket parking lot (another case is finding a hotel in an unfamiliar city). Usually, this is done with Google Maps and markers on the map, but since we are a bit lazy and don’t really like to get the smartphone unnecessarily in and out of pocket, we can do the same task by using the watch.

For this, we need two new menu items in AutoPebble (items ‘Remember’, ‘On the Road’ and the commands ‘coord’, ‘find’), plugin AutoLocation and three Tasker profiles. The first profile will intercept the ‘coord’ command, create a new coordinate query and launch the geolocation monitor on your smartphone by using the AutoLocation plugin. The second profile will start automatically at geolocation query, it will determine the location, check its accuracy, adjust it if the accuracy is insufficient, remember the coordinates and stop the geolocation monitor. The third profile handles the ‘find’ command and starts the navigation program on your smartphone and/or watch with previously saved coordinates.

So, our first profile is very simple:

State -> Plugin -> AutoPebble -> Command Filter: ‘coord’
Plugin -> AutoLocation Location -> Location Request Name: ‘Car geofence”, Location Monitor -> Start

The second profile is a bit more complex:

  1. As an event, select State -> Plugin -> AutoLocation Location. In the only available field, enter ‘Car geofence”.
  2. Create a task and add to it a conditional block ‘Task -> If: %alaccuracy < 20’. It will be executed in case of insufficient accuracy of coordinates.
  3. In the block, change the ‘%alaccuracy’ variable: Variable set: %alaccuracy to %alaccuracy+20.
  4. Add the action ‘Plugin -> AutoLocation manage: Geofence Name — Car geofence; Action — Add/Edit; Lattidude — %allatitude; Longitude — %allongitude; Radius — %alaccuracy’
  5. Add the action to stop the geolocation: Plugin -> AutoLocation Location -> Location Monitor -> Stop.
  6. Close the block via ‘Task -> End If’.

Finally, the third profile. It will run when you select the menu item ‘On the Road’ and start the map:

  1. As the condition, select State -> Plugin -> AutoPebble -> Command Filter: find.
  2. To wake up the phone, create ‘Alert -> Popup’ with the Title: ‘Let’s Go’ and Text: ‘Loading Map’.
  3. Next, add Plugin -> Autolocation Info and fill only one item: Geofence Lookup -> Name where you enter the same ‘Car geofence’ from the first profile.
  4. Add ‘Plugin -> AutoLocation Map’. Enter the variables ‘%allatitude’ and ‘%allongitude’ in the appropriate fields and select Mode -> Navigation.

Now, if you want, you can immediately start the navigation feature on your watch. I use a program called NavMe. For this, as a last step, add ‘Plugin – AutoPebble App: Other Pebble App’ and select ‘NavMe’, ‘Action’ — ‘Open’.

Geolocation Profile
NavMe Navigator

Do-It-Yourself Notifier

Finally, let’s try to create our own notifier. To do this, we need another plugin from the same developer – AutoNotification – (goo.gl/ZltzdD) that will intercept the notifications from your smartphone. This plugin automatically records all information received from the notification in Tasker variables (%antitle, %antext, %anapp, %anpicture). So, all that we need to do is assemble it and send it to the watch in our preferred format.

As profile condition, select ‘State -> Plugin -> AutoNotification Intercept’. Check the box for Event Behaviour, select Only Created Notifications and Non-Persistent Only, that is, only those that have been created and those that are not displayed permanently in the watchface. To avoid collecting all notifications, filter the desired text or app. I advise you to enter the desired apps in the ‘Package Name’ field. This plugin supports regular expressions and, to create a profile for Hangouts and Viber, enter (com.google.android.com|com.viber.voip) and check the box for Regex. ‘|’ means OR and you can find the package name in the phone settings: ‘Applications -> All’ (tap the desired app) or in the address bar of the application page in the web version of Google Play.

To display the text on the watch, you can use two different methods: If you want to display the alert buttons and respond to their action, use ‘Plugin -> AutoPebble Notification’, and if you just need to display text, select ‘Plugin -> AutoPebble Text Screen’. You can see how to configure both options in the screenshot ‘Notifier from Tasker’.

Notifier from Tasker

You will also need a separate profile for removing the notification. Specify the command ‘dn =: =’ and, for the action, select ‘Plugin -> AutoNotification Cancel’. Fill Other Id: %apcomm1; Package: %apcomm2; Tag: %apcomm3. Your Notifier is ready. If there is ‘root’, ‘Xposed Framework’ and some modules, you can add the button ‘Mark All as Read’ for SMS and Gmail, which can also be displayed on the watch. You can find some more complex profiles at Developer Channel of Joao Dias goo.gl/0CFBof, and practical examples of above profiles with explanations — on my channel.

Advanced Level

With Tasker, AutoPebble and BusyBox and SQLite installed on the phone that has a ‘root’, you can use your watch to retrieve information directly from the databases on your phone. For example, I find it very useful to store my passwords, shopping lists and other records in Google Keep. You can find the profile in the annex to this magazine. I would note that you can pull the list of all note headers from the database by using the command ‘Script -> Run Shell: /system/xbin/sqlite3 /data/data/com.google.android.keep/databases/keep.db ‘ SELECT c0title FROM text_search_tree_entities_content WHERE docid<21;’.

The last condition (WHERE docid<21) is required to retrieve no more than 20 records from the database, because there are only 20 lines available for displaying information through AutoPebble List. You can pull the text by using the command ‘SELECT c0text FROM text_search_list_items_content WHERE c1list_parent_id = %apcomm;’, where ‘%apcomm’ is the text of command sent from the watch when you tap the desired header. It corresponds to ID that can be obtained through ‘SELECT docid FROM text_search_tree_entities_content WHERE docid<21;’.

Similarly, you can retrieve the lists directly from Google Keep and mark as completed the items or purchased products, and then reload the screen without the completed items. If you look in the database, you can see that the notes prepared in the form of lists have the digit ‘1’ in the ‘type’ column of ‘tree_entity’. The ID in ‘tree_entity’ branch corresponds to ‘docid’ in ‘text_search_tree_entities_content’ branch, as well as to ‘branch list_parent_id list_item’. In the table ‘list_item’ of the database, the entries have the attribute ‘is_checked’, and to mark the item as completed, you need to send the command ‘UPDATE list_item SET is_checked=’1′ WHERE _id=%apcomm;’.

Configuring the Script and Header Display Profile


If you are still undecided whether you need a smart watch, I hope that this article has nudged you in the right direction. However, if you are not pleased with black-and-white screen and buttons, keep in mind that all of the described above, as well as other, even more interesting activities, will soon be available for all Android Wear-based devices. At the time of writing this article, a closed Google+ group has already begun testing an alpha version of AutoWear, a new app from Joao Dias. A color touch screen has a much more extensive functionality. If you consider what Tasker can do with ‘HTTP Get’ and ‘HTTP Post’, you would realize that it gives you almost unlimited possibilities for controlling devices, home automation and displaying on your watch the information from a variety of servers.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">