Skip to content

Instantly share code, notes, and snippets.

@jasoncalabrese
Last active September 11, 2016 16:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jasoncalabrese/263a05162e5fb2955af908d7d536f290 to your computer and use it in GitHub Desktop.
Save jasoncalabrese/263a05162e5fb2955af908d7d536f290 to your computer and use it in GitHub Desktop.
Pre-refresh-loop updates

If you don't already have a ns device

nightscout autoconfigure-device-crud <https://your-host.com> <yourapisecret>
mkdir nightscout

Clean up / add oref0 adevices

openaps device add oref0 process oref0
openaps device remove raw
openaps device add raw process --require "glucose cal maxraw" oref0 raw
openaps device remove determine-basal
openaps device add determine-basal process --require "iob current-temps glucose profile" oref0 determine-basal
openaps report add predict/oref0.json JSON determine-basal shell predict/iob.json monitor/temp-basal-status.json monitor/glucose.json predict/profile.json --meal monitor/meal.json --missing-meal-ok --auto-sens predict/autosens.json --missing-auto-sens-ok

openaps device remove calculate-iob
openaps device add calculate-iob process --require "history profile clock" oref0 calculate-iob

openaps device remove detect-sensitivity
openaps device add detect-sensitivity process --require "glucose pumphistory isf basal_profile profile" oref0 detect-sensitivity

Device to merge NS and local entries

openaps device add merge process --require 'short long' 'jq -s ".[0] + .[1]|unique|sort_by(.dateString)|reverse"'

Reports to get glucose and cal entries and merge local data with Nightscout data

openaps report add monitor/glucose-local.json text oref0 shell copy-fresher /home/indy/cgm-loop/monitor/glucose-raw.json
openaps report add nightscout/glucose-recent.json JSON ns shell oref0_glucose_since -6hours tz

openaps report add monitor/glucose-merge.json JSON merge shell monitor/glucose-local.json nightscout/glucose-recent.json

openaps report add nightscout/cal.json JSON ns shell get entries/cal.json count=1
openaps report add monitor/cal-local.json text oref0 shell copy-fresher /home/indy/cgm-loop/monitor/cal-zoned.json
openaps report add monitor/cal-merge.json JSON merge shell monitor/cal-local.json nightscout/cal.json

openaps report add monitor/glucose.json JSON raw shell monitor/glucose-merge.json monitor/cal-merge.json 250

openaps report add nightscout/glucose-24h.json JSON ns shell oref0_glucose_since -24hours tz
openaps report add monitor/glucose-24h-merge.json JSON merge shell monitor/glucose.json nightscout/glucose-24h.json

openaps report add predict/autosens.json JSON detect-sensitivity shell monitor/glucose-24h-merge.json monitor/pump-history24h-zoned.json monitor/insulin-sensitivities.json monitor/active-basal-profile.json predict/profile.json

Aliases to run the reports

openaps alias add get-bg-ns 'report invoke nightscout/glucose-recent.json nightscout/cal.json'

openaps alias add get-bg-merge 'report invoke monitor/cal-local.json monitor/cal-merge.json monitor/glucose-local.json monitor/glucose-merge.json monitor/glucose.json'

openaps alias add get-bg '! bash -c "(openaps get-bg-ns || echo not able to get BG from Nightscout) && openaps get-bg-merge"'

openaps alias add 24h-etc '! bash -c "(openaps report invoke nightscout/glucose-24h.json || echo not able to get 24h BG from Nighscout) && openaps wait-for-silence && openaps report invoke monitor/glucose-24h-merge.json monitor/pump-history24h.json monitor/pump-history24h-zoned.json predict/autosens.json"'

Clean up NS Status upload

openaps device remove ns-status
openaps report remove monitor/upload-status.json
oref0 device-helper ns-status 'ns-status $*' | openaps import

openaps report add monitor/openaps-status.json JSON ns-status shell monitor/clock-zoned.json predict/iob.json predict/oref0.json control/enacted.json monitor/battery.json monitor/reservoir.json monitor/status.json monitor/mmtune.json --uploader monitor/edison-battery.json
openaps report add nightscout/uploaded-openaps-status.json JSON ns shell upload devicestatus.json monitor/openaps-status.json

openaps alias add status-upload 'report invoke monitor/edison-battery.json monitor/openaps-status.json nightscout/uploaded-openaps-status.json'

Clean up temp targets and carb history

openaps report add nightscout/temp-targets.json JSON ns shell temp_targets

openaps device remove get-profile
openaps device add get-profile process --require "settings bg-targets isf basals prefs carb-ratios temptargets" oref0 get-profile
openaps report add predict/profile.json JSON get-profile shell monitor/settings.json monitor/bg-targets.json monitor/insulin-sensitivities.json monitor/active-basal-profile.json prefs.json monitor/carb-ratios.json nightscout/temp-targets.json --model monitor/model.json


openaps report add nightscout/carb-history.json JSON ns shell carb_history
openaps report add monitor/meal.json JSON meal shell monitor/carbhistory-local.json predict/profile.json monitor/clock-zoned.json monitor/glucose.json monitor/active-basal-profile.json nightscout/carb-history.json

openaps alias add gather-and-upload '! bash -c "openaps history-retry && openaps upload && ((openaps report invoke nightscout/temp-targets.json nightscout/carb-history.json && openaps wait-for-silence && openaps gather) || openaps gather)"'

openaps alias remove ns-temptargets
openaps alias remove ns-carbs

Move meal.json and profile.json from gather to enact

openaps alias add gather '! bash -c "openaps report invoke monitor/active-basal-profile.json monitor/reservoir.json monitor/settings.json monitor/battery.json monitor/bg-targets.json monitor/insulin-sensitivities.json monitor/carb-ratios.json monitor/temp-basal-status.json monitor/latest-treatments.json && grep -q rate monitor/active-basal-profile.json"'

openaps alias add enact '! bash -c "rm -vf predict/oref0.json; openaps report invoke predict/profile.json monitor/meal.json predict/iob.json predict/oref0.json && if (cat predict/oref0.json && grep -q duration predict/oref0.json); then ( rm -vf control/enacted.json && openaps wait-for-silence && openaps report invoke control/enacted.json ) && cat control/enacted.json 2>&1; else echo No action required; fi"'

Remove some old junk

openaps report remove monitor/glucose-ns.json
openaps report remove monitor/glucose-ns24h.json
openaps report remove monitor/cal-ns.json
openaps report remove monitor/temptargets.json
openaps report remove monitor/latest-treatments.json.old
openaps device remove ns-bgnow
openaps device remove ns-bg24h
openaps device remove ns-cal
openaps alias remove get-bg-old
openaps alias remove retry-loop-old
openaps alias remove get-bg-ex
openaps alias remove monitor-dex
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment