Hubigraphs 4.8 (The Final Chapter)

Is the FAQ licensed or can I steal it :stuck_out_tongue:

3 Likes

Sooo true!

8 Likes

Best FAQ ever! :joy:

10 Likes

Thanks man, this looks terrific.
I’ll backup my HE and then have a go at setting it up.

Great initiative! HE needs more graphical improvements. Like your FAQ! May I copy it for my releases?

3 Likes

Copy away! I have always like the “sharing aspect” of Hubitat.

11 Likes

+1

Btw: this app found fantastic! I'll start with it asap

I'm not sure about the app, but really you gained the hall of fame for your FAQ...:grin:

2 Likes

Quick question, how often is data being sent/saved?
Wondering how to account for chatty devices here or limit how often I get graph updates v.s. my device(s) updating.

Thank you, excited to try this out!

This has a two part answer. One parameter is the refresh rate. This updates the webpage automatically (but only uses the data stored in the app). This makes the dashboard update correctly periodically.

Second, data is INITIALLY loaded when the app is installed or updated. This can take 10-15 seconds. Then the app subscribes to proper events and the data is updated real-time. If you were to refresh the webpage one second later, the new data would be there. I used this design to drastically reduce loading on the hub...I.e 10-15 seconds every 5 minutes....

This does exploit a weakness with the app; non-periodic updates will cause the graph to look old (if no new events have been received in a while). I only use it right now with my weather station that updates every five minutes. So, the short answer is that the data updates when an event occurs.

2 Likes

Got it, thank you.
I'd like to use this for a power meter, but they can be super noisy as I found out with my related Initial State Graphing Port, and I'd rather rate the reporting v.s preventing the device from reporting in close to real-time.

I'm not sure happy with Initialstate and their costing, so this is sounding awesome.

Right now I just use my port for monitoring Humidity changes and history.

Thanks for another very useful app/driver. Not sure what to say about it other than I love the ground work. Played with it for far too long last night/this morning and I'm exhausted as a result. :wink:

Couple of questions. Answer at your leisure, or don't!? :rofl:
Your FAQ is awesome, but I have to admit to being confused if you want to hear anything from anyone about it other than its great. :stuck_out_tongue_winking_eye:

  • How many graphs can realistically be used at once before the expected hub performance hit is over the top?

  • Are you able to keep the child apps in a list you can edit later? Sorry if I missed something (other than it's Alpha). It was a one shot deal for me. Build all in a single session, only clicking the back arrow on the browsers, or gather up all the links and then deploy later, but no future edits. Once I click done on the parent app, all I have are the links. The parent app doesn't show up int the list of apps, and the children obviously aren't there to go back into for edits.

  • Since the parent and child app doesn't show up after closing the parent app, the only way to delete one, is to delete all by removing the code for parent app, so I can then remove the code for the child app to kill OAuth (at least that's the only way I could figure out on my own). Did you have a different experience than me?

Had some fun and I love how easy it was. Unfortunately I had to remove it because all my "learning" attempts piled up and having about 8 of them getting updates at once brought my secondary hub where it was installed, to its knees. In fairness that hub is already burdened by two HEMs updating at 1 and 5 second intervals respectively. But that's where I would need the app/driver to live, so not sure if there's a good compromise in my case. At some point, I will have to play with it on my third hub that doesn't have anything going on.

Anyway, here's what I was able to easily come up with, before I brought everything to a halt with my learning mistakes. Couldn't get edits to stick, so this isn't exactly how I wanted it, but it looks so nice. Really appreciate your efforts.

1 Like

@SmartHomePrimer thanks for the feedback. My FAQ was very much tongue-in-cheek and I would love any good/bad feedback. I was just feeling snarky when I wrote up the Instructions. I intended to delete it, but everyone has been having so much fun with it....

In any case, I’m a little confused by the loading issues. Once the initial install is done, there should not be a huge load unless you update it. The rest of the time, it triggers on an event, adds the event to the list and then cleans up events that are too old, in testing it took less than a second.

The parent/child app issue: could you describe it more? See below; this is what I see:

Again, thanks for the try. If I can get more info, I’ll look into the issues. Also, any ideas to optimize it would be appreciated.

1 Like

I absolutely get that parent/child view. And as long as I open each child, and only navigate back to the parent using the browser back button, I get that view and can setup multiple. But if I click that Done button on the parent, the link remains viable (as long as OAuth isn't changed of course), but the Parent app isn't shown in the list of installed apps. So to create another child, I have to start from the beginning, as if I was installing the parent/children from the beginning.

Got it. I do not see this issue. I can install/done without issue. Try this:

  1. Install Parent App
  2. Click done.
  3. Verify that Parent App shows up.
  4. Go into Parent App
  5. Install Child App (Go through the process from 1st post)
  6. See if that fixes it.
1 Like

Great work! I have been wanting to do something with graphs in Hubitat without having to install graphana, influx, etc. and this is perfect. Works great so far and can't wait to see what you do with it in the future. Thanks for sharing!

Edit: I noticed that the html virtual device doesn't show up on the "Choose Devices" list on the dashboard app settings screen. I try to avoid using the "Use all your devices" toggle as it slows down my dashboards with my 200+ devices. In order to get it to show up in the list I added "capability "Actuator"" to your html driver and now it shows up and works just fine. Just an FYI for anyone else who may have this issue.

1 Like

This is an awesome idea! I was working on a project I was calling "HubiChart" that I wasn't targeting for Dashboard integration immediately (just a way to view device history; was going to try to figure that out later if people asked) and was using chart.js instead of Google Charts--bascially a way for me to finally get rid of Home Assistant, which I was keeping around more or less only to (ab)use its simple built-in history graphs/charts. My problem is understanding the chart.js API. :laughing: I might just give up and start using yours instead. :slight_smile:

2 Likes

OK. This issue first is resolved for me. I was testing this at 4am, plus I forgot to click Done on the parent, before beginning to build the children. That's pretty basic stuff, but I'm sure it's going to trip up other users too. Maybe there's no way around the need to do that. I think @Cobra puts a note in his apps to click Done on the parent before creating the children, if I recall correctly.

In regard to performance, this just isn't going to work on my secondary hub that has my HEMs on it. They're very chatty devices as it is, but I'm making that worse with updating one of them every second, and the other every 5 seconds. A few other apps and devices seem to be fine, but the addition of this app seems to be too much for it. I set up a new child with updates every minute and it causes the HE Web Interface to become unresponsive. I had to reboot via the diagnostic tool, but that only gets me back to an unresponsive Web Interface if I open the child app to view or edit. Seems to be significantly worse than last night. Maybe it's something to do with how busy my electrical is right now versus 4AM in the morning. :thinking: :joy:

I'll try this on my third hub and see if it's better for me.

The webpage refresh is about as minimized in processing as I can get it running on the Hubitat hub (I would pay double for more processing power on the hub). That being said, one of my boys looked at the code and declared, “ All you have to do is... “. Then he proceeded to explain how I could be much more efficient doing this and that. I have a Masters Degree in Computer Science. He just finished High School. Sigh

We now have a bet going. He says he can get a graph updating every five seconds with minimal CPU by exposing an endpoint. Long story short, if he wins, I’ll post his app as “HubiBetterGraph”. As my FAQ stated: I have teenagers. Stay tuned.

9 Likes

@thomas.c.howard Unfortunately I'm at an impasse. I'm sharing my Aeon HEM via Link to Hub/Hub Link. I've already got devices linked to my main hub from the secondary hub where the HEM is. So becuase of the limitations of Link to Hub, I cannot share devices to more than one hub. So instead I'm linking it to the main hub and then linking that virtual device from the main hub to my third hub :crazy_face:

Yes, I'm that guy. I should have used HubConnect, but at the time it seemed like I wouldn't need that much. Now that I'm embracing the multi-hub setup more, I need to switch that around, but that's going to be a large task for me now that I have so many rules built up around Link to Hub.

Anyway, enough rambling. My issue at the moment is that I cannot select a virtual device in HubiGraph.

[Edit] Posted before I saw your post above. If your son can whoop your arse, then linking to a virtual device is all moot. Although it will be useful to be able to do that. :stuck_out_tongue_winking_eye: