| Алиас | Описание |
|---|---|
phone_master |
Телефон, получающий данные от xDrip |
phone_slave |
Телефон, получающий данные только от сервера |
watch_master |
Часы, сопряжённые с phone_master |
watch_slave |
Часы, сопряжённые с phone_slave |
server |
Сервер Diasync, получающий данные от phone_master и раздающий их другим устройствам |
Diasync — распределённая система мониторинга уровня глюкозы, предназначенная для:
- отображения данных на телефонах и часах в виде графиков
- алертов при отклонениях от нормы
- синхронизации данных между компонентами
- работы без связи при наличии локальных данных (offline-first)
- Источник:
xDrip→BroadcastReceiver - Обрабатывает:
- сохранение в локальную базу данных
- обновление виджета
- отправку на
watch_master(через Wear OS Data Layer API) - отправку на
server
Offline-first: работает без интернета, полная локальная автономия.
- Источник:
server - Обрабатывает:
- сохранение в локальную базу
- обновление виджета
- отправку на
watch_slave
Не поддерживает offline-first: требует доступ к server для получения данных.
-
Источники:
- Привязанный
phone_*— приоритетный server— fallback
- Привязанный
-
Поведение:
- Получают данные от
phone_*, если есть соединение - Не выходят в интернет при наличии подключения к телефону
- Используют локальную базу данных:
- историю
- последние значения
- настройки
- Получают данные от
Offline-first:
watch_master способен получать данные по цепочке xDrip → phone_master → watch_master, без
интернета
На всех компонентах (phone_*, watch_*) используется локальная база данных:
Room / SQLite- Сохраняется:
- история глюкозы
- последние значения
- настройки
- статус алертов
Типы событий:
LOW: уровень глюкозы ниже порогаHIGH: уровень глюкозы выше порогаNO_DATA: отсутствие новых данных
Параметры конфигурации:
- Пороговые значения (
LOW,HIGH) - Включение/отключение типов алертов
- Временное отключение всех алертов (snooze)
Алерты работают локально — на любом компоненте, где доступны данные.
- Архитектура построена на event bus / message-driven
- Простота расширения:
- новых источников данных (Nightscout, LibreLinkUp и др.)
- новых каналов доставки и визуализации
- альтернативных стратегий оповещения
xDripпубликует новое значениеphone_master:- сохраняет данные в БД
- обновляет виджет
- отправляет на
watch_master - отправляет на
server
phone_slaveполучает данные сserver- Сохраняет в БД
- Обновляет виджет и отправляет данные на
watch_slave