I have been looking for a way to do some basic analytics on my hubitat data, mainly temperature etc. I wonder if Sharptools.io could do this? Not sure how things work in the background. Is Information requested from my Hubitat when I load my dashboard or is it on an interval?
What kind of temperature analytics were you hoping to do?
Behind the scenes, SharpTools sets up event subscriptions in Hubitat. So whenever events happen they are pushed to SharpTools and down to your browser (no polling involved).
Maybe Analytics is too strong a word. I was looking more towards graphing of data.
My HA is in my summerhouse. I have temp probes in all rooms and my additional shed etc. I would like to record these values in some kind of historical database and do correlation between outside temp and inside. Going a bit further than this it would be good to be able to graph on/off events of my heaters as well. Perhaps even on/off of events of other devices and deliver total on time etc.
I come from Vera and there I had a local service called DataMine which easily fulfilled my needs. I had also previously used Thingspeak in the cloud, but there are nicer looking services than that.
I know that some have set up Grafana on Hubitat, but it seems to possibly make the system unstable, so therefore I am looking at alternative options and I started thinking that perhaps Sharptools may be able to do this as it is connected anyway, and since states seem to be pushed to you, then I assume you already have the ability to graph it or forward to a solution like Thingspeak or better?
Ah, thanks for the clarification!
We aren’t tracking historical data at this point, but I have been thinking about what it would take to achieve some sort of historical trending of data.
There’s some short-term things we could do where we could ‘start’ a trend as soon as you open the page and each event that comes through would add a new plot on a trend (basically just recorded in your browser, but not stored), but I felt like that’s really just not good enough even as an initial release.
How far into history are you looking to go?
Anything really is better than nothing, but as soon as I have something I assume I will want more… so let’s say that full storage of all data would be required…this way one could run yearly analysis on the data.
I would love to see a trending feature.
Even if it’s like:
X Amount of days == free
Any more requires premium.
Or the entire feature requires premium.
As long as all of the awesome features are lumped into one low monthly fee I’ll pay.
So, here I am again. Since I started this topic a lot has happened in camp Hubitat and there is now a good looking graphing application available calledHubigraph.
It only graphs data in the logs on Hubitat, but it is a start. However, I am not aware of any way to get this over to Sharptools for display.
Due to this I have been toying with moving my dashboard over to Hubitat (which would mean away from Sharptools), but the darn interface is so rigid that I just don´t have the energy to do that and I still like the simplicity and power of Sharptools.
Is there any way to display Hubigraphs on the Sharptools dashboards, or are you working away on a similar logging solution internally that I could use instead ?
Thanks for sharing! From a quick glance, it looks like they’re using Google Charts (cloud charting library) to chart the history data from Hubitat and then embedding that in an iframe to display in the Hubitat dashboard.
In the meantime, I’ve seen other people take a similar approach by logging the data to Google Sheets and generating charts can be displayed in the SharpTools Media Tile. (This approach works in both Hubitat and SmartThings)
If you’d like more details on the Google Sheets approach, I’d be happy to write something up. The overall concept is:
- Install the Google Sheets Logging app in Hubitat and setup logging to a Google Sheet.
- In Google Sheets, create a Chart from the logged data
- Publish the Chart as an Image
- Copy the Link (to the published Image) and use the URL in a Media Tile with an appropriate refresh rate
That is interesting. I might take a look into that. I do wonder what will happen once you have amassed a lot of data ? On the other hand I guess you can do pivot tables and the like on the data.
Hubigraph has grown quite a lot over a very short period and it is nearly perfect, with the exception of not storing the data separately, so you are stuck with what is available in the logs at any given time. I know that it might be possible to go with Grafana or similar but I just want to keep things “simple”
I went the google charts route as suggested, and in theory it works, but the problem is that sometimes there is no change of temperature and then the line in the sheet is filled with empties so that ruins the graph. In addition the image is of course static so no nice hovering over anything etc.
For other graphing this might work well though
Thanks for sharing!
Perhaps you could use a formula to standardize the values across a time interval. Maybe some form of time series interpolation.
Yes, I am sure that would be possible, but still I am left with “only” an image, and I wouldn´t even know where to begin with formula’s and such and that is the beauty of Hubigraph or cloud IoT platforms where this is all taken care of already. I am not a fan of re-inventing the wheel.
I think I will just start down the path of using the Hubitat dashboards for graphing with Hubigraph and continue with Sharptools for other dashboarding, even though ideally I would like one tool that does all and is available without VPN, but I guess I can´t have it all…
You know; you could just ask the HubiGraph creator to add long-term logging, I know the creator and he is always looking for ideas…
I have come full circle–building a number of Sharptools dashboards, only to try Home Assistant, then back to Hubitat native dashboards. One of the best things about HA is the Hubigraph app and its ability to create graphs like these
If I remember correctly, these tiles are injecting custom HTML into device attributes in order to display these in the HE dashboards. It’s a security risk to allow arbitrary HTML to be injected, so we don’t allow it.
That being said, I would be open to a feature request for native gauges within SharpTools if you want to create it!
I would love to have graphs in SharpTools. I have also been down the road of creating dashboards in HE, but the interface is just so clunky, and you must mess a lot with CSS to get something half-decent and Hubigraph will not work when connecting to the HE dashboard from outside, so you would need to VPN in to view the local dahsboards.
I wonder if we could just grab some images from Hubigraphs to display in SharpTools ? Now that HE has support to save files internally, you could imagine that a request from SharpTools to Hubigraph would save images internally and SharpTools would grab them from there?
Mark put together a feature request for the gauges here if you want to cast a vote:
Since it doesn’t have a dependency on historical data like graphing would, there’s less technical barriers to an implementation. In other words, it’s more likely to get done if it gets enough community interest.
That being said, I’ve helped some people on projects that render SVGs from Hubitat and they’ve used those to display custom graphics in their dashboards. In theory, a similar approach could be taken for charts like you alluded to.
One other thing we’ve been bouncing around internally is the concept of sandboxed custom components. These would allow you to run custom HTML + JS in a sandboxed environment, opening up a ton of flexibility.