HousePanel (HP) is a user-hosted (typically local) highly customizable open source web application dashboard for accessing and controlling a SmartThings or Hubitat equipped smart home from a Tablet, Computer, or even Smart Phone. The main page of HousePanel once installed and configured will look something like this:
HP is designed to give the user full control over the look and feel of their panel controller. It does require some effort to install and configure, but once set up, making adjustments are relatively simple. Most customizations can be done from within the built-in web-based user interface, which includes a full featured tile editor and a tile customizer for modifying content shown on any tile. Power users can also make major modifications by creating custom skins or editing the provided skin’s CSS file using industry standard protocols.
HousePanel now supports multiple user configurations. Any number of users can be defined with their own password. Each user’s setup can be customized individually to meet their needs. When a user logs in, only their configuration will be shown on the tablet.
HP runs on a customer-provided web server and does not expose your personal data nor any details about your environment to the developer or any other party. You are in total control. The default settings were designed by a professional web designer to create a highly acceptable user interface for non-technical people. It is designed to not look and feel “geeky”. By default the tiles are large and colorful, placed on beautiful full color backgrounds. There is also a modern skin that makes HousePanel look very similar to other popular dashboards. Finally, the user can create any number of custom skins to make HousePanel look however they desire.
As of version 1.990, HousePanel also includes a helper Node.js application that pushes the status of things to your dashboard in real time as they change due to user control outside of the panel. This feature requires installation of HousePanel on server located on the same network as your hub. Typically this will be a Raspberry PI but it can be any server that supports Node.js and that can be accessed locally by the smart hub. If activated this feature will provide immediate updates to your dashboard as opposed to waiting for the once-a-minute poll to update it.
An advanced feature of HP is that it can be used as a text-based web service to return json strings of status about your home to any other web application. This advanced feature is mostly for developers and can be safely ignored, but if you are a developer then you should read the final section of this Wiki on Advanced Applications of HP.
HousePanel can display and/or control most types of things in a smart home
- switchlevel (dimmer)
- light (deprecated)
- valve (sprinklers)
A number of special tiles are also supported, including:
- Smart Home Monitor (SmartThings only)
- Hubitat Safety Monitor (Hubitat only)
- clock (digital and analog)
- routine (SmartThings only)
- frame (great for weather forecasts)
- WebCoRE pistons (SmartThings only)
Images can be any still or dynamically updated graphic that can be referenced via the Internet in the CSS file. Blanks are spacers and can take any form or size, giving the user maximum flexibility in the layout of the pages. A relatively new capability of HP is the ability to include user-defined iFrame tiles. These are tiles that can contain any content from anywhere on the web using iFrame browser capabilities. To use this feature you will need to create a local “html” file with your desired iFrame content. By default HP comes with four html frames that shows a weather forecast in different formats. Most tiles now also contain 4 fields hidden by default that display the last four events that occurred and their date in the UTC time zone. One or up to all four of these fields can be revealed using the tile editor described later.
A very important feature of HousePanel is the Tab layout. All controllable things are presented on one of several Tabs that can be quickly swapped in and out of view. This uses the tabbed display capability of modern web browsers. Under the hood HP uses jQuery to make this efficient. This means that any number of pages can be displayed, and on each page, any number of “things” can be shown and controlled. Later in this document we will explain how to customize the names of pages and the number of pages used. A default page configuration is provided but pages can be easily renamed, deleted, or added when in Edit mode.
For advanced users, HousePanel also provides a web service to access your smart home devices from another web application. This works for SmartThings and Hubitat connected devices. This feature requires that users first authenticate their hubs using the GUI. API calls are possible without using prior GUI authentication if the user knows and provides the fairly complex URL-encoded security codes on the API command line. Instructions for using the API are in the advanced section of this document.