HousePanel 2 Node Version

@kewashi Any advice on IDE logging? I am trying to reduce the amount of logging but I am getting inconsistent results with the higher levels, specifically Warning, Error, and None.

When I chose 'None', I observe info logs.
Error --> warn (presumably error too but haven't observed any)
Warning --> warn
Info --> info, warn
Debug --> info, debug, warn
Trace --> info, debug, warn

Hmmm well honestly I never used anything other than info, debug, and trace so there is likely a bug in there. I haven’t updated this version in awhile but let me take a look.

Just revisiting my dashboard options an thought id take a look at housepanel again. Has there been any changes to the overall style \ theme? I believe a more minamilist / "modern" theme was in the works at one point ?

Thanks for making housepanel available to the community!

Yes, there is a "modern" theme that is available. I haven't tested it much but I know it works. It is very easy to create a modern look using the built in tile editor even if you use the default theme. I hope you give it a try. As a side note, I recently starting using the built-in HE dashboards and found them to be visually nice. HP has all the features to replicate the look and feel of these panels so it would be a fun experiment to do that.

I have a new installation running on RPI and HE. When trying to Authorize to my HE hub, I get as far as Authorize/Deny (listing my HE devices). When I click on Authorize, I am returned to the " HousePanel V2.418 Hub Authorization" which states that it is "Retrieving devices from Hub: Hubitat". At this point, HP crashes. The hpserver.log is:

SyntaxError: Unexpected token u in JSON at position 0
at JSON.parse ()
at Request.tokenCallback [as _callback] (/root/hpserver/hpserver.js:863:29)
at self.callback (/root/hpserver/node_modules/request/request.js:185:22)
at Request.emit (node:events:513:28)
at Request.onRequestError (/root/hpserver/node_modules/request/request.js:881:8)
at ClientRequest.emit (node:events:513:28)
at TLSSocket.socketErrorListener (node:_http_client:494:9)
at TLSSocket.emit (node:events:513:28)
at emitErrorNT (node:internal/streams/destroy:157:8)
at emitErrorCloseNT (node:internal/streams/destroy:122:3)
[1]+ Exit 1 node hpserver.js &> hpserver.log

Any ideas on completing this installation?

HE changed the way they do authorizations after I wrote this app and I haven't updated it unfortunately. Once you're authorized the change doesn't matter so it has been low priority for me. Their new way is much easier than the old way so it will be an easy fix. Sorry about that but I haven't had any new users in quite some time. The app is still quite useful and powerful so I hope you like it. Give me a day or two and I'll write back when it is working.

Okay @rlhatch I posted an update that does some cleanup and also I used this version to confirm that the OAUTH flow is working. Just grab the latest version from the same repo and update and reload the server. Let me know if you run into any troubles.

As an aside, I actually completely rewrote HP a few months ago and never posted it because it is hosted on a web server like SharpTools. This is the version I use and I've updated it to include a number of goodies that I haven't back-ported to the local version. I am still trying to decide if I'll open up the web version to others or if I'll back-port the goodies. People here seem to love local so I'm leaning toward the latter.

Thanks for the assist and prompt response. I now have HP installed and is working fine.... It is great application.

1 Like

Hi folks - major new update to HousePanel posted today in the "hpsql" branch of my GitHub repo. The first post above was updated to explain what is all there and what it means. The install is still a very manual process so if anyone wants to try it, let me know here and I will help.

The hpsql branch was updated today to include many bug fixes and a major shift to use sqlite3 as the default database instead of requiring an install of mysql. This means you just need to download the repo and run it on a Linux machine or rPI. The sqlite3 db will be made for you automatically. You do need to have sqlite installed but most Linux disto's have it already. If not there are plenty of online resources to help you get it installed. If you want to use this version of HP let me know and I'll help. I don't anticipate a lot of takers which is fine, but I did want to post this in case someone wants to try it.

By the way, this version re-instates the "local is king" model and re-activates the ISY integration module. I'm working with the good people at Universal Devices to explore making this a GUI on their platform.

Everything is now merged to master branch. Default DB is now SQLite so installs are easier.

Hi folks - if anyone is interested in using Hubitat with ISY, the HousePanel.groovy file now supports a new ISY Node Server that I wrote to read devices into ISY, and HousePanel was updated to read and control those devices as first class citizens. If you are visiting this forum from the UD forum, all you need to support the Node Server is to install the HousePanel.groovy file. You don't need all the other files unless you also want to use the HousePanel dashboard, which i recommend since it is much better than any other ISY provided GUI.

EDIT: Numerous bug fixes have been posted and the node server is now on the production server.

Posted an update to HousePanel that includes a number of bug fixes and new features.

  • ISY integration restored including back-end support for node server
  • Photos now rotate when screen blanked out if present in "photos" folder
  • Mode determined to drive blackout behavior
  • Menu moved to upper left for a cleaner and more conventional look
  • Hot keys for menu items
  • Replaced weather with Weather.io support, must have an API key
  • Option to skip OAUTH flow using accessToken issued by the hub (must use this method for ISY back end support)
  • Many bug fixes to tile editor and new features like bottom and right padding and margins and float tiles to left or right, and more font sizes and border types
  • Reinstated option to do short and long polling for frames, etc
  • Redesigned "Link" feature so linked to tile no longer has to be on the screen
  • Tons of bug fixes and code cleanup including removal of all legacy ST stuff
  • updated editor to include custom border colors and more precise icon placement
  • Support editor placement of linked items on linked-to tiles
  • Reinstated donation-ware feature since I no longer am prevented from it
  • Added ability to change icon repeat to repeat-x, repeat-y, or both

If you haven't tried HP in awhile, now would be a great time to try it out. I am actively updating it again and have lots of ideas. It already has many more features than the built-in dashboard and others out there. The Link and Rule features are big standouts as is the ability to customize it like crazy.

1 Like

V3.084 posted with a nasty bug fixed that broke the Options page when I added back in the donation blurb. Hopefully nobody ran into this.

I also did a considerable amount of code cleanup in this version in the tile editor mostly for maintenance reasons, but it does give it a little more speed.

I'm curious to see how some of your panels look in the new app. I was a religious user of your first gen app, but lost track as you moved into the node version and I transitioned my pi to other tasks... I've been using the built in dashboards for a while now, but might have to take this out for a spin again!

Here are a few eye candy examples. A few things to point out. On the first one note the links to Lux and temperature on the analog clock. Also note the link to a Hubitat dashboard on the third tile which uses the URL link. On the second dashboard note the graphic to the patio and key drawer. Lots of custom options. On both panels note the uniform tiles and partial see-through. The third image shows the new Tile Editor with a number of new controls such as border color, new padding options, and more precise icon location settings.

There are so many other things it can do.

1 Like

Looks awesome Ken!

1 Like

Thanks @SuperDupe - it is a labor of love and practicality since I use this on 3 dashboards mounted in my home. One in the kitchen, one in my office, and one in my wife's office. I also typically launch one on my computer when I'm working from home too. The built-in Rule engine is wicked cool too, but I don't use it much. It works like a champ but Hubitat's Rule Engine is so good that I use it instead. The only exception is HousePanel's Rule Engine is the only way to trigger ISY devices from Hubitat sensors since they are different platforms, so I use it for that. At this point I'm just making super fine and nuanced updates like the ability to nudge icons around into specific locations within a tile, and a built-in weather tile based on the tomorrow.io platform. It's a shame more people don't use it because there is so much here and the flexibility is unlike anything else I've seen out there.

2 Likes

[RELEASE - New HousePanel LIST feature]

Hi good people... posting another update about HousePanel that I've been slowly chipping away at improving and adding new features. This update features a brand new feature that allows end users to use the Tile Customizer to capture historical data about any field on any tile. That data can then be assigned to any new field name (sort of like custom TEXT fields) but in this case, when that field is clicked on, it will display a table and a graph of the values seen since last reset. When you define the list variable, you will be asked what events will cause a reset. The default is "d" which means daily, but weekly, monthly, and yearly are availably. You can also pick to reset the variable when mode changes to Day, Evening, Away, or Night. Here is a sample of a variable that I use to track my water drinking - each time it changes the LIST is updated.

I'm still working on documenting this feature but it should be simple enough to figure out. The above example could have been anything. For example, you can graph the temperature of your thermostat, or the status of any light level in your home. I wrote this feature mainly to track variables but it can be used to track and plot anything.

To make this graph, you do into edit mode (press E or pick Edit from the menu), then open the Tile Customizer by clicking on the blue round circle of the tile you want to edit. It will show a screen like below.

On this screen, pick "LIST" type in the upper left, and then pick the tile you want to link on the upper right. Then pick the field to track in the list on the right. The custom field name will be "list_field" where field is the source field by default, but can be changed to anything you want that isn't an existing field name. Then click Add. After the field changes the table and plot will be automatically generated and updated in the background.

1 Like

For those remaining loyal HousePanel users, I posted a bugfix and code cleanup update tonight to GitHub in the usual location. This update adds a security layer to all POST api calls done internally in HousePanel to prevent external bad actors from making random API calls into HousePanel if they happen to have your IP and access code. Now all API calls need a special code that is only known to the server code and passed to the javascript code for use in making API calls. User API calls are still possible using this code if you extract it from the debug print. I fixed a bunch of other bugs and tweaks too. Enjoy.

Damn - had a minor but important bug. Fixed it, so if you grabbed the update, please grab it again to get to V3.2.14

2 Likes