HomeHabit Dashboard - Original thread

I have been lurking around this community/forum for a while, and using openHAB for almost a year.
My primary usage is through mobile either my phone or tablet that is sitting in the living room.

As some of you here, I have not been entirely pleased with UI design and UX of current Android client.
In addition, I wanted:

  • more flexibility for voice commands (different for each device)
  • UI widgets that are specific to common home automation use cases such as thermostat
  • responsive interface for tablets (wall mounted screen use case)
  • some kind of theming (if you put something on your wall, you would want it to have the colors you like)
  • Android Wear integration (maybe even Android TV)

So, I decided to build my own mobile client to satisfy those criteria.
The project currently is in the early stages, although I do use myself for most of my home automation.
Client uses openHAB Rest API, but requires separate sitemap to allow all customizations for new widgets (I will post details on this later).
UI layout, text, icons are almost fully controlled by sitemap config, so it would be customizable for different needs.

Currently it is targeted for openHAB 1.x only. Mainly because openHAB 2 is in alpha and about a year away and I wanted to use something right now.

By posting here, I want to see what is the interest from other users, to make a decision if it is worth releasing it publicly.
If you are interested, please respond.

52 Likes

I’d definitely be interested! I’m fine with the official app in general, but yours looks like a nicer solution for a control panel.

Looks real nice. Any idee how to include graphs?

Graphs is actually something I’m working on now.
Charts are included by using standard Chart widget in sitemap, but data will be pulled through Habmin persistence API and natively rendered on Android.

@maze, can you give few examples of charts you are currently showing or would like to show in openhab UI?

That looks really nice Igor - and very clean easy to use interface IMO! Perfect for wall mounted tablets and the like. I will be watching with great interest and look forward to having a play myself. Great work!!

I’m interested, especially in your plans for Android Wear integration and Voice commands.

Typical graph in my current GUI

The screenshots are quite nice, I specifically like the dark background which is ideal for nighttime usage :smile:

One thing that would we really worthwhile (and what I’m missing from the official app) is a way to put shortcuts to specific sitemaps on the screen.

Clicking on such a shortcut would start the app with the speficially configured server / sitemap.

What’s about notifications, which can be posted via openhab to the app?

@hakan I like the shortcuts idea. Can you give an example of sitemaps you have for me to get the idea on the use case?

@ButterOnYourBread I didn’t look at notifications yet, since I’m using external setup through Pushover. Probably at later time.

Looks really really good. Simple interface with plenty of info. I like it.

Imagine that you have one sitemap for the lights and stuff in the bedroom and another for the Playstation, beamer etc. in the entertainment room (Mancave in my case :smiling_imp:)

When about to sleep, I want to get as fast as possible to the “lights off” switch, which would be just about the only button and pretty prominent on the bedroom sitemap. Usually, by that time, I am too tired / lazy to click through sitemap selections or scroll through a huge list of items.

When about to watch a movie or play a game, I want pretty big buttons for “volume up”, “volume down”, just like a TV remote, and a button for the overhead lights.

A third large sitemap would be something that shows all my sensors and all my actuators and everything, and this I would use only on a tablet with huge available screen space.

1 Like

I am definitely interested.

This has an incredibly high WAF potential! I’d seriously like to try this on one of my wallmount tablets as an alternative to (the rather sluggish) Firefox/CometVisu setup. Any chance you could share the APK here?

1 Like

Any examples how to config your UI?

@maze here is an example as a general idea, since it is still fluid.
How it maps to UI:

  • Sitemaps are in the drawer
  • Sitemap pages (text blocks) are tabs, with labels and some configs like number of columns (if not specified it adjust to the screen size)
  • Frames are UI widgets with items inside used as values/parameters

As you can see, all configs passed as part of {} blocks in the label.
Most widget only need one item, like lights switch, but complex widgets (pre-defined in the client) can accept multiple items, like weather widget below.

sitemap home label="Home"
{ 
  Text label="Home {columns:3}" {
    Frame label="{widget:clock,size:3x1}"
    
    Frame label="House {widget:text}" {
      Text item=Mode label="[MAP(mode.map):%s]"
    }
  }  
    
  Text label="Test" {
    Frame label="Outside {widget:temperature}" {
      Text item=Weather_Home_Temperature
    }
    
    Frame label="Bathroom {widget:temperature}" {
      Text item=Sensor_Temperature_Bathroom
    }
    
    Frame label="Bedroom Motion {widget:battery}" {
      Text item=Battery_Motion_Bedroom
    }
    
    Frame label="Front Door {widget:lock}" {
      Switch item=Lights_Bedroom
    }
    
    Frame label="Outside {widget:weather-current,size:3x1}" {
      Text item=Weather_Home_Condition label="{item:condition}"
      Text item=Weather_Home_Temperature label="{item:temperature}"
      Text item=Weather_Home_Temperature label="{item:temperature-high}"
      Text item=Weather_Home_Temperature label="{item:temperature-low}"
    }
  }

@pelnet since it started as a project for personal use there are some hardcoded/unfinished/broken things here and there at this time. I do see that there is an interest here, so I will be making an alpha release soon.
I will post updates on that in this thread.

It would be nice if you publish the source on gihub, I would be glad to help you finish it cause it really looks great for dashboard. Another idea is that we could merge you work into existing Android app and give users selection of the UI between existing and yours view?

4 Likes

Awesome! I do however also agree with Victor - if you would share the source, I’m sure it would speed up the project and allow more streamlined community based development (feature branches, etc).

I’m not an Android dev myself, but I did at one point start on a standalone client for OpenHAB, however I abandoned the idea due to time constraints.

1 Like

I also fully agree with @belovictor - instead of creating a separate app, it would be much nicer to have the dashboard view as a new option in the existing app. This will make it much simpler for anybody else to contribute and I am also sure that a lot of code can be shared - e.g. regarding integration with GCM, my.openHAB, discovery & configuration etc.

1 Like