kewashi Posted March 8, 2020 Author Posted March 8, 2020 [RELEASE HousePanel for ISY] I am excited to share with everyone that the first Beta Version of HousePanel for ISY is now available. You can try it out by installing it using npm as usual as follows: npm install hpserver Or, if you prefer, you can downlaod the source from github and instead do a simple npm install from the folder where you store it. I am running this on my Polisy box and it works like a champ so I would recommend doing that assuming you have one. If you also want to use SmartThings and/or Hubitat devices with HousePanel, you will need to install the HousePanel.groovy application in the respective IDE. If you're a existing ST or HE user, you will know that that involves. The source including HousePanel.groovy can be found here: https://github.com/kewashi/hpserver I have not updated the documentation, but most of the same functionality described at http://www.housepanel.net for SmartThings and Hubitat apply to ISY devices. Supported ISY devices for the moment are limited to switches, dimmers, and thermostats. All other device types can be shown but they cannot be controlled. To get started, start the node server as usual, using "node hpserver.js >& hpserver.log &" This will put all debug statements in a log file. You can also install hpserver.js as a service. Then launch your browser and go to: http://localhost:3080 or if you installed it on a polisy at say 192.168.1.50, then enter http://192.168.1.50:3080 This will shown the default setup which is a digital clock and an analog clock in each room. You can then go to "Hub Auth" to authorize your ISY hub. You will need to enter your username in the clientID field (typically "admin"), and password in the clientSecret field. In the "Fixed Endpoint" field enter: http://yoururl/rest enter anything you like in hub Name, such as "ISY". Then select "Authorize Hub #0". This will read your things into memory. You can then select Return to HousePanel. Then you can use the HousePanel GUI to add things to your pages and edit their look and feel. Lights and dmmers and thermostats can be readily controlled at this point. There is a lot here that I can't fully cover in this short introductory email. Please tinker with it and provide me with feedback. I think this represents the most comprehensive user adjustable GUI available for ISY. May this be the start of something beautiful. **NOTE** I have not yet worked out the business model, but until I do this app is free to use. 1
kewashi Posted March 8, 2020 Author Posted March 8, 2020 (edited) I already found some bugs of course since posting this. It shouldn’t impact people who want to try just ISY nodes and things. I would wait a day if you want to mix ISY and SmartThings and Hubitat nodes. It will likely continue to a little bumpy as this matures. Update posted to npm and GitHub. By the way, the GitHub repo where you can also download the app is at http://github.com/kewashi/hpserver Edited March 8, 2020 by kewashi Added info 1
tazman Posted March 8, 2020 Posted March 8, 2020 I can not get this to start I tried it on a pi and on my polysi. Once it is installed is there something I need to do in polyglot? The port 3080 says connection refused. I'm not very computer programming savvy and not real good with the linux command prompt but is there a way to run it as a "program" on the pi machine?
kewashi Posted March 8, 2020 Author Posted March 8, 2020 To run it on the Polisy do this: node hpserver.js >&hp.log & then check the contents of the Hp.log file to ensure it didn’t crash. Send me a post with I’m the crash notice if it crashed.
Michel Kohanim Posted March 10, 2020 Posted March 10, 2020 @kewashi, Once we get all the bugs out, we can create a service and pkg for it (just like udx and polyglot). This way, we can always keep it up to date with udx. With kind regards, Michel 1
kewashi Posted March 11, 2020 Author Posted March 11, 2020 (edited) Sounds good ... I’m working hard on debugging it. Making great progress. Should be ready in a few weeks. Latest has the rule feature working. This is one of my favorite features. With this feature a user can define an ad hoc button or switch to operate any number of other devices at once, including devices from different hubs. In my test case I have it turning on and off my office lights where one is a SmartThings light, one is a Hubitat light, and one is an Insteon ISY light. This feature also allows you to link a light to a door so it goes on and off automagically when the door is opened or closed. Similar feature for motion sensor and master lights. Once debugged I think the users here will really like this dashboard. Edited March 11, 2020 by kewashi Typos 1
kewashi Posted March 11, 2020 Author Posted March 11, 2020 Hey @Michel Kohanim and others interested in HousePanel. Today I posted the first truly stable and tested version of HousePanel for ISY. Please replace any prior versions you may have been tinkering with, with this version 2.220 found on GitHub here: https://github.com/kewashi/hpserver Installation instructions are: - copy all files from the GitHub repository, or clone it as usual using "git clone https://github.com/kewashi/hpserver.git" - in the folder where the main files are, run "npm install" (do not list the name of the app after install as this is a local install) - after npm does it's thing, you are ready to launch the server. I suggest piping the debug output to a file using this command: node hpserver.js >& hpserver.log & - give it about 30 seconds to initialize and then launch a browser and point it to your server where you did the above install and port 3080 for example, if you installed it on your Polisy or a Raspberry PI, point to that IP address with port 3080. My Polisy is on 192.168.1.50 so I go to: http://192.168.1.50:3080 This will show you the main HousePanel page. You will be logged in as user "default" which you can change from the Options page. From this page you can explore all the features of HousePanel and play with the two clock tiles that are by default put into each room. But to see the full power of HP, you will need to link a smart home hub. This version supports ISY, SmartThings, and Hubitat hubs. All three can be linked but only one ISY hub is allowed. Multiple Hubitat hubs are allowed. I will explain how to link a hub in a moment, but first I want to show you what HousePanel can do. Here is a screen shot of Version 2.220 with my ISY hub linked and my SmartThings and Hubitat hubs also linked. This screen shows various things that are designed to showcase the flexibility of HousePanel. Let me go through each one: * First, the digital clock tile shows an image of a house in the background. This was selected in the Tile Editor and demonstrates that any tile can have any image of type jpg or png set as the background. The "Home" status in the lower left corner of that tile is the actual state linked from a different tile that contains the home status. This shows how fields can be added to any given tile from any other tile. * The third tile is a Zigbe lamp that has a dimmer capability. Note that the dimmer slider is a different color than the others. I did this to show off that any element of any tile can be customized uniquely. Also note the image is a lamp image. I selected this from a library of options. * The next four tiles are all Ecobee tiles from the Ecobee Polyglot that links my thermostat to my ISY hub. As far as HousePanel knows these are ISY tiles just like any other ISY tile. The formatting of each tile can also be customized. The tiles shown use the default the skin-housepanel skin. (More on skins later). * The analog clock in the second row is a highly customized version of the built in analog clock. I added background color filled circles to make it look cool. * The Office Dome tile is my one and only Insteon light. The responsiveness is amazing on these devices and HP shows that off nicely. * This next tile, "Rule Demo" requires some explanation as it features some of the most amazing capabilities of HousePanel. This is a custom tile. HousePanel can have any number of custom tiles. By default 8 are included but the user can modify that at any time. Custom tiles are place holders for add-ons and mix-ins as I have done here. HP has a built in tile customizer that can be used to add fields from other tiles. Here I have added the state from tile 2 smart home monitor, and a digital time field from the clock tile, and a light switch for my wet bar. The words "Bar Light" are actually a user custom text field. Finally, the blue button underneath Rule Demo is used to trigger a set of commands. These commands are defined in the tile customizer. This particular button was set up to toggle all lights in my office on and off -- but it could have been set to do any number of things. * The Office lamp tile was augmented to show the door status. This is just to show them together. * The door tile was augmented to show another light - this case is the dome light just outside my office. If "rules" and "links" are enabled, then when the door closes, that light will go off. And when it opens, that light will come on. If you don't want links to adopt this behavior you can disable it on the options page. * The office light tile next is just shown slightly larger to convey that tiles can be arbitrary sizes. * Finally, the garage door tile shows a status bar on the bottom. ST and HE tiles keep track of when they were last changed and makes it available as a displayable field. I have not yet implemented this on ISY but I will in a later release. Phew... okay, so now that you see what HP can do, let me explain how to authenticate a hub. Start by clicking on the "HubAuth" button in the bottom ribbon. This will take you to a page that looks like this: For ISY hubs, enter your hub IP in the API Url field, your username in Client ID field, and password in Client Secret field. Then select "Auihorize Hub ..." Yours will probably say "Authorize Hub #0" but mine says Authorize Hub #3 because I have four hubs - One ST, 2 HE, and 1 ISY. It will come back and tell you how many devices it found. Click "Return to HousePanel" after you get that message. Once back in HousePanel, you can then add items to any page using the Edit button and dragging items from the list on the right. Another option is to use the Options menu which will bring up a full blown options page. Full documentation is available at http://www.housepanel.net I know this doc is out-dated so bear with me whiie I update it. Ken 1
kewashi Posted March 12, 2020 Author Posted March 12, 2020 On 3/8/2020 at 2:00 PM, tazman said: I can not get this to start I tried it on a pi and on my polysi. Once it is installed is there something I need to do in polyglot? The port 3080 says connection refused. I'm not very computer programming savvy and not real good with the linux command prompt but is there a way to run it as a "program" on the pi machine? There was a problem with the way I had it uploaded to npm so try grabbing the source from GitHub as explained above. Let me know if that works better.
tazman Posted March 12, 2020 Posted March 12, 2020 I was able to get it updated and get my ISY authorized like I did before but I still can not see any devices from my ISY. When i go into edit mode and I select only ISY there are no devices listed.
kewashi Posted March 12, 2020 Author Posted March 12, 2020 Hmmm well that is progress - you are getting close. Do they show up when you pick the "Show Info" button on the bottom bar? Try restarting your server. Do a kill -9 pid and then restart it using the same prior command: node hpserver.js & Take a look into your .log file to see if it gives you any hints. Let me know what it says.
kewashi Posted March 12, 2020 Author Posted March 12, 2020 One more thing... there was a bug in versions prior to 2.220 so if you have a version before that, update to the latest.
tazman Posted March 12, 2020 Posted March 12, 2020 49 minutes ago, kewashi said: Hmmm well that is progress - you are getting close. Do they show up when you pick the "Show Info" button on the bottom bar? Try restarting your server. Do a kill -9 pid and then restart it using the same prior command: node hpserver.js & Take a look into your .log file to see if it gives you any hints. Let me know what it says. The "Show Info" and "Options" only have the default items. In the log file after it list all the info for my ISY the below is what is shown. Error retrieving ISY nodes: { Error: certificate has expired at TLSSocket.onConnectSecure (_tls_wrap.js:1055:34) at TLSSocket.emit (events.js:189:13) at TLSSocket._finishInit (_tls_wrap.js:633:8) code: 'CERT_HAS_EXPIRED' } Wed Mar 11 2020 21:23:09 GMT-0700 (Mountain Standard Time) serving page at: http://192.168.0.40:3080 Wed Mar 11 2020 21:23:09 GMT-0700 (Mountain Standard Time) Peer: ::ffff:192.168.0.32 disconnected. for: 1001 desc: Remote peer is going away Wed Mar 11 2020 21:23:10 GMT-0700 (Mountain Standard Time) Connecting websocket to: http://192.168.0.40:3080 Wed Mar 11 2020 21:23:10 GMT-0700 (Mountain Standard Time) Connection accepted. Client #0 host=::ffff:192.168.0.32
kewashi Posted March 12, 2020 Author Posted March 12, 2020 Well ... I haven’t seen that before. It looks like the app is have trouble connecting to your ISY to retrieve the nodes. This error message is in the callback from the REST api call to retrieve nodes. It isn’t done with a TLS security token so I am stumped about that. Do you have your ISY configured with TLS? If so I may need to change the headers. Let me research that and get back with you.
tazman Posted March 12, 2020 Posted March 12, 2020 I don't know what TLS is so my machine should be set at default settings. A quick search of TLS seems to be related to mail servers which I do not have anything setup for, I have ISY send me text. I do have the network module with it tied into Alexa working well.
Michel Kohanim Posted March 12, 2020 Posted March 12, 2020 @kewashi, looks great!@tazman, use http instead of https. With kind regards, Michel
tazman Posted March 12, 2020 Posted March 12, 2020 3 minutes ago, Michel Kohanim said: @kewashi, looks great!@tazman, use http instead of https. With kind regards, Michel Awesome I will give that a try tonight.
kewashi Posted March 12, 2020 Author Posted March 12, 2020 Thanks @Michel Kohanim 17 minutes ago, Michel Kohanim said: use http instead of https. that would explain it. All of my testing has been done using http. I didn't even know you could use https with the ISY hub. Ken
tazman Posted March 13, 2020 Posted March 13, 2020 That fixed it for me, at first I was using https for house panel then i realized that. I guess using http for Polisy then having to be told to use https has really mixed me up.. I will play around with it over the weekend. Thank you both for the assistance!
kewashi Posted March 14, 2020 Author Posted March 14, 2020 Glad you got it going. Let me know your feedback.
kewashi Posted March 15, 2020 Author Posted March 15, 2020 (edited) Updated. Version with bug fixes posted to GitHub - Version 2.221 This includes a powerful rule engine that I will document soon on the website Edited March 15, 2020 by kewashi Typo
tazman Posted March 15, 2020 Posted March 15, 2020 The controls seem to be working well. I would like to see an object instead of a tile as what you place on the screen but I don't think I would represent the normal customer base. I don't see myself using a computer or tablet to control devices I would like it more of a display as to what condition the devices are set at. I'm sure your program could do that but it looks like it would take some coding that I can not do. When you mess with the tile settings it seems to me when you change things not everything gets scaled unless I am doing things wrong.
kewashi Posted March 15, 2020 Author Posted March 15, 2020 You can do what you are asking by defining your own skin that renders tiles as text objects. You will need to know how to write CSS to do this. I had a skin called skin-plain that was like this but it was more work than I wanted to do to keep it current. The HousePanel architecture is set up to allow you to render tiles however you want. Just take some time. Start by going into the GUI editor select Edit on the menu on the bottom the click the green circle the select icons and disable them change the text opacity from 0 to near 100 so the text shows up. Rinse and repeat ken
kewashi Posted March 20, 2020 Author Posted March 20, 2020 Hi folks - I uploaded Version 2.225 of HousePanel to GitHub today. This version includes minor bug fixes and adds support for both "int" and "state" variables. Both variable types will show up as fields in a tile with the name "Variables". The field values are the variable values set on the ISY and they will update dynamically as they are changed on your ISY. If you like you can even use these in the Rule engine provided on the HousePanel side to do things like "if a variable is greater than 5, then turn on a Hubitat light. Here are simple instructions for how to install HP. I abandoned the NPM install method so only the GitHub repo will work. You just need to clone it or download the zip file. git clone https://github.com/kewashi/hpserver.git cd hpserver sudo npm install node hpserver.js >& hpserver.log & The above is an exact copy of what I did on my Polisy to install it there. Once that is done, then just launch your browser and point it to the URL of your Polisy or your rPI - or wherever you did the install. Here's some "eye candy" to give you a view of what HP can do. I am working on a video to show how to go through the install and config steps and to show off some of the GUI features. I now have tested it with a Z-Wave Ecomotion motion detector and it works just fine. I'm also working on a transition plan to a B2B model so stay tuned for that. And have fun playing now - once the B2B model is launched these early adopt freeware versions will stop. Until then I would love to get some more feedback from early adopters on their experience so I can make it better. 1
kewashi Posted March 21, 2020 Author Posted March 21, 2020 (edited) On 3/14/2020 at 11:55 PM, tazman said: would like it more of a display as to what condition the devices are set at. I'm sure your program could do that but it looks like it would take some coding that I can not do. When you mess with the tile settings it seems to me when you change things not everything gets scaled unless I am doing things wrong HP can do this without any coding. You just have to create a display only skin. This skin hides the values and shows icons. You can show both or show only the values like “on” or “DON” or “present” etc. the tile editor can do this too but it would be tedious to go through each tile type. On the scaling, the default skin sets some tiles to a fixed size. This can be changed in a new skin to auto scale all tiles to their content. Or you can mix and match. HP just renders whatever the skin says and it’s all in standard CSS. I have two other skins that I will dust off to show what I mean above. Here's the first one - I call it "skin-modern". It has a cleaner more modern look. Notice the blue buttons are gone as I put this skin in Kiosk mode so users can't edit things. I will add this skin to the GitHub repo in the next release. Edited March 21, 2020 by kewashi Added graphic 1
kewashi Posted March 23, 2020 Author Posted March 23, 2020 One more update... next I will focus on the video and pulling together the business model, so stay tuned. This update includes full support for variables and programs. You can display or change variables, and you can activate any of the elements of a program from a HousePanel tile. The eye candy below shows two tiles reflecting programs. The first one is the default look. The second one has been customized using the built in tile editor to show off how flexible the GUI editor is. Just grab the latest in the GitHub repo and give it a whirl. This will likely be the last update before I lock down the code into a commercial mode so enjoy. 2
Recommended Posts