that's neat - I suppose you have an RFM69 connected to the photon? (I suppose the photon is pretty much a feather WICED btw) - I like the idea of the ping to see if node is alive when not communicating at regular intervals.
I opted for putting everything server side (in the cloud!) - so my RFM69s talk to the PI (which is connected to a moteino by serial) - then I have https PHP entry points for saving data from the PI to the cloud server and in that erver I have node+socket.io running for doing RT stuff. The Pi is just a client, so are my iphone, web interface, iphone native app (though my native app just uses the php entry point for getting the data for now).
I reset only the water on a specific interval, the moteino clients are pinged at regular intervals by the PI, the PI runs a scheduler and I can change the timeframes using the web interface (socket.io). the PI then calls the server to save the data in a mysql table, then I can aggregate data there to draw5 min, 1 hour graphs. I only sample the wind data btw for 3 sec when doing a measurement, only the rain is computed on a fixed interval on the moteino and then reset. Not sure if this is optimum but since it never rains in CA I'll have to wait to make sure it works :-) - my garden humidity moteinos are fried so only the weather station is pushing data right now...(just in case you thought I had 10s of moteinos pushing data :-)
I can open up my php entry points if you want to try out the UI, it's not fancy but I can do a couple of changes and send you a https entry point (houseId, apiKey) where you can send your data and you can try out some of the UI. (I may have underestimated how much work I need to do for this but let me know if you want to try it out)
these are the fields I'm using right now in case you want to check it out, if you can fit your data in there it would be relatively easy I suppose...
CREATE TABLE `sensorDataTemp` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`houseId` int(11) DEFAULT '-999',
`sensorId` int(11) DEFAULT '-999',
`temperature` float DEFAULT '-999',
`humidity` float DEFAULT '-999',
`soilHumidity` int(11) DEFAULT '-999',
`light` int(11) DEFAULT '-999',
`pressure` float DEFAULT '-999',
`windSpeed` float DEFAULT '-999',
`windDirection` int(11) DEFAULT '-1',
`windSpeedAvg` float DEFAULT '-999',
`windDirectionAvg` int(11) DEFAULT '-1',
`rainForPeriod` float DEFAULT '-999',
`windGustForPeriod` float DEFAULT '-999',
`batteryLevel` float DEFAULT '0',
`timestamp` int(11) DEFAULT '0',
`timestampServer` int(11) DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
this is probably overkill for a side project but it's been fun!