Claude and James Woglom
ea7cc8f4ec
Remove dead code for legacy pre-Tandem Source APIs
...
Since the 2.0 migration to Tandem Source, the live sync path
(api.tandemsource + sync/tandemsource/*) no longer references the
legacy t:connect APIs. This removes that now-unreachable code.
Removed modules:
- api/controliq.py, api/ws2.py, api/android.py, api/webui.py
(the legacy controliq / tconnectws2 / android / webui clients)
- process.py (old process_time_range; already broken since it
imported sync submodules that no longer exist)
- parser/ciq_therapy_events.py, parser/tconnect.py (TConnectEntry)
- domain/therapy_event.py, domain/bolus.py, domain/device_settings.py,
domain/utility.py
Trimmed dead wiring from live modules:
- api/__init__.py: dropped the controliq/ws2/android/webui properties,
keeping only the tandemsource accessor
- check.py: removed the unused TConnectEntry import
- parser/nightscout.py: removed the unused legacy profile_store() plus
the now-orphaned tandem_to_ns_time / tandem_to_ns_time_seconds helpers
and InvalidTimeException (the live path uses tandemsource_profile_store)
Tests: removed suites covering the deleted modules; pared tests/api/fake.py
down to the TConnectApi fake still used by the tandemsource tests. README
"Tandem APIs" sections updated to reflect the single Tandem Source API.
Full test suite passes (48 passed, 1 skipped).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01LQNn3mBG1kXTAdQb9c2jfW
2026-06-30 19:12:44 -04:00
Beshoy Girgis and James Woglom
594ee19450
Add Freestyle Libre 3 (FSL3) CGM sensor support
...
Implement FSL3 sensor integration alongside G6, G7, and FSL2 with expanded
CGM alert codes, improved datetime handling, and test coverage.
**FSL3 Event Integration:**
- Add FSL3 events to CGM_READING, _CGM_JOIN, and _CGM_STOP event classes
- Enable unified processing of FSL3 alongside existing sensor variants:
- Event 480: LID_CGM_DATA_FSL3
- Event 477: LID_CGM_JOIN_SESSION_FSL3
- Event 486: LID_CGM_STOP_SESSION_FSL3
**CGM Alert Enumeration:**
- Expand CGM alert codes from 8 to 18 mapped codes
- Add verified alert codes: 1, 2, 3, 8, 12, 22, 25, 45, 46, 48
- Rename alert 51 to CONTROL_IQ_LOW (was DEFAULT_ALERT_51)
- Add alert descriptions based on pump history verification
**Code Quality Improvements:**
- Fix duplicate enum keys in events.json (Sensor Type codes 12, 13)
- Add logging infrastructure to generic.py for event diagnostics
- Add conftest.py test configuration
**DateTime and API Improvements:**
- Fix format_datetime() for proper UTC conversion with Z suffix
- Simplify Nightscout API methods by removing redundant retry logic
- Improve error reporting in last_uploaded_entry() and last_uploaded_bg_entry()
**Test Coverage:**
- Add 3 FSL3 test cases with real pump data
- Test single reading processing, multiple readings, and JOIN event parsing
- All 105 tests passing (102 existing + 3 new FSL3 tests)
2026-03-27 11:08:23 -07:00
James Woglom
795361c6ad
timezone tests
2025-12-14 23:58:35 -05:00
James Woglom
15160537f5
add process_cgm_reading tests
2025-12-14 23:52:55 -05:00
James Woglom
e848a8482d
add new process test for tz change
2025-11-18 14:00:54 -05:00
James Woglom
8b15ec5c90
add test_profile_data
2025-06-07 23:31:10 -04:00
James Woglom
37b008f6c3
fix test path
2025-06-07 23:29:09 -04:00
James Woglom
8c40fdb533
fix test import
2025-06-07 23:27:42 -04:00
James Woglom
d51080f6d0
Fix profile test
2025-06-07 23:24:41 -04:00
James Woglom
b32415aaac
Delete dead non-tandem source tests
2025-06-07 23:21:38 -04:00
James Woglom
ffd3c5b1ea
Delete dead non-tandem source code
2025-06-07 23:21:18 -04:00
James Woglom
07aaea9e1c
fix tests
2024-12-30 22:05:11 -05:00
James Woglom
c7ade49eea
devicestatus: tune nightscout output to look more like Loops uploader
2024-12-13 02:09:36 -05:00
James Woglom
d1341e09c0
devicestatus: set pump.battery.percent
2024-12-12 22:20:13 -05:00
James Woglom
9493b6546f
process_alarm exclude resumepumpalarm and test
2024-12-12 00:23:17 -05:00
James Woglom
24a635ca21
add process_device_status and process_user_mode tests
2024-12-12 00:09:28 -05:00
James Woglom
bb3094869d
fix old tests (will be removed/updated)
2024-09-30 00:14:16 -04:00
James Woglom
2bfc5a7860
test pump events
2024-05-23 00:44:06 -04:00
James Woglom
e3542bc002
webui: detect logged out state and trigger re-login
2023-09-30 20:33:55 -04:00
James Woglom
22006f7c0f
Bump supported software version and display login error message
2023-06-11 00:24:42 -04:00
James Woglom
4409b78890
add completed extended bolus test
2023-02-04 00:09:35 -05:00
James Woglom
e52cd73549
Fix incomplete extended bolus parsing
2023-02-03 23:40:15 -05:00
James Woglom
ee85226c2f
fix test failure
2023-01-16 19:54:16 -05:00
James Woglom
85303bca82
transparently split large time range calls to ws2 therapytimeline
2023-01-16 19:25:21 -05:00
James Woglom
04c5a37b8d
separate basal suspension events into own feature to allow skipping WS2 api
2023-01-16 18:06:29 -05:00
James Woglom
b9fae36dda
ensure permutations of the same number in different types are considered the same NS profile
2023-01-16 17:35:31 -05:00
James Woglom
1507398eb0
track count in integration tests
2023-01-16 17:12:46 -05:00
James Woglom
d9e49e1fc8
integration tests for profile upload
2023-01-16 16:58:19 -05:00
James Woglom
dd9a9ea72c
tests for profile synchronization
2023-01-16 16:00:50 -05:00
James Woglom
d69a760f5b
Translate Tandem profile information to Nightscout format
2023-01-16 14:25:31 -05:00
Jarred Yaw and James Woglom
b929d1151e
Moved logger.warn() statements to logger.warning() due to the deprecation msgs I was getting while testing
2022-10-02 00:18:11 -04:00
James Woglom
0ebfb2b744
add 10 second timeout on ws2 requests
2022-08-12 00:19:11 -04:00
James Woglom
6f15ef8857
use domain objects for webui scraping pump profiles
2022-08-11 01:22:44 -04:00
James Woglom
2f5775cbfb
internally track bolus from CIQ API identically at par with WS2
2022-08-10 01:31:45 -04:00
James Woglom
f13929a45a
therapy_event and tests
2022-08-10 00:22:13 -04:00
James Woglom
a18c2f3d17
move Bolus internal state from dictionary to domain object
2022-08-09 22:54:51 -04:00
James Woglom
d3816b18b2
propagate time filter to all ns_writes
2022-07-20 02:43:31 -04:00
James Woglom
51abc15512
propagate -- but do not use -- time_start and time_end in last_uploaded_entry
2022-07-20 02:17:02 -04:00
James Woglom
52031d1d8a
fix GETs with data
2022-07-20 01:32:32 -04:00
James Woglom
7139247d1c
ensure consistent user agent across runtime
2022-07-20 01:17:05 -04:00
James Woglom
123acaf163
fix requests proxies monkey-patch
2022-07-20 00:36:22 -04:00
James Woglom
d7cc6f957f
test proxy
2022-07-19 23:57:49 -04:00
James Woglom
ae2bf9a3a6
support proxy
2022-07-19 23:23:12 -04:00
James Woglom
fae1d4de2c
api: add WebUIScraper which can read pump settings and profile info
2022-01-09 18:36:49 -05:00
James Woglom
7b22d612c3
autoupdate: refactor into class and write test
2022-01-07 00:32:50 -05:00
James Woglom
631d1c7b89
parser: support temp-profile basal suspension event
2021-12-27 15:56:50 -05:00
James Woglom
0253956377
test_secret: allow test to pass even if environment variables implicitly passed to pipenv test
2021-12-27 15:56:19 -05:00
James Woglom
7a8d00da88
secret: put environment variables at higher precedence than .env file
2021-12-23 20:46:58 -05:00
James Woglom
27ba5d9a64
Update dotenv secret parsing logic, and read from .config/tconnectsync/.env path
2021-12-23 19:39:51 -05:00
James Woglom
118ee236ba
test_process: add WS2 activity event process tests
2021-12-04 21:37:34 -05:00