Почему приложение ведёт себя именно так и чем платят настройки
Приложение только читает приборы. Но еда — не команда прибору, а факт о вас: вы её съели, и знать об этом должны все, кто считает по вашим данным.
Поэтому внесённый приём пищи уходит в ваш Nightscout, если он подключён.
| что внесли | что появится в Nightscout |
|---|---|
| еда без болюса | Carb Correction с граммами |
| еда с болюсом | Meal Bolus: граммы и единицы одной записью |
| болюс без еды | Correction Bolus |
| замена сенсора, набора, резервуара | Sensor Start, Site Change, Insulin Change |
Углеводная запись уходит без поля инсулина. Ноль в нём читался бы как «болюс на ноль единиц» — то есть как факт подачи.
Каждая наша запись подписана: enteredBy: SugarLife. По подписи её отличают от чужих — и мы сами вправе трогать только свои.
Длинного инсулина. У Nightscout нет для него своего типа. Положив его болюсом, мы добавили бы 24 единицы в чужой расчёт активного инсулина — и петля у того же человека начала бы считать дозы по неверному фону. Молчание тут безопаснее вранья.
Сырых показаний. Пометки «сырое» в Nightscout не существует, а читатели берут оттуда числа не глядя. Уедет только то, что посчитал алгоритм прибора.
Чужого. В базе рядом лежат записи других программ. Мы их не меняем и не удаляем.
Исправление уезжает и заменяет прежнее, а не ложится рядом. Приложение находит свою прошлую запись по вашему же ключу, убирает её и кладёт исправленную.
Убирает только свою — по совпадению ключа и подписи.
Порядок «сначала убрать, потом положить» выбран намеренно: оборвись связь между двумя шагами, вы недосчитаетесь еды, а не получите лишней. Недосчёт видно, и он правится; лишняя доза — нет.
Ограничение: двое суток. Правку записи старше двух суток приложение не заметит. Правят внесённое обычно в тот же день; дальше это уже не правка, а переписывание истории — молча делать такое приложение не должно.
Запись ложится в свою базу сразу и ждёт. Уедет, когда связь вернётся — хоть через час, хоть после перезапуска телефона: очередь переживает и то и другое.
Повтор после обрыва не задваивает приём. Перед отправкой приложение сверяется с тем, что уже лежит в вашей базе: у Nightscout нет ключа идемпотентности, поэтому спрашиваем сами.
Nightscout читают не только люди. Если ваша петля настроена забирать оттуда лечение, внесённые углеводы станут для неё активными — и она посчитает на них дозу.
Это не наше решение и не наша настройка: она живёт в вашей петле. Но знать об этом нужно до того, как вы внесёте еду задним числом «для истории».
Смотрите также: Nightscout: адрес и токен, активный инсулин.