Problems with libfitbit and new FitBit Ultra

300 views
Skip to first unread message

Tim Ansell

unread,
Jul 25, 2012, 8:40:27 AM7/25/12
to ope...@googlegroups.com
Hi guys,

I recently got a FitBit Ultra to try and promote more healthy habits in my life. I however don't use Windows very often and was hoping to get it working under Linux. My eventual goal is to package it up for OpenWRT so I can plug my base station into my wireless router.

Currently I get the following error when running fitbit_client.py
Start _check_tx_response
received: ['a4', '09', '4e', '00', '0a', '00', '81', '0a', '00', '00', '3c', 'b4', 'ea']
received: ['a4', '03', '40', '00', '01', '05', 'e3']
End _check_tx_response
End _send_acknowledged_data
Start _check_burst_response
received: ['a4', '09', '50', '00', '3b', '81', 'f5', '01', '00', '00', '00', '8b', '38']
received: ['a4', '09', '50', '20', '81', '0a', '00', '81', '0a', '00', '81', '0a', '56']
received: ['a4', '09', '50', '40', '00', '81', '0a', '00', '81', '0a', '00', '81', '3c']
received: ['a4', '09', '50', '60', '0a', '00', '81', '0a', '00', '81', '0a', '00', '97']
received: ['a4', '09', '50', '20', '81', '0a', '00', '81', '0a', '00', '81', '0a', '56']
received: ['a4', '09', '50', '40', '00', '81', '0a', '00', '81', '0a', '00', '81', '3c']
received: ['a4', '09', '50', '60', '0a', '00', '81', '0a', '00', '81', '0a', '00', '97']
received: ['a4', '09', '50', '20', '81', '0a', '00', '81', '0a', '00', '81', '0a', '56']
received: ['a4', '09', '50', '40', '00', '81', '0a', '00', '81', '0a', '00', '81', '3c']
received: ['a4', '09', '50', '60', '0a', '00', '81', '0a', '00', '81', '0a', '00', '97']
received: ['a4', '09', '50', '20', '81', '0a', '00', '81', '0a', '00', '81', '0a', '56']
received: ['a4', '09', '50', '40', '00', '81', '0a', '00', '81', '0a', '00', '81', '3c']
received: ['a4', '09', '50', '60', '0a', '00', '81', '0a', '00', '81', '0a', '00', '97']
received: ['a4', '09', '50', '20', '81', '0a', '00', '81', '0a', '00', '81', '0a', '56']
received: ['a4', '09', '50', '40', '00', '81', '0a', '00', '81', '0a', '00', '81', '3c']
received: ['a4', '09', '50', '60', '0a', '00', '81', '0a', '00', '81', '0a', '00', '97']
received: ['a4', '09', '50', '20', '81', '0a', '00', '81', '0a', '00', '81', '0a', '56']
received: ['a4', '09', '50', '40', '00', '81', '0a', '00', '81', '0a', '00', '81', '3c']
received: ['a4', '09', '50', '60', '0a', '00', '81', '0a', '00', '81', '0a', '00', '97']
received: ['a4', '09', '50', '20', '81', '0a', '00', '81', '0a', '00', '81', '0a', '56']
received: ['a4', '09', '50', '40', '00', '81', '0a', '00', '81', '0a', '00', '81', '3c']
received: ['a4', '09', '50', '60', '0a', '00', '81', '0a', '00', '81', '0a', '00', '97']
received: ['a4', '09', '50', '20', '81', '0a', '00', '81', '0a', '00', '81', '0a', '56']
received: ['a4', '09', '50', '40', '00', '81', '0a', '00', '81', '0a', '00', '81', '3c']
received: ['a4', '09', '50', '60', '0a', '00', '81', '0a', '00', '81', '0a', '00', '97']
received: ['a4', '09', '50', '20', '81', '0a', '00', '81', '0a', '00', '81', '0a', '56']
received: ['a4', '09', '50', '40', '00', '81', '0a', '00', '81', '0a', '00', '81', '3c']
received: ['a4', '09', '50', '60', '0a', '00', '81', '0a', '00', '81', '0a', '00', '97']
received: ['a4', '09', '50', '20', '81', '0a', '00', '81', '0a', '00', '81', '0a', '56']
received: ['a4', '09', '50', '40', '00', '81', '0a', '00', '81', '0a', '00', '81', '3c']
received: ['a4', '09', '50', '60', '0a', '00', '81', '0a', '00', '81', '0a', '00', '97']
received: ['a4', '09', '50', '20', '81', '0a', '00', '81', '0a', '00', '81', '0a', '56']
received: ['a4', '09', '50', '40', '00', '81', '0a', '00', '81', '0a', '00', '81', '3c']
received: ['a4', '09', '50', '60', '0a', '00', '81', '0a', '00', '81', '0a', '00', '97']
received: ['a4', '09', '50', '20', '81', '0a', '00', '81', '0a', '00', '81', '0a', '56']
received: ['a4', '09', '50', '40', '00', '81', '0a', '00', '81', '0a', '00', '81', '3c']
received: ['a4', '09', '50', '60', '0a', '00', '81', '0a', '00', '81', '0a', '00', '97']
received: ['a4', '09', '50', '20', '81', '0a', '00', '81', '0a', '00', '81', '0a', '56']
received: ['a4', '09', '50', '40', '00', '81', '0a', '00', '81', '0a', '00', '81', '3c']
received: ['a4', '09', '50', '60', '0a', '00', '81', '0a', '00', '81', '0a', '00', '97']
received: ['a4', '09', '50', '20', '81', '0a', '00', '81', '0a', '00', '81', '0a', '56']
received: ['a4', '09', '50', '40', '00', '81', '0a', '00', '81', '0a', '00', '81', '3c']
received: ['a4', '09', '50', '60', '0a', '00', '81', '0a', '00', '81', '0a', '00', '97']
received: ['a4', '09', '50', '20', '81', '0a', '00', '81', '0a', '00', '81', '0a', '56']
received: ['a4', '09', '50', '40', '00', '81', '0a', '00', '81', '0a', '00', '81', '3c']
received: ['a4', '09', '50', '60', '0a', '00', '81', '0a', '00', '81', '0a', '00', '97']
received: ['a4', '09', '50', '20', '81', '0a', '00', '81', '0a', '00', '81', '0a', '56']
received: ['a4', '09', '50', '40', '00', '81', '0a', '00', '81', '0a', '00', '81', '3c']
received: ['a4', '09', '50', '60', '0a', '00', '81', '0a', '00', '81', '0a', '00', '97']
received: ['a4', '09', '50', '20', '81', '0a', '00', '81', '0a', '00', '81', '0a', '56']
received: ['a4', '09', '50', '40', '00', '81', '0a', '00', '81', '0a', '00', '81', '3c']
received: ['a4', '09', '50', '60', '0a', '00', '81', '0a', '00', '81', '0a', '00', '97']
received: ['a4', '09', '50', '20', '81', '0a', '00', '81', '0a', '00', '81', '0a', '56']
received: ['a4', '09', '50', '40', '00', '81', '0a', '00', '81', '0a', '00', '81', '3c']
received: ['a4', '09', '50', '60', '0a', '00', '81', '0a', '00', '81', '0a', '00', '97']
received: ['a4', '09', '50', '20', '81', '0a', '00', '81', '0a', '00', '81', '0a', '56']
received: ['a4', '09', '50', '40', '00', '81', '0a', '00', '81', '0a', '00', '81', '3c']
received: ['a4', '09', '50', '60', '0a', '00', '81', '0a', '00', '81', '0a', '00', '97']
received: ['a4', '09', '50', '20', '81', '0a', '00', '81', '0a', '00', '81', '0a', '56']
received: ['a4', '09', '50', '40', '00', '81', '0a', '00', '81', '0a', '00', '81', '3c']
received: ['a4', '09', '50', '60', '0a', '00', '81', '0a', '00', '81', '0a', '00', '97']
received: ['a4', '09', '50', '20', '81', '0a', '00', '81', '0a', '00', '81', '0a', '56']
received: ['a4', '09', '50', '40', '00', '81', '0a', '00', '81', '0a', '00', '81', '3c']
received: ['a4', '09', '50', 'e0', '0a', '00', '81', '0a', '00', '00', '3c', 'b4', '14']
End _check_burst_response
Failed with Cannot complete data bank
------------------------------------------------------------
Traceback (most recent call last):
  File "fitbit_client.py", line 170, in <module>
    main()
  File "fitbit_client.py", line 159, in main
    f.run_upload_request()
  File "fitbit_client.py", line 141, in run_upload_request
    self.info_dict["opResponse[%d]" % op_index] = base64.b64encode(''.join([chr(x) for x in self.fitbit.run_opcode(o["opcode"], o["payload"])]))
  File "/home/tansell/foss/temp2/libfitbit/python/fitbit.py", line 216, in run_opcode
    return self.get_data_bank()
  File "/home/tansell/foss/temp2/libfitbit/python/fitbit.py", line 279, in get_data_bank
    raise ANTReceiveException("Cannot complete data bank")
ANTReceiveException: Cannot complete data bank
------------------------------------------------------------

I've tried with three different repositories I found on github, they are;

commit a5b135118302ce9ab4b18e4e6f5c58b12029bf19
Author: Benoit Allard <ben...@aeteurope.nl>
Date:   Tue Jul 17 20:12:55 2012 +0200
    ifitbit: we need the tracker info to parse correctly the banks

commit 12fe7ba02a1e1f8938abde63b074d8e71c021cd6
Author: Richard Cunningham <git...@richardcunningham.co.uk>
Date:   Wed May 16 21:38:01 2012 +0100
    Comment to explain what the watcher.sh script does

commit e9dffc0dedca499ef86955d4d61e7f9c9cab1aca
Merge: d43c9b3 8660bff
Author: Kyle Machulis <ky...@nonpolynomial.com>
Date:   Mon Jun 25 12:23:26 2012 -0700

    Merge pull request #32 from benallard/logging
    
    Cleanup logging by introducing a decorator

I'm running on Ubuntu Lucid at the moment.

I'm not sure how to debug more, any ideas?

Tim

Kyle Machulis

unread,
Jul 25, 2012, 2:21:26 PM7/25/12
to ope...@googlegroups.com
Hmm, do you have a decent way to compile binaries for OpenWRT? I think
fitbitd might be a much better choice since it's pure C, though you'll
need to compile hidapi and fitbitd for it too. fitbitd is also
apparently WAY more stable than libfitbit at the moment.

http://www.paulburton.eu/git/?p=fitbitd.git;a=summary

Tim Ansell

unread,
Jul 30, 2012, 4:23:09 AM7/30/12
to ope...@googlegroups.com
Well, that was short lived. I was really getting into my FitBit and then promptly lost it. Will look at purchasing a new one...

Tim

Taylor Ratliff

unread,
Jul 30, 2012, 10:46:14 AM7/30/12
to ope...@googlegroups.com
My GF and I have both been given free replacements for lost fitbits - just email sup...@fitbit.com

Sent from my iPhone
Reply all
Reply to author
Forward
0 new messages