SmartThings Community

[RELEASE] HousePanel Dashboard for SmartThings and Hubitat

Thanks but doesn’t work on accuweather.html.

https://www.accuweather.com/en/hk/hong-kong/1123655/weather-forecast/1123655

AccuWeather may only work in the US… I really don’t know. I would go onto their actual website and get a working weather snippet for your area - I assume Hong Kong. Then copy that into the accuweather.html file verbatim. Or since you have the other forecast working, just delete it. I only included it as an example option. I never really expected anyone to use both. You can actually use any weather service you want as long as its webpage will render in an iFrame. A good list to choose from is here. The top pick is the one I use in forecast.html.

And as a reminder, if you save a new frame file, say with the name myforecast.html then you can show this by changing the name of the frame tile to myforecast

1 Like

Worked. Many thanks.

1 Like

Hi,

May I know how to backup my customize item? Which files need to be backup?
And how to update housepanel without losing any own changing?

Thanks

backup involves saving all files with pattern “hm*.cfg” including hmoptions.cfg

Also save customtiles.css and any housepanel.css file in your skins folders.

Once you upgrade, just replace all those files with your backup versions.

Thanks. May I have the doc for updating procedure. Thanks.

Also, unable to show all, can you help? Thanks.

HP2

You should be able to use the tile editor. Select Edit radio button and click green button on the weather tile. In the dialog box select the frame using the drop down box beneath the icon and change the size to reveal the whole thing.

There is no update doc. Just replace the php and js and css files and reload the webpage. If the groovy file changes you will need to copy and paste that in the IDE too.

Sorry, can’t get it. Any wrong?

Can’t tell from your screen shot. Keep playing with it. Also check the formatting of your html file.

[RELEASE] HousePanel 2.045

With this release the HousePanel.groovy file is the same between SmartThings and Hubitat so the old HousePanelHubitat.groovy file has been removed. The same file now needs to be uploaded to your respective IDE.

To upgrade to this version, please replace your main housepanel.php file and upload the new HousePanel.groovy file to the IDE.

Minor patch to V2.045 that mainly impacts Hubitat users. This is only a change to the groovy file and the housepanel.css skin file. This adds three buttons to the SHM tile to set the mode directly. As noted in the Hubitat forum, this feature is broken on Hubitat but it works great on ST. The HSM is a very complicated tool over there that I can’t get to work properly. SHM here is simple and elegant and it works like a champ.

image

On the Hubitat side, this update adds History that my ST friends here had in a prior release. My bad folks, but I failed to increment the version number with this minor patch.

Sorry to take so long on this, but I cannot seem to get back to a working panel. I erased and rebuilt my Pi, removed, reinstalled the Smartapp files and properly created the client ID and secret, and successfully performed the authorization. No devices are added during authorization (although the process lists them all, properly checked off), only adding the clock and weather to the rooms. Refresh fails to show any devices, and reauthorization simply raises my hopes by showing me all my devices, then telling me I only have the three standard ones when it completes. All ownership and permissions are correct, and the generated hmoptions.cfg file matches lack of devices but includes the proper location, ID, client info, etc.

I went back to see how others have fixed this in the comments, but can not locate the relevant posts. Any suggestions? I am killing alligators here while the swamp needs draining…

Something is throwing an error in the smartapp groovy file. Turn on your log and open it in a separate window. Then do a reauth and look in the log. Let me know if you see an error tied to HousePanel and if so, please paste it here with the usual privacy redactions.

The most common error is typically not having cURL installed in php. I assume you checked that already.

It looks like an error is thrown in the routine extractname().

The authorization page fails to show the defined hub prefix, although it is defined in the SmartApp as st_.

and here is the log… (reverse time order, as usual…)

3:20:52 PM: info postEventToEndpoint: event successfully posted.
3e904740-52bc-4197-b273-ba21e070eb21 3:20:52 PM: debug Property Change Event DeviceWatch-DeviceStatus: online (source: DEVICE)
3e904740-52bc-4197-b273-ba21e070eb21 3:20:52 PM: info postEventToEndpoint: event successfully posted.
3e904740-52bc-4197-b273-ba21e070eb21 3:20:52 PM: debug Property Change Event DeviceWatch-DeviceStatus: online (source: DEVICE)
3e904740-52bc-4197-b273-ba21e070eb21 3:20:52 PM: info postEventToEndpoint: event successfully posted.
3e904740-52bc-4197-b273-ba21e070eb21 3:20:52 PM: debug Property Change Event DeviceWatch-DeviceStatus: online (source: DEVICE)
3e904740-52bc-4197-b273-ba21e070eb21 3:20:52 PM: info postEventToEndpoint: event successfully posted.
3e904740-52bc-4197-b273-ba21e070eb21 3:20:52 PM: debug Property Change Event DeviceWatch-DeviceStatus: online (source: DEVICE)
3e904740-52bc-4197-b273-ba21e070eb21 3:20:52 PM: info postEventToEndpoint: event successfully posted.
3e904740-52bc-4197-b273-ba21e070eb21 3:20:52 PM: debug Property Change Event DeviceWatch-DeviceStatus: online (source: DEVICE)
3e904740-52bc-4197-b273-ba21e070eb21 3:20:52 PM: info postEventToEndpoint: event successfully posted.
3e904740-52bc-4197-b273-ba21e070eb21 3:20:52 PM: debug Property Change Event DeviceWatch-DeviceStatus: online (source: DEVICE)
f7ad62af-9bcd-4eac-8275-634215418b90 3:20:52 PM: debug Harmony - Current Activities: [harmony-14126058-37532865]
f7ad62af-9bcd-4eac-8275-634215418b90 3:20:52 PM: debug getChildDevices(false), children=7
f7ad62af-9bcd-4eac-8275-634215418b90 3:20:52 PM: debug Harmony - response body: {“hubs”:{“14126058”:{“status”:200,“message”:“OK”,“response”:{“code”:“200”,“msg”:“OK”,“data”:{“accountId”:“12308914”,“configVersion”:88,“sleepTimerId”:-1,“activityStatus”:2,“version”:257,“contentVersion”:69,“currentAvActivity”:“37532865”,“syncStatus”:0,“currentActivities”:[“37532865”]}}}}}
92358ec5-2fee-4288-b5aa-4b0d4f26474a 3:20:52 PM: error java.lang.NullPointerException: Cannot invoke method length() on null object @line 417 (extractName)
92358ec5-2fee-4288-b5aa-4b0d4f26474a 3:20:51 PM: error java.lang.NullPointerException: Cannot invoke method length() on null object @line 417 (extractName)
92358ec5-2fee-4288-b5aa-4b0d4f26474a 3:20:30 PM: error java.lang.NullPointerException: Cannot invoke method length() on null object @line 417 (extractName)
92358ec5-2fee-4288-b5aa-4b0d4f26474a 3:20:27 PM: info webSocket Port = null
92358ec5-2fee-4288-b5aa-4b0d4f26474a 3:20:27 PM: info rPI IP Address = null
92358ec5-2fee-4288-b5aa-4b0d4f26474a 3:20:27 PM: info Hub Firmware = 000.020.00203
92358ec5-2fee-4288-b5aa-4b0d4f26474a 3:20:27 PM: info Hub ID =
92358ec5-2fee-4288-b5aa-4b0d4f26474a 3:20:27 PM: info Hub IP = 10.0.0.52
92358ec5-2fee-4288-b5aa-4b0d4f26474a 3:20:27 PM: info Use this information on the Auth page of HousePanel.
92358ec5-2fee-4288-b5aa-4b0d4f26474a 3:20:27 PM: info You must go through the OAUTH flow to obtain a proper SmartThings EndPoint
92358ec5-2fee-4288-b5aa-4b0d4f26474a 3:20:27 PM: info You must go through the OAUTH flow to obtain a proper SmartThings AccessToken
92358ec5-2fee-4288-b5aa-4b0d4f26474a 3:20:27 PM: info SmartThings
c083253e-b68b-419f-a7e4-525b12d403ef 3:20:03 PM: debug parse zw device: 03, command: 3105, payload: 01 09 43 to [[value:67, unit:F, name:temperature, isStateChange:true, displayed:true, linkText:Downstairs Thermostat, descriptionText:Downstairs Thermostat temperature is 67°F]]
3e904740-52bc-4197-b273-ba21e070eb21 3:20:03 PM: info postEventToEndpoint: event successfully posted.
3e904740-52bc-4197-b273-ba21e070eb21 3:20:03 PM: debug Property Change Event temperature: 67 (source: DEVICE)
1b331b23-e014-4ba0-a582-ecff317f42f4 3:19:37 PM: debug Parse returned [name:contact, value:closed, descriptionText:Garage Door was closed]
1b331b23-e014-4ba0-a582-ecff317f42f4 3:19:37 PM: debug Contact Status
1b331b23-e014-4ba0-a582-ecff317f42f4 3:19:37 PM: debug description: zone report :: type: 19 value: 0024
92358ec5-2fee-4288-b5aa-4b0d4f26474a 3:19:24 PM: error java.lang.NullPointerException: Cannot invoke method length() on null object @line 417 (extractName)
e35e1569-8a21-454c-b1b5-f728da31cd7f 3:19:15 PM: debug Parse returned [name:battery, translatable:true, descriptionText:{{ device.displayName }} battery was {{ value }}%, value:78]
e35e1569-8a21-454c-b1b5-f728da31cd7f 3:19:15 PM: debug Battery rawValue = 28
e35e1569-8a21-454c-b1b5-f728da31cd7f 3:19:15 PM: info BATT METRICS - attr: 32, value: 1c, decValue: 28, currPercent: 78, device: CentraLite 3326-L
e35e1569-8a21-454c-b1b5-f728da31cd7f 3:19:15 PM: debug description: read attr - raw: DB4F010001082000201C, dni: DB4F, endpoint: 01, cluster: 0001, size: 08, attrId: 0020, encoding: 20, value: 1c

I am seeing some info items, but things looked OK on the AUTH page:

ExtractName is an internal Java or Groovy function. The root cause happens before this point in the getThing routine when trying to read your device named

CentraLite 3326-L

Not sure why but try de-selecting this from all types and see if it works. I am away from my computer tonight so I can’t edit the code but I think if you remove this device the rest will work. If not try selecting just a small number of simple switches first and expand from there.

No joy. Same result. I am now starting to make stupid errors, so I will wait until I’ve slept before trying again and grabbing a new log.

I am suspicious of the fact that the prefix is not showing up on the Authorization page. I may have truncated the log too soon and missed an error…but like I said, I will wait until tomorrow.

Okay sounds good. If you can in the morning grab the whole log. And start small with your added things.

OK,
I turned debug on, and performed a re-auth with a version of the groovy file newly downloaded from Github.

It has some chaff from other SmartApps, but here it is: