PebSeer Beta – Control HomeSeer from your wrist

As a Pebble and HomeSeer user, I’ve been busy writing an application which allows me to control my home automation system from my wrist. At the moment it is able to display a customizable (multi-screen) configuration, view status of devices, control devices and run events.

It’s been running for a couple of weeks on my Pebble Steel in combination with a Nexus 5. At the moment it is being beta tested by a couple of users from the HomeSeer forums. People interested in beta testing the application can send an email to pebseer @ this domain name. Do not forget to mention your platform (iOS/Android) and the number of devices in your HomeSeer configuration.

PS_screen_loading PS_screen_mainPS_screen_lightsPS_screen_lights_control

0. Preface

PebSeer is an application which I developed in my own time. I am not affiliated with Pebble or HomeSeer in anyway.
By utilizing the application you acknowledge that I am not responsible for any loss or theft of data or any attempt to break in to your HomeSeer server.

1. Known limitations

  • Connections not coming from the local network will be rejected after a few commands because HomeSeer sees them as a possible hack. Workaround: disable IP block in setup. Bugzilla ticket: 2501
  • JSON requests via MyHomeSeer do not work. Bugzilla ticket: 2500

2. Installation

The easiest way to install PebSeer is by using this link. You need to put your Pebble in Developer mode to be able to install the watchapp ! The link to the PebSeer binary will be send to you by mail when you are part of the beta program.

3. HomeSeer Configuration

The PebSeer configuration is stored in JSON format in the device type of a virtual device.

So, in order to be able to store the configuration, you need to:

  1. Create a new virtual device (name it PebSeerConfig)
  2. Write down the device reference that is displayed in the URL (see screenshot).
  3. Paste the JSON configuration (see next section) in the device type.
homeseer_config
HomeSeer virtual device for PebSeer configuration

 

4. JSON Configuration Breakdown

jsonconfig
JSON Example Configuration

The configuration is stored in a windows JSON object which holds an array of all screens that you want to display on your Pebble. The index of a window/screen in the array defines the ID of the window. The first entry (so ID=0) will be displayed at startup of PebSeer.

A window configuration consists of:

  • title: the title of the screen
  • items: an array of item objects that you want to display in the particular screen.

An item can be a device, event or a link to another screen. This is specified by the type property of the item object.

  • window: this item will open another window on top of the current one.]
    • id: the index (aka ID) of the window in the windows object.
    • name: the name that needs to be displayed in the list for this window
  • device: an item that will show the name and status of a HomeSeer device
    • id: the device reference of the HomeSeer device. This is the number that is in the HomeSeer URL whenever you edit a device. (e.g. http://192.168.0.21/deviceutility?ref=92&edit=1)
    • name (optional): an alternative name (e.g. a shorter name for better display). If omitted, the name of the device as it is known in HomeSeer will be used.
    • readonly (optional): if readonly, the device cannot be controlled by PebSeer (status only). default = false
  • event: the item will trigger a HomeSeer event when selected.
    • group: the name of the group to which the event belongs
    • event: the name of the event itself
    • displayname (optional): an alternative name (e.g. a shorter name for better display). If omitted, the name of the event will be used

 

I suggest you use a decent editor (like e.g. Notepad++) to create your configuration file given the syntax above. After finishing it, copy/paste the contents in the JSON Formatter to check if it is valid and to reduce its size (by removing newlines, tabs, spaces, …). Copy/paste the output of the JSON Formatter in the virtual device created in the previous step and save your changes in HomeSeer.

5. Pebble Configuration

After the configuration has been successfully updated in HomeSeer, open the configuration page of the PebSeer application via the Pebble app on your phone.
Fill in you connection details, and put the device reference in the field labeled “PebSeer config deviceref”.

PebbleApps PebbleAppsConfig

 

6. Bug Reports

There is no bug tracker in place yet, so in the meanwhile you can send your bug reports by mail.

When you encouter a bug or crash:

  1. Open the logger and hit the “App Log” button. All information traced from now on will be visible in this web page. PebSeer logs all URL’s that it opens and all messages that are send between the Pebble app and PebSeer. You might want to remove credentials when you send the logging. The logging is really important for me to help me pinpoint the root cause of the bug or crash.
  2. If you are able to reproduce the bug or crash: send me the scenario so I can be able to reproduce it
  3. Send your JSON configuration
  4. Open the last URL’s that PebSeer logged and add the output to your problem report.

7. Feedback

Feel free to post your feedback on the PebSeer thread of the HomeSeer board and/or by posting a comment on this blog.

Leave a Reply

Your email address will not be published. Required fields are marked *