Growatt API
This is a wrapper for the Growatt rest API. Main objective is to turn inverter on/off. This has been testen with MOD-9000TL-X.
Installation
Add this line to your application’s Gemfile:
ruby
gem 'growatt'
And then execute:
$ bundle install
Or install it yourself as:
$ gem install growatt
Usage
Before you start making the requests to API provide the username and password using with Shinephone app.
```ruby require ‘growatt’ require ‘logger’ TEST_LOGGER = ‘./test.log’ # use do block Growatt.configure do |config| config.username = ENV[‘GROWATT_USERNAME’] config.password = ENV[‘GROWATT_PASSWORD’] config.logger = Logger.new(TEST_LOGGER) end
or configure with options hash
client = Growatt.client client.login
```
Resources
### Authentication and configuration
ruby
# setup
#
begin
client = Growatt.client
client.login
# turn invertor off
client.turn_inverter('<serial_no>', false)
rescue Growatt::AuthenticationError => e
puts "Error login to growatt api"
puts e
end
### Read data
```ruby # create client (don’t forget to configure authentication) # get data for first inverter for first defined plant plants = client.plant_list plant_id = plants.data.first.plantId devices = client.inverter_list(plant_id) inverter = devices.first
yymm = Time.now.strftime(“%Y%m”) puts “- loading period #yymm” data = client.inverter_data(inverter.deviceSn,Growatt::Timespan::MONTH,current_month)
```
Control
```ruby # continu from read data example above inverter = devices.first
turn inverter on/of
client.turn_inverter(inverter.deviceSn, false)
or limit energy export
client.export_limit(inverter.deviceSn,Growatt::ExportLimit::PERCENTAGE, 100) # allow energy export to grid client.export_limit(inverter.deviceSn,Growatt::ExportLimit::DISABLE) ```
Publishing
- Update version in version.rb.
- Add release to CHANGELOG.md
- Commit.
- Test build. ``` > rake build
5. Release
> rake release
```
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/jancotanis/growatt.
License
The gem is available as open source under the terms of the MIT License. “# growatt”