wiscale

Ruby Wrapper for Withings Wifi Scale API

INSTALL:

sudo gem install wiscale

SYNOPSIS:

Setup:

require 'wiscale' 
client = WiScale.new(:userid => 123, :publickey => 'asdlkfja')

Get all measurements without any filters:

measurements = client.get_meas

Get only the last measurement:

measurements = client.get_meas(:limit => 1)

Get the last measurement as weight in lbs and %fat:

measurements[0].each do |rec|
  type = rec['type'].to_i
  value = (rec['value'].to_i * (10 ** rec['unit'])).to_f

  if type == 6
    puts "Fat %: " + value.round(2)
  elsif type == 1
    puts "Weight " + (value * 2.20462262).round(2) + " lb"
  end
end

Subscribe a URL to push notification:

client.notify_subscribe('http://www.mytestingurl.com', 'this is a test')

Get the notification you just created:

client.notify_get('http://www.mytestingurl.com')

Revoke the notification:

client.notify_revoke('http://www.mytestingurl.com')

Get all user information:

client.get_by_userid

Get a list of users for a logon:

WiScale.get_users_list('[email protected]', 'mywithingspassword')

Note on Patches/Pull Requests

  • Fork the project.

  • Make your feature addition or bug fix.

  • Add tests for it. This is important so I don’t break it in a future version unintentionally.

  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)

  • Send me a pull request. Bonus points for topic branches.

Copyright © 2010 Jon Gaudette. See LICENSE for details.