Basic ?'s about Graphing, Notifications and Storage of Recorded Measurements

First, I want to thank everyone who contributes to this forum. Having this incredible and valuable resource has made my exploration of the Electric Imp possible. I would not have made progress on my project without you all…sincerely.


Second, a summary of what I’m asking. Explanation about why I’m asking is in the background info, below.

  1. Is there an easy (and cheap) way to get a high temperature alarm notification just once, or once per day, or to limit the amount of notifications within a specific time period? Meaning, if a sensor hovers above and below a set value, but you only need to know about it once, what’s an easy way to limit subsequent notifications?

  2. What’s the easiest tool for creating a single graph showing multiple temperature channels from a Feed? Any chance the same tool can graph multiple channels from multiple feeds (meaning multiple Imps) simultaneously?

  3. Am I dumb, or by using Xively do I not have access to all of my measurements in a database, or maybe a spreadsheet? Is there an alternative to Xively which would also give me access to the full set of records in a general format, like a spreadsheet?


Third, some background on my project (for anyone crazy enough to read it all)!

I have some general questions about how to plan and execute my Imp project as it develops in the future, so I’m asking for any ideas which you think may be a good way to go. These may be painfully dumb questions to the advanced users of the forum, and for that I apologize. I have limited experience with code, controllers and digital electronics, but I have learned a lot recently and am moving forward…

I’m making a basic solar hot water controller with Electric Imps. My plan is to deploy individual Imps at multiple locations, each monitoring (and eventually controlling) a variety of solar hot water systems. I have a few built already, using a 9v battery and a thermistor to record temperature, mounted in Serpac clear cases. They pass temperature to Xively. Each device uses a unique Feed ID and API Key.

Xively works great for now, but I’m slightly bummed that I’m not easily able to put multiple temperatures from one Feed on a single graph, probably due to my lack of code skills. In this first stage of development my goal has been to collect at least three temperatures (collector fluid temp, top of water storage tank and bottom of water storage tank). And, I may be missing something, but it looks like in Xively (free) I do not have direct access to a full database of each temperature reading? I’m bummed about that as well, but I think I have a handle on how I can record data to my own host in parallel with the Xively graphing, something I played with earlier, thanks to a nice online tutorial.

The main motivation for this project has been to remotely watch solar hot water systems which have been tending to overheat. Overheating is a bad thing, and when the collector fluid starts boiling away, I need to know ASAP. So, I set up a Xively trigger which activates a zapier web hook (thank you jwehr, you rock!) and in turn sends me a text when the solar hot water collector loop is overheating. Problem is, I can easily envision a situation where the fluid temperature might fluctuate above and below my trigger temperature (set in Xively) a few times (at least) in the course of an overheating failure. This would in essence create redundant notifications. I’m pretty sure there is nothing I can do to tweak the current alarm notification system, so more elegant ideas are welcomed.

Anyway, I have a bunch more thermistor circuits in the works and in a week or two will be able to deploy the first units. Until then I’m reading as much as possible about the various ways I can publish data online and set up useful alarm notifications. However, my limited knowledge of code means I will be favoring simple solutions. This is probably for the best, since I’m hoping that the clients who own these solar hot water systems will want to watch and/or use the data from their Imps, too.

Thanks again for everything. This forum is amazing.

you have your own web hosting? That will help a lot.

I can recommend highcharts.com for charting. I am new to javascript and web in general and found it to be far and away the best for what I was doing. The demos have links to jsfiddle which will let you play around with the options and functions. There will be coding involved but maybe just cut/paste and copy from other examples.

I had also started using Xively when it was COSM but I have pretty much abandoned it. I have to admit I have not tried really hard because the change-over frustrated me. I believe I am better off using my own hosting and not relying too much on external services that are likely to change.

I recall that others have used google charts but I have not tried it.

I think the goal would be to have agent code doing logic for you but then you still need a way for the agent to send instant notifications to you. Sorry - I don’t know how to that part but I feel like it shouldn’t have to go through Xively.

Yes, subscribe to your own webhost account with a cheap host like cleverdot.com

You can have a website with domain name for about $50 per year. That’s cheap.

Once you have your own website, you can use PHP, MySQL and do whatever you want with the data, including making scripts that compile all of the information into one graph, one page, etc. Possiblities are limitless.

There are people on here (like myself) that can help you with the PHP part. Otherwise, Google is your friend. Lots of tutorials.

Hello Mjkuwp94 and Mlseim,

Thank you very much for the replies. I think it makes sense that I should focus on the notifications coming from the Imp/Cloud. I did see that is possible. I’ll keep on it…just haven’t tried it yet. Seems like that will be the best way to add the logic which prevents multiple alerts being sent within a specific time period.

I will also continue to explore the self-hosted PHP option for graphing the data. I do have a few friends who are good at it, and imagine what seems daunting to me will be easy for them. Mlseim, I’ll let you know if I hit a big wall there…

My focus right now is modifying the code I found for reading the thermistor…since I want to add 2-4 more thermistors. Made a first attempt last night, but obviously do not understand coding well enough (didn’t work). I’ll probably take a few more stabs at it, then show the group what I have (for help) if I do not make progress. I’m using the Tempbug code from Tombrew on Instructables (didn’t write it myself).

Thanks again for your thoughts.

sure,

for graphing the data with Highcharts or other library I think javascript would be used in the browser. PHP would only be required if you want to log data to the webserver. At least that is the way I understand it. Perhaps you are more accustomed to using PHP create a web page? That is not something I am familar with.

I think the example code in my project may help you; it has:
jquerymobile
ajax
Highcharts
json

oven project