[RELEASE] HD+ - Android Dashboard

Do you know what attribute that <div> tag is in?

For the HTML device type (and automatically handling it), I'm looking for an html attribute. If the value of that html attribute isn't formatted correctly (ie: no <html> tag) I try to fix that so it'll display in a webview (embedded web browser).

FWIW - I tried to setup Device Watchdog and got confused.. I can look at some other examples if you have any (I'll look into Moon Phase and Sun rise/set tile next)

@jshimota also -- I'm looking at that screenshot you posted above has a few devices with "<div" and "<table" text in them

Moon Phase is the moonPhaseTile attribute, but I can rename that to html easy enough… (not sure why I used that instead of html)

Edit: I added an option to using the html attribute instead of moonPhaseTile

I installed the Moon Phase device - very cool! I'll just handle that one specifically.. coming in the next few days:
image

I didn't find that sunrise/sunset driver though

1 Like

I apologize - when folks are trying the help me I make sure I'm available - but I've a client with network installations going in today and tomorrow. I have to circle back late this evening or monday.
Re: @thebearmay and his super cool app - looks like that slipped right into place - re: Sunrise-Sunset that is derived from a Tile Master 2 app tile created from the amazing works of @BPTWorld. I use his app to create a number of tiles I'd generated when I was trying to get useful dashboards.

1 Like

It is coming from the Abacus Counting Machine app on Hubitat. Here is the raw values.

{
"date": "2021-08-27T20:06:43",
"device_id": "147",
"label": "vCnt-Daily Sump Pump",
"name": "bpt-abacusSwitch1",
"source": "DEVICE",
"value": "\u003cdiv style\u003d\u0027overflow:auto;height:90%\u0027\u003e\u003ctable style\u003d\u0027width:100%;line-height:1.00;font-size:15px;text-align:left\u0027\u003e\u003ctr\u003e\u003ctd\u003e\u003cb\u003eswitch\u003c/b\u003e\u003ctd\u003e\u003cb\u003eDay\u003c/b\u003e\u003ctd\u003e\u003cb\u003eWeek\u003c/b\u003e\u003ctd\u003e\u003cb\u003eMonth\u003c/b\u003e\u003ctd\u003e\u003cb\u003eYear\u003c/b\u003e\u003ctr\u003e\u003ctd\u003eAeotec Smart Energy Switch (P03)\u003ctd\u003e1\u003ctd\u003e1\u003ctd\u003e1\u003ctd\u003e1\u003c/table\u003e\u003c/div\u003e"
}

What is the "Front Door Keypad" tile you have in the bottom right corner? Is it a virtual keypad that pops up on screen with codes that can be managed by Hubitat? I like the HSM Tile that you have, but would also like the ability for it to work with multiple codes like a traditional alarm keypad.

Here is another example that works well in the builtin dashboard. I suspect it works since that dashboard foundation is html and the tiles are within.

{
"date": "2021-08-29T13:42:32",
"device_id": "89",
"label": "vKeenVent - Office",
"name": "KeenectData",
"source": "DEVICE",
"value": "Office Keen Vent Zone\u003cbr\u003eMode: IDLE\u003cbr\u003eSetpoint: 79.0\u003cbr\u003eTemp: 74.16\u003cbr\u003eOffice Vent: 50.0\u003cbr\u003e"
}

It's really not that important and if it isn't easy to add to what you've already done don't bother. I am extremely happy with everything you have already done. Love this app! Best dashboard I have used.

2 Likes

You can add spaces before and after the custom entry. More spaces = smaller font

I know this topic was asked before but is there any documentation on how to get 2 Hubitat hubs in different locations to work with the app? The app has finally replaced 97% of the functionality that I need at home and I would like to start adding my other location if possible??? Just thought of something. Anything preventing you from submitting the exact same app and calling it Hubitat Dashboard Plus? This way we could install another Hubitat Hub on "Dashboard Plus" and link them together with a tile similar to how I have my ActionTiles linked. Seems like an easy work-around since you could update both at the same time because the code was exactly the same. No extra work but I don't know if this is even feasible but I figured if you can have a beta version and a stable version something must be distinguishing the difference. Just trying to think outside the box without actually knowing how to build it :smiley:

I have the same problem. Sometimes when it's not working I just pull down from the top to access the android notifications and shortcuts then the light goes on. The dashboard is on the whole time and responds to touch so I think the device may be putting the WiFi to sleep.

thanks! I installed that app and am working on ways to support displaying HTML in non-standard attributes.. so this will be one of the apps I'll use to test with

That's a test config file I use to see how devices I don't have look in the app. I'm not sure who I got the device JSON from but I see it's a SecurityKeypad device in Hubitat (more info)

Right now, clicking on the device just lets you change the armed state so it's similar to HSM in that way.

There is a way to PIN protect any tile - which would require you to enter a PIN to change the device state (ie: arm/disarm). It's not exactly like a security keypad but the closest thing I can think of.

I have some ideas that could make this work but one sticks out. A few months ago I added logic to make it possible to switch between 2 config files - where you no longer need to be on the same network to switch.

This was the groundwork I needed in order to switch between 2 hubs. Today, you can use the Restore option to switch between 1 hub's config file and another one (you'd want to save these files to your device and not the hub since that won't work remotely). But, as a final step I could add a new 'device tile' which would load a config file.. so, you could essentially have a tile on 1 dashboard which will open up the other one.

1 Like

Sorry, I saw these but I knew it'd need some time to research.. I tested with widgets for a while but don't use them daily anymore so it's not something I see day to day.

I'm guessing this might have something to do with Android 11 screwing with the app's background service, or some battery optimisation stuff going on in the background..

I can see the battery optimization logic on phones mess with the device state being in sync with the widget. Each manufacturer does it's own battery optimizations so I know this is a PITA for many Android developers.

But, clicking on the widget should do the action right away. I looked at the code and it:

  1. waits until you're online first (up to 5 seconds),
  2. sends the toggle command
  3. waits for up to 5 seconds until we receive a device update (some confirmation that the command worked)

I needed to wait until the device was online because a lot of times the data connection is shut-down when the phone isn't in use and I want to make sure the request goes though. But, thinking about it now -- I'm not actually telling Android I want to use the data connection so it might just end up queuing that command - resulting in what you saw with multiple commands to the same device.

I probably should also make sure if you click on the same device multiple times the app doesn't send both multiple commands to the same device

Trying to wrap my head around how to get this working. How do I get the new config file when everything is set up with the current hub details? Is there a way to add the extra hub information in the Hub Details and Cloud Mode areas to get another config file formatted or do I have to start over with a fresh install of the app with the new hub in the appropriate LAN, then set up everything and back up the config file? Once I have the new config file how do I load it locally to the app so that it has 2 config files stored? I am happy to test this out but most people would find this difficult. Are you sure you don’t want to just add Hubitat Dashboard Plus to the play store? It would be a great way to monetize all of your work by charging a few dollars for those of us who need more hub access and appreciate what you are doing. I can’t stress how good this app is but it can be technically challenging for some, myself included, who have limited technical knowledge and I feel like you really should be getting some compensation for all your work.

just a quick update.. I think I have a solution for updating widget state as well as making sure the 'command' goes through right away. Just need to spend some time testing it along with a bunch of other things I started.. but, hopefully soon!

I'll add a new device tile in a future version which will hopefully simplify switching between 2 Hub's.

If you want to try out doing this today here's what I think will work.. note: I don't have 2 hubs so I haven't tested this to be sure

  • start with the app logged into 1 hub.. configure it how you like and hit menu -> more options -> backup and restore -> backup to get this dialog
    image
  • enter some filename (default is the Hub's IP address which could be fine too) and hit Save to device

Now, logout and login to the other Hub.. get that configured how you like and do the same thing as above (backup to device).. just make sure you use a different filename (ie: "hub2")

At this point, you should be able to switch between hubs but it's clunky.. every time you want to switch you have to logout first. Hit Restore and select the name of the config file (ie: hub) you want to load

Is there a way to add the extra hub information in the Hub Details and Cloud Mode areas to get another config file formatted

The latest version of the app (as of several months ago) saves the hub's IP address and all of the details needed to connect to the hub even when you're not on the same network. That's the low-level changes I mentioned earlier needed to make this possible.

Anyway, let me know if this doesn't work for some reason. The new device tile will probably just let you select a config file on your device and when clicked it'll load it. So, no need to logout and use the restore option. But, basically the same otherwise

@jpage4500, I'm no longer using the widgets due to the sync issues. Even though I've removed them from my desktop they still show up in HD and I'm worried they're taking up resources. Anyway to remove them and turn off widget support?

Clear and concise. Didn't see the "Save to device" :man_facepalming: I will give it a go next weekend when I hope to be at the other location/hub. Thanks

Do you see the 'configure widgets' option in the 'more settings' menu? If not, there's no widgets. It could just be cached somehow in that 'HD' app. But, it won't take up any resources.

With any widgets, what eats up the most battery is how often they refresh. But, Android is still pretty good about not doing frequent background refreshes when the device is sleeping. In fact, sometimes it's 'too good' about not letting apps update the widgets :wink:

1 Like