openaps / decocare

python serial driver for mm comlink2 protocol
Other
27 stars 29 forks source link

decocare issue when retrieving CGM data from MDT CGM #30

Open Bender1061 opened 7 years ago

Bender1061 commented 7 years ago

Issue that I see happen all the time, this error happens almost every loop hence we have to have pump-loop try again when it fails. but even when we try again, it fails a lot. This is one of the reason it takes so long to update the Nightscout site, with most data being 10 or more mins old. Now I'm not sure if this is all MDT cgms or just my 723 with 2.4A 1.1

I'm not familiar enough with python to figure out where to go from the decocare lib.py line 235

But here is the error that happens.

Starting supermicrobolus pump-loop at Sun Oct 15 12:41:01 EDT 2017 with 15 second wait_for_silence:
MDT CGM configured; not waiting
Radio ok. Listening: .No pump comms detected from other rigs
Preflight OK. 
Attempting to retrieve MDT CGM data from pump
monitor/cgm-mm-glucosedirty.json  raised  need more than 0 values to unpack
Traceback (most recent call last):
  File "/usr/local/bin/openaps-report", line 82, in <module>
    app( )
  File "/usr/local/lib/python2.7/dist-packages/openaps/cli/__init__.py", line 51, in __call__
    self.run(self.args)
  File "/usr/local/bin/openaps-report", line 75, in run
    output = app(args, self)
  File "/usr/local/lib/python2.7/dist-packages/openaps/cli/subcommand.py", line 52, in __call__
    return self.method.main(args, app)
  File "/usr/local/lib/python2.7/dist-packages/openaps/reports/invoke.py", line 40, in main
    output = task.method(args, app)
  File "/usr/local/lib/python2.7/dist-packages/openaps/uses/use.py", line 45, in __call__
    output = self.main(args, app)
  File "/usr/local/lib/python2.7/dist-packages/openaps/vendors/medtronic.py", line 640, in main
    for rec in self.range( ):
  File "/usr/local/lib/python2.7/dist-packages/decocare/models/__init__.py", line 67, in __call__
    for record in page:
  File "/usr/local/lib/python2.7/dist-packages/decocare/models/__init__.py", line 46, in download_page
    for record in self.find_records(page):
  File "/usr/local/lib/python2.7/dist-packages/decocare/models/__init__.py", line 145, in find_records
    page = cgm.PagedData.Data(response.data, larger=self.inst.larger)
  File "/usr/local/lib/python2.7/dist-packages/decocare/cgm/__init__.py", line 84, in Data
    return klass(stream, **kwds)
  File "/usr/local/lib/python2.7/dist-packages/decocare/cgm/__init__.py", line 90, in __init__
    if lib.BangInt(crc) != computed:
  File "/usr/local/lib/python2.7/dist-packages/decocare/lib.py", line 235, in BangInt
    ( x, y ) = ints
ValueError: need more than 0 values to unpack

CGM data retrieval from pump disrupted, retrying in 5 seconds...
Reattempting to retrieve MDT CGM data
monitor/cgm-mm-glucosedirty.json  raised  need more than 0 values to unpack
Traceback (most recent call last):
  File "/usr/local/bin/openaps-report", line 82, in <module>
    app( )
  File "/usr/local/lib/python2.7/dist-packages/openaps/cli/__init__.py", line 51, in __call__
    self.run(self.args)
  File "/usr/local/bin/openaps-report", line 75, in run
    output = app(args, self)
  File "/usr/local/lib/python2.7/dist-packages/openaps/cli/subcommand.py", line 52, in __call__
    return self.method.main(args, app)
  File "/usr/local/lib/python2.7/dist-packages/openaps/reports/invoke.py", line 40, in main
    output = task.method(args, app)
  File "/usr/local/lib/python2.7/dist-packages/openaps/uses/use.py", line 45, in __call__
    output = self.main(args, app)
  File "/usr/local/lib/python2.7/dist-packages/openaps/vendors/medtronic.py", line 640, in main
    for rec in self.range( ):
  File "/usr/local/lib/python2.7/dist-packages/decocare/models/__init__.py", line 67, in __call__
    for record in page:
  File "/usr/local/lib/python2.7/dist-packages/decocare/models/__init__.py", line 46, in download_page
    for record in self.find_records(page):
  File "/usr/local/lib/python2.7/dist-packages/decocare/models/__init__.py", line 145, in find_records
    page = cgm.PagedData.Data(response.data, larger=self.inst.larger)
  File "/usr/local/lib/python2.7/dist-packages/decocare/cgm/__init__.py", line 84, in Data
    return klass(stream, **kwds)
  File "/usr/local/lib/python2.7/dist-packages/decocare/cgm/__init__.py", line 90, in __init__
    if lib.BangInt(crc) != computed:
  File "/usr/local/lib/python2.7/dist-packages/decocare/lib.py", line 235, in BangInt
    ( x, y ) = ints
ValueError: need more than 0 values to unpack

CGM data retrieval from pump disrupted, retrying in 5 seconds...
Reattempting to retrieve MDT CGM data
monitor/cgm-mm-glucosedirty.json  raised  
Traceback (most recent call last):
  File "/usr/local/bin/openaps-report", line 82, in <module>
    app( )
  File "/usr/local/lib/python2.7/dist-packages/openaps/cli/__init__.py", line 51, in __call__
    self.run(self.args)
  File "/usr/local/bin/openaps-report", line 75, in run
    output = app(args, self)
  File "/usr/local/lib/python2.7/dist-packages/openaps/cli/subcommand.py", line 52, in __call__
    return self.method.main(args, app)
  File "/usr/local/lib/python2.7/dist-packages/openaps/reports/invoke.py", line 40, in main
    output = task.method(args, app)
  File "/usr/local/lib/python2.7/dist-packages/openaps/uses/use.py", line 44, in __call__
    self.before_main(args, app)
  File "/usr/local/lib/python2.7/dist-packages/openaps/vendors/medtronic.py", line 64, in before_main
    self.check_session(app)
  File "/usr/local/lib/python2.7/dist-packages/openaps/vendors/medtronic.py", line 141, in check_session
    self.session = self.get_session_info( )
  File "/usr/local/lib/python2.7/dist-packages/openaps/vendors/medtronic.py", line 104, in get_session_info
    fields = self.create_session( )
  File "/usr/local/lib/python2.7/dist-packages/openaps/vendors/medtronic.py", line 129, in create_session
    self.pump.power_control(minutes=minutes)
  File "/usr/local/lib/python2.7/dist-packages/mmeowlink/handlers/stick.py", line 217, in power_control
    status = repeater(self.command, repetitions=500, ack_wait_seconds=12)
  File "/usr/local/lib/python2.7/dist-packages/mmeowlink/handlers/stick.py", line 176, in __call__
    self.wait_for_ack(timeout=ack_wait_seconds)
  File "/usr/local/lib/python2.7/dist-packages/mmeowlink/handlers/stick.py", line 84, in wait_for_ack
    resp = Packet.fromBuffer(buf)
  File "/usr/local/lib/python2.7/dist-packages/mmeowlink/packets/rf.py", line 97, in fromBuffer
    raise InvalidPacketReceived
mmeowlink.exceptions.InvalidPacketReceived

CGM data retrieval from pump disrupted, retrying in 5 seconds...
Reattempting to retrieve MDT CGM data
MDT CGM data retrieved
No new MDT CGM data to reformat