Mixergy Ruby Client

This gem provides a Ruby interface to the Mixergy Hot Water Tank REST API, making it easy to interact with tanks in a Rubyish way. There is also a CLI tool included to help with fetching an authentication token and interacting with the API.

Installation

Add this line to your application's Gemfile:

gem 'mixergy', git: 'https://github.com/njh/ruby-mixergy.git'

Or install it directly:

git clone https://github.com/njh/ruby-mixergy.git
cd ruby-mixergy
bundle install

Command Line Interface

Included in the gem is a command line tool, to perform actions with the Mixergy API:

$ mixergy help 
Commands:
  mixergy boost           # Charge tank to 100%
  mixergy charge PERCENT  # Charge tank to target percentage
  mixergy help [COMMAND]  # Describe available commands or one specific command
  mixergy login           # Login to Mixergy API and store token
  mixergy status          # Display the current status of a tank
  mixergy tanks           # List all your tanks
  mixergy version         # Prints the Mixergy gem version

The mixergy status command displays some stats and a visualisation of the tank:

A screenshot of a Mac OS terminal running `mixergy status`

To disable colour, set the NO_COLOR environment variable.

Config file format

To avoid logging-in before each API request, there is support for saving the authentication token to a configuration file, stored as YAML in ~/.mixergy.

This file can be generated using the mixergy login CLI command. The default tank ID is also stored, to avoid having to lookup a list of tanks each time too.

Example ~/.mixergy file:

---
token: user/ooShoh7naaR1lai0Ahtie5miechaig7ei/12ab/Tie6sha0vah7onohchifeich2aipheifaiqu9beiphoim4queitheinoMoo2a
default_tank_id: fcee127d-dad9-4ab4-a734-64586d0c0d68

Development

After checking out the repo, run bin/setup to install dependencies. 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 the created tag, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/njh/ruby-mixergy.

License

The gem is available as open source under the terms of the MIT License.