Tibber API
This is a wrapper for the Tibber rest API.
Installation
Add this line to your application's Gemfile:
gem 'tibber'
And then execute:
$ bundle install
Or install it yourself as:
$ gem install tibber
Usage
Before you start making the requests to API provide the endpoint and api key using the configuration wrapping.
require 'tibber'
require 'logger'
# use do block
Tibber.configure do |config|
config.access_token = ENV['TIBBER_ACCESS_TOKEN']
config.logger = Logger.new(TEST_LOGGER)
end
# or configure with options hash
client = Tibber.client
client.login
Resources
Authentication
# setup
#
begin
client = Tibber.client
client.login
rescue Tibber::AuthenticationError => e
puts "Error logging in tibber api"
puts e
end
Graph QL Data resources
Endpoint for data related requests
# show todays prices
prices = client.price_info
prices.homes.each do |home|
puts "Today's prices:"
home.currentSubscription.priceInfo.today.each do |hour|
puts "#{hour.startsAt} #{hour.total} #{hour.currency} (#{hour.energy} + #{hour.tax})"
end
end
Resource | API endpoint |
---|---|
.information | returns name userId login accountType websocketSubscriptionUrl homes including homes meteringPointData, subscriptions and features
|
.price_info | price information for all homes[id,currentSubscription{priceInfo{current,today[],tomorrow[]}}]
|
.consumption(home_id, resolution, count) | Array of home.consumption.nodes[] : from to cost unitPrice unitPriceVAT consumption consumptionUnit
|
.send_push_notification(title, message, screen_to_open) | send notificartion ot devices and returns successful & pushedToNumberOfDevices
|
Publishing
- Update version in version.rb.
- Add release to CHANGELOG.md
- Commit.
- Test build.
> rake build
- Release
> rake release
## Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/jancotanis/tibber.
## License
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).