bewest / decoding-carelink

python serial driver for mm comlink2 protocol
http://bewest.github.io/decoding-carelink
Other
71 stars 52 forks source link

iter_pump issues with 0.0.19 #156

Open tghoward opened 8 years ago

tghoward commented 8 years ago

upgraded yesterday to 0.0.19 from 0.0.18 and all was fine immediately, but now it is complaining. So I'm assuming that means there's a record that isn't getting parsed correctly or something. iter_pump_hours gives the same error. read_history does give data. Pump is a MM 723 with integrated cgm.

openaps use pump723 iter_pump 2 ERROR month must be in 1..12 0000 0x0c 0x00 .. Traceback (most recent call last): File "/usr/local/bin/openaps-use", line 4, in <module> __import__('pkg_resources').run_script('openaps==0.0.8', 'openaps-use') File "/usr/local/lib/python2.7/dist-packages/setuptools-18.4-py2.7.egg/pkg_resources/__init__.py", line 735, in run_script File "/usr/local/lib/python2.7/dist-packages/setuptools-18.4-py2.7.egg/pkg_resources/__init__.py", line 1652, in run_script File "/usr/local/lib/python2.7/dist-packages/openaps-0.0.8-py2.7.egg/EGG-INFO/scripts/openaps-use", line 63, in <module> app( ) File "/usr/local/lib/python2.7/dist-packages/openaps-0.0.8-py2.7.egg/openaps/cli/__init__.py", line 44, in __call__ self.run(self.args) File "/usr/local/lib/python2.7/dist-packages/openaps-0.0.8-py2.7.egg/EGG-INFO/scripts/openaps-use", line 57, in run output = app(args, self) File "/usr/local/lib/python2.7/dist-packages/openaps-0.0.8-py2.7.egg/openaps/uses/__init__.py", line 92, in __call__ return self.method.selected(args)(args, app) File "/usr/local/lib/python2.7/dist-packages/openaps-0.0.8-py2.7.egg/openaps/uses/__init__.py", line 31, in __call__ return self.method(args, app) File "/usr/local/lib/python2.7/dist-packages/openaps-0.0.8-py2.7.egg/openaps/uses/use.py", line 45, in __call__ output = self.main(args, app) File "/usr/local/lib/python2.7/dist-packages/openaps-0.0.8-py2.7.egg/openaps/vendors/medtronic.py", line 373, in main for rec in self.range( ): File "/usr/local/lib/python2.7/dist-packages/decocare-0.0.19-py2.7.egg/decocare/models/__init__.py", line 67, in __call__ for record in page: File "/usr/local/lib/python2.7/dist-packages/decocare-0.0.19-py2.7.egg/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-0.0.19-py2.7.egg/decocare/models/__init__.py", line 139, in find_records records = decoder.decode( ) File "/usr/local/lib/python2.7/dist-packages/decocare-0.0.19-py2.7.egg/decocare/history.py", line 805, in decode record = parse_record(self.stream, B, larger=larger, model=self.model) File "/usr/local/lib/python2.7/dist-packages/decocare-0.0.19-py2.7.egg/decocare/history.py", line 737, in parse_record record.parse( head + date + body ) File "/usr/local/lib/python2.7/dist-packages/decocare-0.0.19-py2.7.egg/decocare/records/base.py", line 66, in parse return self.decode( ) File "/usr/local/lib/python2.7/dist-packages/decocare-0.0.19-py2.7.egg/decocare/history.py", line 697, in decode return (dict(valid_date=date(*mid).isoformat())) ValueError: month must be in 1..12

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/29381109-iter_pump-issues-with-0-0-19?utm_campaign=plugin&utm_content=tracker%2F522759&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F522759&utm_medium=issues&utm_source=github).
tghoward commented 8 years ago

In an attempt to make it more readable, here's a screenshot of the same error messages.

screenshot from 2015-12-24 07 27 52

Unfortunately, I'm about to leave on vacation for 1.5 weeks so I might be in radio silence for a while. Just wanted to get this report in.

tghoward commented 8 years ago

Reverting back to 0.0.18 with sudo easy_install decocare==0.0.18 fixes the problem (e.g. iter_pump works again)

tghoward commented 8 years ago

Whoops, looks like I already reported this, here:

https://github.com/openaps/openaps/issues/70

But now it was completely breaking the use or report commands. Sorry for the redundancy.

tghoward commented 8 years ago

I just placed more page dumps here:

https://github.com/tghoward/decoding-carelink/tree/thowdat/logs/2016-01-09

bewest commented 8 years ago

START /home/bewest/src/decocare/logs/2016-01-09/ReadHistoryData-page-31.data

ERROR month must be in 1..12 0000 0x0c 0x00 ..

STOPPING DOUBLE NULLS @ 1018, found 4 nulls

reading more to debug 0x00 0000 0x00 0x00 .. 0 0

DEBUG HEX
0000   0xfe 0xe3                                  ..
DEBUG DECIMAL
        254  227

RECORD 0 TempBasal 2015-12-23T08:50:22 head[2], body[1] op[0x33]

DECODED
{'rate': 0.0, 'temp': 'absolute'}
op hex (2)
0000   0x33 0x00                                  3.
decimal
         51    0
datetime (2015-12-23T08:50:22)
0000   0xd6 0x32 0x08 0x57 0x0f                   .2.W.
body (1)
hex
0000   0x00                                       .
decimal
          0

RECORD 1 TempBasalDuration 2015-12-23T08:50:22 head[2], body[0] op[0x16]

DECODED
{'duration (min)': 0}
op hex (2)
0000   0x16 0x00                                  ..
decimal
         22    0
datetime (2015-12-23T08:50:22)
0000   0xd6 0x32 0x08 0x57 0x0f                   .2.W.
body (0)

RECORD 2 BasalProfileStart 2015-12-23T08:50:23 head[2], body[3] op[0x7b]

DECODED
{'offset': 27000000, 'profile_index': 2, 'rate': 1.25}
op hex (2)
0000   0x7b 0x02                                  {.
decimal
        123    2
datetime (2015-12-23T08:50:23)
0000   0xd7 0x32 0x08 0x17 0x0f                   .2...
body (3)
hex
0000   0x0f 0x32 0x00                             .2.
decimal
         15   50    0

RECORD 3 TempBasal 2015-12-23T09:00:23 head[2], body[1] op[0x33]

DECODED
{'rate': 0.675, 'temp': 'absolute'}
op hex (2)
0000   0x33 0x1b                                  3.
decimal
         51   27
datetime (2015-12-23T09:00:23)
0000   0xd7 0x00 0x09 0x57 0x0f                   ...W.
body (1)
hex
0000   0x00                                       .
decimal
          0

RECORD 4 TempBasalDuration 2015-12-23T09:00:23 head[2], body[0] op[0x16]

DECODED
{'duration (min)': 30}
op hex (2)
0000   0x16 0x01                                  ..
decimal
         22    1
datetime (2015-12-23T09:00:23)
0000   0xd7 0x00 0x09 0x57 0x0f                   ...W.
body (0)

RECORD 5 TempBasal 2015-12-23T09:05:23 head[2], body[1] op[0x33]

DECODED
{'rate': 0.5, 'temp': 'absolute'}
op hex (2)
0000   0x33 0x14                                  3.
decimal
         51   20
datetime (2015-12-23T09:05:23)
0000   0xd7 0x05 0x09 0x57 0x0f                   ...W.
body (1)
hex
0000   0x00                                       .
decimal
          0

RECORD 6 TempBasalDuration 2015-12-23T09:05:23 head[2], body[0] op[0x16]

DECODED
{'duration (min)': 30}
op hex (2)
0000   0x16 0x01                                  ..
decimal
         22    1
datetime (2015-12-23T09:05:23)
0000   0xd7 0x05 0x09 0x57 0x0f                   ...W.
body (0)

RECORD 7 TempBasal 2015-12-23T09:20:22 head[2], body[1] op[0x33]

DECODED
{'rate': 0.0, 'temp': 'absolute'}
op hex (2)
0000   0x33 0x00                                  3.
decimal
         51    0
datetime (2015-12-23T09:20:22)
0000   0xd6 0x14 0x09 0x57 0x0f                   ...W.
body (1)
hex
0000   0x00                                       .
decimal
          0

RECORD 8 TempBasalDuration 2015-12-23T09:20:22 head[2], body[0] op[0x16]

DECODED
{'duration (min)': 0}
op hex (2)
0000   0x16 0x00                                  ..
decimal
         22    0
datetime (2015-12-23T09:20:22)
0000   0xd6 0x14 0x09 0x57 0x0f                   ...W.
body (0)

RECORD 9 BasalProfileStart 2015-12-23T09:20:23 head[2], body[3] op[0x7b]

DECODED
{'offset': 27000000, 'profile_index': 2, 'rate': 1.25}
op hex (2)
0000   0x7b 0x02                                  {.
decimal
        123    2
datetime (2015-12-23T09:20:23)
0000   0xd7 0x14 0x09 0x17 0x0f                   .....
body (3)
hex
0000   0x0f 0x32 0x00                             .2.
decimal
         15   50    0

RECORD 10 TempBasal 2015-12-23T09:30:33 head[2], body[1] op[0x33]

DECODED
{'rate': 1.35, 'temp': 'absolute'}
op hex (2)
0000   0x33 0x36                                  36
decimal
         51   54
datetime (2015-12-23T09:30:33)
0000   0xe1 0x1e 0x09 0x57 0x0f                   ...W.
body (1)
hex
0000   0x00                                       .
decimal
          0

RECORD 11 TempBasalDuration 2015-12-23T09:30:33 head[2], body[0] op[0x16]

DECODED
{'duration (min)': 30}
op hex (2)
0000   0x16 0x01                                  ..
decimal
         22    1
datetime (2015-12-23T09:30:33)
0000   0xe1 0x1e 0x09 0x57 0x0f                   ...W.
body (0)

RECORD 12 TempBasal 2015-12-23T09:40:26 head[2], body[1] op[0x33]

DECODED
{'rate': 1.8, 'temp': 'absolute'}
op hex (2)
0000   0x33 0x48                                  3H
decimal
         51   72
datetime (2015-12-23T09:40:26)
0000   0xda 0x28 0x09 0x57 0x0f                   .(.W.
body (1)
hex
0000   0x00                                       .
decimal
          0

RECORD 13 TempBasalDuration 2015-12-23T09:40:26 head[2], body[0] op[0x16]

DECODED
{'duration (min)': 30}
op hex (2)
0000   0x16 0x01                                  ..
decimal
         22    1
datetime (2015-12-23T09:40:26)
0000   0xda 0x28 0x09 0x57 0x0f                   .(.W.
body (0)

RECORD 14 TempBasal 2015-12-23T09:45:23 head[2], body[1] op[0x33]

DECODED
{'rate': 1.35, 'temp': 'absolute'}
op hex (2)
0000   0x33 0x36                                  36
decimal
         51   54
datetime (2015-12-23T09:45:23)
0000   0xd7 0x2d 0x09 0x57 0x0f                   .-.W.
body (1)
hex
0000   0x00                                       .
decimal
          0

RECORD 15 TempBasalDuration 2015-12-23T09:45:23 head[2], body[0] op[0x16]

DECODED
{'duration (min)': 30}
op hex (2)
0000   0x16 0x01                                  ..
decimal
         22    1
datetime (2015-12-23T09:45:23)
0000   0xd7 0x2d 0x09 0x57 0x0f                   .-.W.
body (0)

RECORD 16 TempBasal 2015-12-23T09:55:22 head[2], body[1] op[0x33]

DECODED
{'rate': 0.0, 'temp': 'absolute'}
op hex (2)
0000   0x33 0x00                                  3.
decimal
         51    0
datetime (2015-12-23T09:55:22)
0000   0xd6 0x37 0x09 0x57 0x0f                   .7.W.
body (1)
hex
0000   0x00                                       .
decimal
          0

RECORD 17 TempBasalDuration 2015-12-23T09:55:22 head[2], body[0] op[0x16]

DECODED
{'duration (min)': 0}
op hex (2)
0000   0x16 0x00                                  ..
decimal
         22    0
datetime (2015-12-23T09:55:22)
0000   0xd6 0x37 0x09 0x57 0x0f                   .7.W.
body (0)

RECORD 18 BasalProfileStart 2015-12-23T09:55:22 head[2], body[3] op[0x7b]

DECODED
{'offset': 27000000, 'profile_index': 2, 'rate': 1.25}
op hex (2)
0000   0x7b 0x02                                  {.
decimal
        123    2
datetime (2015-12-23T09:55:22)
0000   0xd6 0x37 0x09 0x17 0x0f                   .7...
body (3)
hex
0000   0x0f 0x32 0x00                             .2.
decimal
         15   50    0

RECORD 19 TempBasal 2015-12-23T10:32:50 head[2], body[1] op[0x33]

DECODED
{'rate': 0.0, 'temp': 'absolute'}
op hex (2)
0000   0x33 0x00                                  3.
decimal
         51    0
datetime (2015-12-23T10:32:50)
0000   0xf2 0x20 0x0a 0x17 0x0f                   . ...
body (1)
hex
0000   0x00                                       .
decimal
          0

RECORD 20 TempBasalDuration 2015-12-23T10:32:50 head[2], body[0] op[0x16]

DECODED
{'duration (min)': 60}
op hex (2)
0000   0x16 0x02                                  ..
decimal
         22    2
datetime (2015-12-23T10:32:50)
0000   0xf2 0x20 0x0a 0x17 0x0f                   . ...
body (0)

RECORD 21 TempBasal 2015-12-23T11:09:26 head[2], body[1] op[0x33]

DECODED
{'rate': 0.0, 'temp': 'absolute'}
op hex (2)
0000   0x33 0x00                                  3.
decimal
         51    0
datetime (2015-12-23T11:09:26)
0000   0xda 0x09 0x0b 0x17 0x0f                   .....
body (1)
hex
0000   0x00                                       .
decimal
          0

RECORD 22 TempBasalDuration 2015-12-23T11:09:26 head[2], body[0] op[0x16]

DECODED
{'duration (min)': 0}
op hex (2)
0000   0x16 0x00                                  ..
decimal
         22    0
datetime (2015-12-23T11:09:26)
0000   0xda 0x09 0x0b 0x17 0x0f                   .....
body (0)

RECORD 23 BasalProfileStart 2015-12-23T11:09:27 head[2], body[3] op[0x7b]

DECODED
{'offset': 27000000, 'profile_index': 2, 'rate': 1.25}
op hex (2)
0000   0x7b 0x02                                  {.
decimal
        123    2
datetime (2015-12-23T11:09:27)
0000   0xdb 0x09 0x0b 0x17 0x0f                   .....
body (3)
hex
0000   0x0f 0x32 0x00                             .2.
decimal
         15   50    0

RECORD 24 LowReservoir 2015-12-23T11:19:12 head[2], body[0] op[0x34]

DECODED
{'amount': 20.0}
op hex (2)
0000   0x34 0xc8                                  4.
decimal
         52  200
datetime (2015-12-23T11:19:12)
0000   0xcc 0x13 0x0b 0x17 0x0f                   .....
body (0)

RECORD 25 Bolus 2015-12-23T11:23:06 head[8], body[0] op[0x01]

DECODED
{'amount': 1.5,
 'duration': 0,
 'programmed': 1.5,
 'type': 'normal',
 'unabsorbed': 0.0}
op hex (8)
0000   0x01 0x00 0x3c 0x00 0x3c 0x00 0x00 0x00    ..<.<...
decimal
          1    0   60    0   60    0    0    0
datetime (2015-12-23T11:23:06)
0000   0xc6 0x17 0x2b 0x77 0x0f                   ..+w.
body (0)

RECORD 26 Ian50 2015-12-23T11:30:10 head[2], body[34] op[0x50]

op hex (2)
0000   0x50 0x00                                  P.
decimal
         80    0
datetime (2015-12-23T11:30:10)
0000   0xca 0x1e 0x0b 0x17 0x0f                   .....
body (34)
hex
0000   0x21 0x00 0x1e 0x00 0xb4 0x3c 0x00 0x3c    !....<.<
0008   0x3c 0x25 0xba 0x34 0xb4 0x46 0x00 0x20    <%.4.F. 
0010   0x00 0x1e 0x00 0xb4 0x3c 0x00 0x3c 0x3c    ....<.<<
0018   0x25 0xba 0x34 0xb4 0x46 0x00 0x0a 0x8c    %.4.F...
0020   0xe7 0x2a                                  .*
decimal
         33    0   30    0  180   60    0   60
         60   37  186   52  180   70    0   32
          0   30    0  180   60    0   60   60
         37  186   52  180   70    0   10  140
        231   42

RECORD 27 Base (2042, 1, 15, 12, 27, 15) head[2], body[0] op[0x2b]

op hex (2)
0000   0x2b 0x17                                  +.
decimal
         43   23
datetime ((2042, 1, 15, 12, 27, 15))
0000   0x0f 0x5b 0x8c 0xef 0x2a                   .[..*
body (0)

RECORD 28 AlarmSensor 2060-01-14T00:16:05 head[3], body[0] op[0x0b]

DECODED
{'alarm_description': 'Unknown sensor alarm (23)', 'alarm_type': 23}
op hex (3)
0000   0x0b 0x17 0x0f                             ...
decimal
         11   23   15
datetime (2060-01-14T00:16:05)
0000   0x05 0x50 0x00 0x6e 0x3c                   .P.n<
body (0)

ERROR month must be in 1..12 0000 0x0c 0x00 .. ERROR month must be in 1..12 0000 0x0c 0x00 ..

RECORD 29 Sara6E (2000, 0, 12, 0, 0, 0) head[1], body[49] op[0x6e]

DECODED
{'error': 'month must be in 1..12', 'error_date': (2000, 0, 12)}
op hex (1)
0000   0x6e                                       n
decimal
        110
datetime ((2000, 0, 12, 0, 0, 0))
0000   0x0c 0x00                                  ..
body (49)
hex
0000   0x10 0x00 0x00 0x38 0x00 0x10 0x78 0x5c    ...8..x\
0008   0x08 0x3c 0x1a 0xc0 0x08 0xec 0xc0 0x1e    .<......
0010   0x01 0xc1 0x2b 0x0b 0x17 0x0f 0x01 0x00    ..+.....
0018   0x10 0x00 0x08 0x00 0x38 0x00 0xef 0x2a    ....8..*
0020   0x2b 0x17 0x0f 0x7b 0x02 0xc2 0x2b 0x0b    +..{..+.
0028   0x17 0x0f 0x0f 0x32 0x00 0x1f 0x20 0xc2    ...2.. .
0030   0x2b                                       +
decimal
         16    0    0   56    0   16  120   92
          8   60   26  192    8  236  192   30
          1  193   43   11   23   15    1    0
         16    0    8    0   56    0  239   42
         43   23   15  123    2  194   43   11
         23   15   15   50    0   31   32  194
         43

RECORD 30 AlarmSensor 2011-04-19T12:00:16 head[3], body[0] op[0x0b]

DECODED
{'alarm_description': 'Unknown sensor alarm (23)', 'alarm_type': 23}
op hex (3)
0000   0x0b 0x17 0x0f                             ...
decimal
         11   23   15
datetime (2011-04-19T12:00:16)
0000   0x50 0x00 0xcc 0x33 0x0b                   P..3.
body (0)

RECORD 31 ChangeTime (2052, 0, 0, 30, 0, 32) head[2], body[0] op[0x17]

op hex (2)
0000   0x17 0x0f                                  ..
decimal
         23   15
datetime ((2052, 0, 0, 30, 0, 32))
0000   0x20 0x00 0x1e 0x00 0xb4                    ....
body (0)

RECORD 32 ChangeParadigmLinkID (2052, 0, 26, 5, 60, 60) head[2], body[14] op[0x3c]

DECODED
{'links': ['460021', '001e00', '3c003c']}
op hex (2)
0000   0x3c 0x00                                  <.
decimal
         60    0
datetime ((2052, 0, 26, 5, 60, 60))
0000   0x3c 0x3c 0x25 0xba 0x34                   <<%.4
body (14)
hex
0000   0xb4 0x46 0x00 0x21 0x00 0x1e 0x00 0xb4    .F.!....
0008   0x3c 0x00 0x3c 0x3c 0x25 0xba              <.<<%.
decimal
        180   70    0   33    0   30    0  180
         60    0   60   60   37  186

RECORD 33 LowReservoir (2064, 4, 3, 27, 0, 6) head[2], body[0] op[0x34]

DECODED
{'amount': 18.0}
op hex (2)
0000   0x34 0xb4                                  4.
decimal
         52  180
datetime ((2064, 4, 3, 27, 0, 6))
0000   0x46 0x00 0x7b 0x03 0xc0                   F.{..
body (0)

RECORD 34 PumpSuspend (2000, 0, 8, 25, 15, 23) head[2], body[0] op[0x1e]

op hex (2)
0000   0x1e 0x0c                                  ..
decimal
         30   12
datetime ((2000, 0, 8, 25, 15, 23))
0000   0x17 0x0f 0x19 0x28 0x00                   ...(.
body (0)

RECORD 35 AlarmSensor 2015-12-23T13:51:59 head[3], body[0] op[0x0b]

DECODED
{'alarm_description': 'Meter BG Now', 'alarm_type': 104}
op hex (3)
0000   0x0b 0x68 0x00                             .h.
decimal
         11  104    0
datetime (2015-12-23T13:51:59)
0000   0xfb 0x33 0x2d 0xb7 0x0f                   .3-..
body (0)

RECORD 36 CalBGForPH 2015-12-23T13:53:15 head[2], body[0] op[0x0a]

DECODED
{'amount': 228}
op hex (2)
0000   0x0a 0xe4                                  ..
decimal
         10  228
datetime (2015-12-23T13:53:15)
0000   0xcf 0x35 0x2d 0x17 0x0f                   .5-..
body (0)

RECORD 37 BolusWizard 2015-12-23T13:53:18 head[2], body[15] op[0x5b]

DECODED
{'bg': 228,
 'bg_target_high': 120,
 'bg_target_low': 110,
 'bolus_estimate': 1.6,
 'carb_input': 0,
 'carb_ratio': 11.0,
 'correction_estimate': 1.8,
 'food_estimate': 0.0,
 'sensitivity': 60,
 'unabsorbed_insulin_total': 0.2}
op hex (2)
0000   0x5b 0xe4                                  [.
decimal
         91  228
datetime (2015-12-23T13:53:18)
0000   0xd2 0x35 0x0d 0x17 0x0f                   .5...
body (15)
hex
0000   0x00 0x50 0x00 0x6e 0x3c 0x6e 0x48 0x00    .P.n<nH.
0008   0x00 0x00 0x00 0x08 0x00 0x40 0x78         .....@x
decimal
          0   80    0  110   60  110   72    0
          0    0    0    8    0   64  120

RECORD 38 UnabsorbedInsulinBolus unknown head[11], body[0] op[0x5c]

DECODED
[{'age': 137, 'amount': 0.2},
 {'age': 157, 'amount': 1.5},
 {'age': 367, 'amount': 0.2}]
op hex (11)
0000   0x5c 0x0b 0x08 0x89 0xc0 0x3c 0x9d 0xc0    \....<..
0008   0x08 0x6f 0xd0                             .o.
decimal
         92   11    8  137  192   60  157  192
          8  111  208
datetime (unknown)

body (0)

RECORD 39 Bolus 2015-12-23T13:53:18 head[8], body[0] op[0x01]

DECODED
{'amount': 1.6,
 'duration': 0,
 'programmed': 1.6,
 'type': 'normal',
 'unabsorbed': 0.2}
op hex (8)
0000   0x01 0x00 0x40 0x00 0x40 0x00 0x08 0x00    ..@.@...
decimal
          1    0   64    0   64    0    8    0
datetime (2015-12-23T13:53:18)
0000   0xd2 0x35 0x2d 0x17 0x0f                   .5-..
body (0)

RECORD 40 Bolus 2015-12-23T14:12:08 head[8], body[0] op[0x01]

DECODED
{'amount': 2.0,
 'duration': 0,
 'programmed': 2.0,
 'type': 'normal',
 'unabsorbed': 1.6}
op hex (8)
0000   0x01 0x00 0x50 0x00 0x50 0x00 0x40 0x00    ..P.P.@.
decimal
          1    0   80    0   80    0   64    0
datetime (2015-12-23T14:12:08)
0000   0xc8 0x0c 0x2e 0x77 0x0f                   ...w.
body (0)

RECORD 41 Bolus 2015-12-23T14:13:46 head[8], body[0] op[0x01]

DECODED
{'amount': 1.0,
 'duration': 0,
 'programmed': 1.0,
 'type': 'normal',
 'unabsorbed': 3.6}
op hex (8)
0000   0x01 0x00 0x28 0x00 0x28 0x00 0x90 0x00    ..(.(...
decimal
          1    0   40    0   40    0  144    0
datetime (2015-12-23T14:13:46)
0000   0xee 0x0d 0x2e 0x77 0x0f                   ...w.
body (0)

RECORD 42 AlarmSensor 2015-12-23T14:21:15 head[3], body[0] op[0x0b]

DECODED
{'alarm_description': 'High Glucose', 'alarm_type': 101, 'amount': 240}
op hex (3)
0000   0x0b 0x65 0xf0                             .e.
decimal
         11  101  240
datetime (2015-12-23T14:21:15)
0000   0xcf 0x15 0x2e 0xb7 0x0f                   .....
body (0)

RECORD 43 LowReservoir 2015-12-23T14:21:34 head[2], body[0] op[0x34]

DECODED
{'amount': 10.0}
op hex (2)
0000   0x34 0x64                                  4d
decimal
         52  100
datetime (2015-12-23T14:21:34)
0000   0xe2 0x15 0x0e 0x17 0x0f                   .....
body (0)

RECORD 44 Bolus 2015-12-23T14:21:22 head[8], body[0] op[0x01]

DECODED
{'amount': 1.0,
 'duration': 0,
 'programmed': 1.0,
 'type': 'normal',
 'unabsorbed': 4.4}
op hex (8)
0000   0x01 0x00 0x28 0x00 0x28 0x00 0xb0 0x00    ..(.(...
decimal
          1    0   40    0   40    0  176    0
datetime (2015-12-23T14:21:22)
0000   0xd6 0x15 0x2e 0x77 0x0f                   ...w.
body (0)

RECORD 45 TempBasal 2015-12-23T14:24:55 head[2], body[1] op[0x33]

DECODED
{'rate': 6.0, 'temp': 'absolute'}
op hex (2)
0000   0x33 0xf0                                  3.
decimal
         51  240
datetime (2015-12-23T14:24:55)
0000   0xf7 0x18 0x0e 0x17 0x0f                   .....
body (1)
hex
0000   0x00                                       .
decimal
          0

RECORD 46 TempBasalDuration 2015-12-23T14:24:55 head[2], body[0] op[0x16]

DECODED
{'duration (min)': 60}
op hex (2)
0000   0x16 0x02                                  ..
decimal
         22    2
datetime (2015-12-23T14:24:55)
0000   0xf7 0x18 0x0e 0x17 0x0f                   .....
body (0)

RECORD 47 BasalProfileStart 2015-12-23T15:24:56 head[2], body[3] op[0x7b]

DECODED
{'offset': 45000000, 'profile_index': 3, 'rate': 1.0}
op hex (2)
0000   0x7b 0x03                                  {.
decimal
        123    3
datetime (2015-12-23T15:24:56)
0000   0xf8 0x18 0x0f 0x17 0x0f                   .....
body (3)
hex
0000   0x19 0x28 0x00                             .(.
decimal
         25   40    0

RECORD 48 TempBasal 2015-12-23T16:47:33 head[2], body[1] op[0x33]

DECODED
{'rate': 0.0, 'temp': 'absolute'}
op hex (2)
0000   0x33 0x00                                  3.
decimal
         51    0
datetime (2015-12-23T16:47:33)
0000   0xe1 0x2f 0x10 0x17 0x0f                   ./...
body (1)
hex
0000   0x00                                       .
decimal
          0

RECORD 49 TempBasalDuration 2015-12-23T16:47:33 head[2], body[0] op[0x16]

DECODED
{'duration (min)': 30}
op hex (2)
0000   0x16 0x01                                  ..
decimal
         22    1
datetime (2015-12-23T16:47:33)
0000   0xe1 0x2f 0x10 0x17 0x0f                   ./...
body (0)

RECORD 50 TempBasal 2015-12-23T17:09:57 head[2], body[1] op[0x33]

DECODED
{'rate': 0.0, 'temp': 'absolute'}
op hex (2)
0000   0x33 0x00                                  3.
decimal
         51    0
datetime (2015-12-23T17:09:57)
0000   0xf9 0x09 0x11 0x17 0x0f                   .....
body (1)
hex
0000   0x00                                       .
decimal
          0

RECORD 51 TempBasalDuration 2015-12-23T17:09:57 head[2], body[0] op[0x16]

DECODED
{'duration (min)': 0}
op hex (2)
0000   0x16 0x00                                  ..
decimal
         22    0
datetime (2015-12-23T17:09:57)
0000   0xf9 0x09 0x11 0x17 0x0f                   .....
body (0)

RECORD 52 BasalProfileStart 2015-12-23T17:09:57 head[2], body[3] op[0x7b]

DECODED
{'offset': 45000000, 'profile_index': 3, 'rate': 1.0}
op hex (2)
0000   0x7b 0x03                                  {.
decimal
        123    3
datetime (2015-12-23T17:09:57)
0000   0xf9 0x09 0x11 0x17 0x0f                   .....
body (3)
hex
0000   0x19 0x28 0x00                             .(.
decimal
         25   40    0

RECORD 53 BolusWizard 2015-12-23T17:54:19 head[2], body[15] op[0x5b]

DECODED
{'bg': 0,
 'bg_target_high': 120,
 'bg_target_low': 110,
 'bolus_estimate': 2.2,
 'carb_input': 25,
 'carb_ratio': 11.0,
 'correction_estimate': 0.0,
 'food_estimate': 2.2,
 'sensitivity': 60,
 'unabsorbed_insulin_total': 0.0}
op hex (2)
0000   0x5b 0x00                                  [.
decimal
         91    0
datetime (2015-12-23T17:54:19)
0000   0xd3 0x36 0x11 0x17 0x0f                   .6...
body (15)
hex
0000   0x19 0x50 0x00 0x6e 0x3c 0x6e 0x00 0x00    .P.n<n..
0008   0x58 0x00 0x00 0x00 0x00 0x58 0x78         X....Xx
decimal
         25   80    0  110   60  110    0    0
         88    0    0    0    0   88  120

RECORD 54 UnabsorbedInsulinBolus unknown head[17], body[0] op[0x5c]

DECODED
[{'age': 218, 'amount': 1.0},
 {'age': 228, 'amount': 3.0},
 {'age': 248, 'amount': 1.6},
 {'age': 378, 'amount': 0.2},
 {'age': 398, 'amount': 1.5}]
op hex (17)
0000   0x5c 0x11 0x28 0xda 0xc0 0x78 0xe4 0xc0    \.(..x..
0008   0x40 0xf8 0xc0 0x08 0x7a 0xd0 0x3c 0x8e    @...z.<.
0010   0xd0                                       .
decimal
         92   17   40  218  192  120  228  192
         64  248  192    8  122  208   60  142
        208
datetime (unknown)

body (0)

RECORD 55 Bolus 2015-12-23T17:54:20 head[8], body[0] op[0x01]

DECODED
{'amount': 2.2,
 'duration': 0,
 'programmed': 2.2,
 'type': 'normal',
 'unabsorbed': 0.0}
op hex (8)
0000   0x01 0x00 0x58 0x00 0x58 0x00 0x00 0x00    ..X.X...
decimal
          1    0   88    0   88    0    0    0
datetime (2015-12-23T17:54:20)
0000   0xd4 0x36 0x31 0x17 0x0f                   .61..
body (0)

RECORD 56 Rewind 2015-12-23T18:49:57 head[2], body[0] op[0x21]

op hex (2)
0000   0x21 0x00                                  !.
decimal
         33    0
datetime (2015-12-23T18:49:57)
0000   0xf9 0x31 0x12 0x17 0x0f                   .1...
body (0)

RECORD 57 Prime 2015-12-23T18:50:58 head[5], body[0] op[0x03]

DECODED
{'amount': 6.2, 'fixed': 0.0, 'type': 'manual'}
op hex (5)
0000   0x03 0x00 0x00 0x00 0x3e                   ....>
decimal
          3    0    0    0   62
datetime (2015-12-23T18:50:58)
0000   0xfa 0x32 0x32 0x17 0x0f                   .22..
body (0)

RECORD 58 BasalProfileStart 2015-12-23T18:51:57 head[2], body[3] op[0x7b]

DECODED
{'offset': 45000000, 'profile_index': 3, 'rate': 1.0}
op hex (2)
0000   0x7b 0x03                                  {.
decimal
        123    3
datetime (2015-12-23T18:51:57)
0000   0xf9 0x33 0x12 0x17 0x0f                   .3...
body (3)
hex
0000   0x19 0x28 0x00                             .(.
decimal
         25   40    0

RECORD 59 Prime 2015-12-23T18:51:39 head[5], body[0] op[0x03]

DECODED
{'amount': 0.5, 'fixed': 0.5, 'type': 'fixed'}
op hex (5)
0000   0x03 0x00 0x05 0x00 0x05                   .....
decimal
          3    0    5    0    5
datetime (2015-12-23T18:51:39)
0000   0xe7 0x33 0x12 0x17 0x0f                   .3...
body (0)

RECORD 60 AlarmSensor 2015-12-23T19:53:00 head[3], body[0] op[0x0b]

DECODED
{'alarm_description': 'Meter BG Now', 'alarm_type': 104}
op hex (3)
0000   0x0b 0x68 0x00                             .h.
decimal
         11  104    0
datetime (2015-12-23T19:53:00)
0000   0xc0 0x35 0x33 0xb7 0x0f                   .53..
body (0)

RECORD 61 CalBGForPH 2015-12-23T19:58:04 head[2], body[0] op[0x0a]

DECODED
{'amount': 134}
op hex (2)
0000   0x0a 0x86                                  ..
decimal
         10  134
datetime (2015-12-23T19:58:04)
0000   0xc4 0x3a 0x33 0x17 0x0f                   .:3..
body (0)

RECORD 62 BolusWizard 2015-12-23T19:58:07 head[2], body[15] op[0x5b]

DECODED
{'bg': 134,
 'bg_target_high': 120,
 'bg_target_low': 110,
 'bolus_estimate': 0.0,
 'carb_input': 0,
 'carb_ratio': 11.0,
 'correction_estimate': 0.2,
 'food_estimate': 0.0,
 'sensitivity': 60,
 'unabsorbed_insulin_total': 0.4}
op hex (2)
0000   0x5b 0x86                                  [.
decimal
         91  134
datetime (2015-12-23T19:58:07)
0000   0xc7 0x3a 0x13 0x17 0x0f                   .:...
body (15)
hex
0000   0x00 0x50 0x00 0x6e 0x3c 0x6e 0x08 0x00    .P.n<n..
0008   0x00 0x00 0x00 0x10 0x00 0x00 0x78         ......x
decimal
          0   80    0  110   60  110    8    0
          0    0    0   16    0    0  120

RECORD 63 UnabsorbedInsulinBolus unknown head[14], body[0] op[0x5c]

DECODED
[{'age': 132, 'amount': 2.2},
 {'age': 342, 'amount': 1.0},
 {'age': 352, 'amount': 3.0},
 {'age': 372, 'amount': 1.6}]
op hex (14)
0000   0x5c 0x0e 0x58 0x84 0xc0 0x28 0x56 0xd0    \.X..(V.
0008   0x78 0x60 0xd0 0x40 0x74 0xd0              x`.@t.
decimal
         92   14   88  132  192   40   86  208
        120   96  208   64  116  208
datetime (unknown)

body (0)

RECORD 64 CalBGForPH 2015-12-23T21:54:14 head[2], body[0] op[0x0a]

DECODED
{'amount': 149}
op hex (2)
0000   0x0a 0x95                                  ..
decimal
         10  149
datetime (2015-12-23T21:54:14)
0000   0xce 0x36 0x35 0x17 0x0f                   .65..
body (0)

RECORD 65 BolusWizard 2015-12-23T21:54:18 head[2], body[15] op[0x5b]

DECODED
{'bg': 149,
 'bg_target_high': 120,
 'bg_target_low': 110,
 'bolus_estimate': 0.4,
 'carb_input': 0,
 'carb_ratio': 11.0,
 'correction_estimate': 0.4,
 'food_estimate': 0.0,
 'sensitivity': 60,
 'unabsorbed_insulin_total': 0.0}
op hex (2)
0000   0x5b 0x95                                  [.
decimal
         91  149
datetime (2015-12-23T21:54:18)
0000   0xd2 0x36 0x15 0x17 0x0f                   .6...
body (15)
hex
0000   0x00 0x50 0x00 0x6e 0x3c 0x6e 0x10 0x00    .P.n<n..
0008   0x00 0x00 0x00 0x00 0x00 0x10 0x78         ......x
decimal
          0   80    0  110   60  110   16    0
          0    0    0    0    0   16  120

RECORD 66 UnabsorbedInsulinBolus unknown head[11], body[0] op[0x5c]

DECODED
[{'age': 248, 'amount': 2.2},
 {'age': 458, 'amount': 1.0},
 {'age': 468, 'amount': 3.0}]
op hex (11)
0000   0x5c 0x0b 0x58 0xf8 0xc0 0x28 0xca 0xd0    \.X..(..
0008   0x78 0xd4 0xd0                             x..
decimal
         92   11   88  248  192   40  202  208
        120  212  208
datetime (unknown)

body (0)

RECORD 67 Bolus 2015-12-23T21:54:18 head[8], body[0] op[0x01]

DECODED
{'amount': 0.4,
 'duration': 0,
 'programmed': 0.4,
 'type': 'normal',
 'unabsorbed': 0.0}
op hex (8)
0000   0x01 0x00 0x10 0x00 0x10 0x00 0x00 0x00    ........
decimal
          1    0   16    0   16    0    0    0
datetime (2015-12-23T21:54:18)
0000   0xd2 0x36 0x35 0x17 0x0f                   .65..
body (0)

RECORD 68 BasalProfileStart 2015-12-24T00:00:00 head[2], body[3] op[0x7b]

DECODED
{'offset': 0, 'profile_index': 0, 'rate': 0.85}
op hex (2)
0000   0x7b 0x00                                  {.
decimal
        123    0
datetime (2015-12-24T00:00:00)
0000   0xc0 0x00 0x00 0x18 0x0f                   .....
body (3)
hex
0000   0x00 0x22 0x00                             .".
decimal
          0   34    0

RECORD 69 ResultDailyTotal 2015-12-24T00:00:00 head[5], body[3] op[0x07]

DECODED
{'valid_date': '2015-12-23'}
op hex (5)
0000   0x07 0x00 0x00 0x06 0x67                   ....g
decimal
          7    0    0    6  103
datetime (2015-12-24T00:00:00)
0000   0xd7 0x0f                                  ..
body (3)
hex
0000   0x00 0x00 0x00                             ...
decimal
          0    0    0

RECORD 70 Sara6E 2015-12-24T00:00:00 head[1], body[49] op[0x6e]

DECODED
{'valid_date': '2015-12-23'}
op hex (1)
0000   0x6e                                       n
decimal
        110
datetime (2015-12-24T00:00:00)
0000   0xd7 0x0f                                  ..
body (49)
hex
0000   0x05 0x00 0x9e 0x00 0x00 0x05 0x00 0x00    ........
0008   0x06 0x67 0x04 0xd3 0x4b 0x01 0x94 0x19    .g..K...
0010   0x00 0x1e 0x00 0x60 0x00 0x58 0x00 0x00    ...`.X..
0018   0x00 0xdc 0x02 0x03 0x00 0x04 0x00 0x9f    ........
0020   0x03 0x61 0x00 0xfe 0x28 0x00 0x00 0x86    .a..(...
0028   0xe4 0x00 0x01 0x00 0x00 0x00 0x00 0x00    ........
0030   0x00                                       .
decimal
          5    0  158    0    0    5    0    0
          6  103    4  211   75    1  148   25
          0   30    0   96    0   88    0    0
          0  220    2    3    0    4    0  159
          3   97    0  254   40    0    0  134
        228    0    1    0    0    0    0    0
          0

RECORD 71 AlarmSensor 2015-12-24T01:51:58 head[3], body[0] op[0x0b]

DECODED
{'alarm_description': 'Low Glucose', 'alarm_type': 102, 'amount': 71}
op hex (3)
0000   0x0b 0x66 0x47                             .fG
decimal
         11  102   71
datetime (2015-12-24T01:51:58)
0000   0xfa 0x33 0x21 0xb8 0x0f                   .3!..
body (0)

RECORD 72 TempBasal 2015-12-24T02:02:09 head[2], body[1] op[0x33]

DECODED
{'rate': 0.0, 'temp': 'absolute'}
op hex (2)
0000   0x33 0x00                                  3.
decimal
         51    0
datetime (2015-12-24T02:02:09)
0000   0xc9 0x02 0x02 0x18 0x0f                   .....
body (1)
hex
0000   0x00                                       .
decimal
          0

RECORD 73 TempBasalDuration 2015-12-24T02:02:09 head[2], body[0] op[0x16]

DECODED
{'duration (min)': 30}
op hex (2)
0000   0x16 0x01                                  ..
decimal
         22    1
datetime (2015-12-24T02:02:09)
0000   0xc9 0x02 0x02 0x18 0x0f                   .....
body (0)

RECORD 74 BasalProfileStart 2015-12-24T02:32:09 head[2], body[3] op[0x7b]

DECODED
{'offset': 0, 'profile_index': 0, 'rate': 0.85}
op hex (2)
0000   0x7b 0x00                                  {.
decimal
        123    0
datetime (2015-12-24T02:32:09)
0000   0xc9 0x20 0x02 0x18 0x0f                   . ...
body (3)
hex
0000   0x00 0x22 0x00                             .".
decimal
          0   34    0

RECORD 75 BasalProfileStart 2015-12-24T03:00:00 head[2], body[3] op[0x7b]

DECODED
{'offset': 10800000, 'profile_index': 1, 'rate': 0.75}
op hex (2)
0000   0x7b 0x01                                  {.
decimal
        123    1
datetime (2015-12-24T03:00:00)
0000   0xc0 0x00 0x03 0x18 0x0f                   .....
body (3)
hex
0000   0x06 0x1e 0x00                             ...
decimal
          6   30    0

RECORD 76 AlarmSensor 2015-12-24T03:01:14 head[3], body[0] op[0x0b]

DECODED
{'alarm_description': 'Low Glucose', 'alarm_type': 102, 'amount': 75}
op hex (3)
0000   0x0b 0x66 0x4b                             .fK
decimal
         11  102   75
datetime (2015-12-24T03:01:14)
0000   0xce 0x01 0x23 0xb8 0x0f                   ..#..
body (0)

RECORD 77 TempBasal 2015-12-24T03:13:37 head[2], body[1] op[0x33]

DECODED
{'rate': 0.0, 'temp': 'absolute'}
op hex (2)
0000   0x33 0x00                                  3.
decimal
         51    0
datetime (2015-12-24T03:13:37)
0000   0xe5 0x0d 0x03 0x18 0x0f                   .....
body (1)
hex
0000   0x00                                       .
decimal
          0

RECORD 78 TempBasalDuration 2015-12-24T03:13:37 head[2], body[0] op[0x16]

DECODED
{'duration (min)': 30}
op hex (2)
0000   0x16 0x01                                  ..
decimal
         22    1
datetime (2015-12-24T03:13:37)
0000   0xe5 0x0d 0x03 0x18 0x0f                   .....
body (0)

RECORD 79 BasalProfileStart 2015-12-24T03:43:37 head[2], body[3] op[0x7b]

DECODED
{'offset': 10800000, 'profile_index': 1, 'rate': 0.75}
op hex (2)
0000   0x7b 0x01                                  {.
decimal
        123    1
datetime (2015-12-24T03:43:37)
0000   0xe5 0x2b 0x03 0x18 0x0f                   .+...
body (3)
hex
0000   0x06 0x1e 0x00                             ...
decimal
          6   30    0

RECORD 80 BolusWizard 2015-12-24T04:54:44 head[2], body[15] op[0x5b]

DECODED
{'bg': 0,
 'bg_target_high': 120,
 'bg_target_low': 110,
 'bolus_estimate': 0.4,
 'carb_input': 5,
 'carb_ratio': 11.0,
 'correction_estimate': 0.0,
 'food_estimate': 0.4,
 'sensitivity': 60,
 'unabsorbed_insulin_total': 0.0}
op hex (2)
0000   0x5b 0x00                                  [.
decimal
         91    0
datetime (2015-12-24T04:54:44)
0000   0xec 0x36 0x04 0x18 0x0f                   .6...
body (15)
hex
0000   0x05 0x50 0x00 0x6e 0x3c 0x6e 0x00 0x00    .P.n<n..
0008   0x10 0x00 0x00 0x00 0x00 0x10 0x78         ......x
decimal
          5   80    0  110   60  110    0    0
         16    0    0    0    0   16  120

RECORD 81 UnabsorbedInsulinBolus unknown head[5], body[0] op[0x5c]

DECODED
[{'age': 428, 'amount': 0.4}]
op hex (5)
0000   0x5c 0x05 0x10 0xac 0xd0                   \....
decimal
         92    5   16  172  208
datetime (unknown)

body (0)

RECORD 82 Bolus 2015-12-24T04:54:45 head[8], body[0] op[0x01]

DECODED
{'amount': 0.3,
 'duration': 0,
 'programmed': 0.3,
 'type': 'normal',
 'unabsorbed': 0.0}
op hex (8)
0000   0x01 0x00 0x0c 0x00 0x0c 0x00 0x00 0x00    ........
decimal
          1    0   12    0   12    0    0    0
datetime (2015-12-24T04:54:45)
0000   0xed 0x36 0x24 0x18 0x0f                   .6$..
body (0)

RECORD 83 BasalProfileStart 2015-12-24T07:30:00 head[2], body[3] op[0x7b]

DECODED
{'offset': 27000000, 'profile_index': 2, 'rate': 1.25}
op hex (2)
0000   0x7b 0x02                                  {.
decimal
        123    2
datetime (2015-12-24T07:30:00)
0000   0xc0 0x1e 0x07 0x18 0x0f                   .....
body (3)
hex
0000   0x0f 0x32 0x00                             .2.
decimal
         15   50    0

RECORD 84 TempBasal 2015-12-24T07:48:24 head[2], body[1] op[0x33]

DECODED
{'rate': 3.75, 'temp': 'absolute'}
op hex (2)
0000   0x33 0x96                                  3.
decimal
         51  150
datetime (2015-12-24T07:48:24)
0000   0xd8 0x30 0x07 0x58 0x0f                   .0.X.
body (1)
hex
0000   0x00                                       .
decimal
          0

RECORD 85 TempBasalDuration 2015-12-24T07:48:24 head[2], body[0] op[0x16]

DECODED
{'duration (min)': 30}
op hex (2)
0000   0x16 0x01                                  ..
decimal
         22    1
datetime (2015-12-24T07:48:24)
0000   0xd8 0x30 0x07 0x58 0x0f                   .0.X.
body (0)

RECORD 86 CalBGForPH 2015-12-24T07:53:25 head[2], body[0] op[0x0a]

DECODED
{'amount': 237}
op hex (2)
0000   0x0a 0xed                                  ..
decimal
         10  237
datetime (2015-12-24T07:53:25)
0000   0xd9 0x35 0x27 0x18 0x0f                   .5'..
body (0)

RECORD 87 BolusWizard 2015-12-24T07:53:28 head[2], body[15] op[0x5b]

DECODED
{'bg': 237,
 'bg_target_high': 120,
 'bg_target_low': 110,
 'bolus_estimate': 1.9,
 'carb_input': 0,
 'carb_ratio': 11.0,
 'correction_estimate': 1.9,
 'food_estimate': 0.0,
 'sensitivity': 60,
 'unabsorbed_insulin_total': 0.0}
op hex (2)
0000   0x5b 0xed                                  [.
decimal
         91  237
datetime (2015-12-24T07:53:28)
0000   0xdc 0x35 0x07 0x18 0x0f                   .5...
body (15)
hex
0000   0x00 0x50 0x00 0x6e 0x3c 0x6e 0x4c 0x00    .P.n<nL.
0008   0x00 0x00 0x00 0x00 0x00 0x4c 0x78         .....Lx
decimal
          0   80    0  110   60  110   76    0
          0    0    0    0    0   76  120

RECORD 88 UnabsorbedInsulinBolus unknown head[5], body[0] op[0x5c]

DECODED
[{'age': 187, 'amount': 0.3}]
op hex (5)
0000   0x5c 0x05 0x0c 0xbb 0xc0                   \....
decimal
         92    5   12  187  192
datetime (unknown)

body (0)

RECORD 89 Bolus 2015-12-24T07:53:28 head[8], body[0] op[0x01]

DECODED
{'amount': 1.9,
 'duration': 0,
 'programmed': 1.9,
 'type': 'normal',
 'unabsorbed': 0.0}
op hex (8)
0000   0x01 0x00 0x4c 0x00 0x4c 0x00 0x00 0x00    ..L.L...
decimal
          1    0   76    0   76    0    0    0
datetime (2015-12-24T07:53:28)
0000   0xdc 0x35 0x27 0x18 0x0f                   .5'..
body (0)

RECORD 90 TempBasal 2015-12-24T08:05:21 head[2], body[1] op[0x33]

DECODED
{'rate': 0.0, 'temp': 'absolute'}
op hex (2)
0000   0x33 0x00                                  3.
decimal
         51    0
datetime (2015-12-24T08:05:21)
0000   0xd5 0x05 0x08 0x58 0x0f                   ...X.
body (1)
hex
0000   0x00                                       .
decimal
          0

RECORD 91 TempBasalDuration 2015-12-24T08:05:21 head[2], body[0] op[0x16]

DECODED
{'duration (min)': 0}
op hex (2)
0000   0x16 0x00                                  ..
decimal
         22    0
datetime (2015-12-24T08:05:21)
0000   0xd5 0x05 0x08 0x58 0x0f                   ...X.
body (0)

end /home/bewest/src/decocare/logs/2016-01-09/ReadHistoryData-page-31.data: 92 records