Principles / Use Cases
(that is, what do we want this system to do?)
- Data storage and display would not be tied to any particular hardware in the home.
- provide a web page for showing energy collected and dispensed?
- alerts on system failure?
- alert when the water tank is nearing "full" of hot water?
- report monthly, annual etc. energy collected
- for PV
- for thermal hydronic
- for thermal air
- add more use cases here
Base Hardware
More about 1-Wire & RPi
Software
- OWFS drivers for reading the sensors: http://owfs.org/
- Custom built DataRe software for collecting, transmitting, storing & displaying the data
Also Considered
Sensors
Content moved to 1-Wire Sensors page
Huge sensors catalog here: http://www.gemssensors.com/
DHW

Schematic
Software Systems
Principles
Do not expose the in-home device to the Internet: (1) will make the device, and entire house, vulnerable to hacking which will (2) make SHINES liable for damage to customer network, data etc (3) would require SHINES to constantly update and patch all the in-home systems to keep them hardened.
Instead, have a central system run by ShinesRe which clients log into (same model as the microinverter system we installed at Dave Brake's.)
In Home Device
- Preferably some variant of Linux
- Data collection in Python or Perl
- Once every period - five minutes perhaps - the in-home system would collect a (XML probably) data record and write it to a queue.
- Periodically (also possibly once every five minutes) the data would be posted via HTTPS to the SHINES mothership.
- The units of the data posted will not be raw voltages and state, that is, not "Port 12 is at 16.8 volts". Instead it will be real world units tagged with semantic names, e.g. "top of tank temperature = 55°C"
- A configuration file on the in-home device will list the kind and semantic name of each sensor connected to each port; the aquisition software will convert the raw data into real-world units.
- Data will be stored in XML in small timestamped files on (SD card) disk.
Data Transmission
- Periodically (also perhaps every 5 minutes) any collected data will be posted via HTTPS to the SHINES mothership.
- If the connection to the internet has been interrupted, all the items in the to-be-sent queue will be sent.
- The post will include a username, password and data collection device name for that customer.
- "Received and stored" will be passed back to the in-home device so it can clear that item from the queue.
- At the same time some other instructions could be passed to the in-home device.
Data Storage
- Data will be received from HTTPS posting and stored in a MySQL database.
- Columns will be client name, device name, data collection timestamp, semantic name, value & units.
Data Display
Possibly start with:
Plan
- Get a RPi and some sensors and start playing
- Simultaneously, do some market research. How much would our customers pay for this (a) up front and (b) per month?
- Model A: we install a thing and give you the URL to look at the data for e.g. $10/month. Model B: we sell you the thing (for, say, cost + 50% + labour) and set it up and then it's yours; we'll support it for e.g. $50/hour after that.
Wish List