Smart Energy Group
Ruby library for talking to the Smart Energy Group API.
Documentation for the API can be found at https://smartenergygroups.com/api
Installation
Add this line to your application's Gemfile:
gem 'smart_energy_group'
And then execute:
$ bundle
Or install it yourself as:
$ gem install smart_energy_group
Usage
In order to use smart_energy_group in your application you need to use
require 'smart_energy_group/client'
First step is to create a Smart Energy Group client using your Smart Energy Group assigned site_token
seg = SmartEnergyGroup::Client.new(site_token)
You can then push data points
seg.send_data(
'home',
:temperature => [20.5, 60.0],
:power => [1023.6, 500.9]
)
If you don't have consecutive channels that you want to send you can pass an array like so
seg.send_data(
'home',
:power => { 1 => 1023.6, 5 => 500.9 }
)
The send_data operation accepts the following options
Option | Description |
---|---|
power | Power stream with the unit of watts |
energy | Energy stream with the unit prefixed to kilowatt hours |
amps | Current stream with the unit of amps |
channel | Power stream identified with the Phase based on the channel number, with the same settings as a normal power stream |
temperature | Temperature stream with default units of Celcius |
voltage | Voltage stream with the units being volts |
state | Switch state stream to determine if a switch is on or off |
seconds | Seconds stream representitive of an elapsed time in seconds |
heartbeat | Boot Event stream to determine if your device has booted and also records a heartbeat to check things are still ticking |
pule | Count of pulses output from a device |
Note:: The above will raise an error until you put the site into Discovery mode on the SEG website.
Development
After checking out the repo, run bin/setup
to install dependencies. Then, run rake rspec
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/johnf/pvoutput. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
License
The gem is available as open source under the terms of the MIT License.