Skip to content

Kitekater/Nightscout-on-Raspberry-PI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

Nightscout-on-Raspberry-PI

Installation einer Nightscout Instanz auf einem lokalen Raspberry PI Installation of a nightscout-intance on a local Raspberry PI

Daten in <> durch eigene Daten ersetzen!!!

Schritt 1 - Raspbian Betriebssystem wird vorausgesetzt

Evtl. den ssh Dienst auf dem Pi starten, je nach heimischem Aufbau Den Pi ins lokale Netzwerk bringen und mit einer festen IP versehen. Optional - Den Pi über einen DynDNS Anbieter über das Internet erreichbar machen. Portfreigabe für tcp/1337 im Internetrouter einrichten, um Daten zu empfangen und die Webseite aufrufen zu können.

Schritt 2 - Raspbian aktualisieren

	sudo apt-get update
	sudo apt-get upgrade

Schritt 3 - MongoDB installieren

	sudo apt install mongodb-server
	
Admin User anlegen: 
	Auf der Mongo Shell - mongo:
	
	sudo mongo -shell
	
		use admin
		db.addUser( { user: <"USER">, pwd: <"PASSWORD">, roles: [ "userAdminAnyDatabase" ] } )

Nightscout DB und Nightscout User anlegen: 

		use nightscout
		db.addUser( { user: <"USER_NS">, pwd: <"PASSWORD_NS">, roles: [ "readWrite", "dbAdmin" ] } )

Schritt 4 - NodeJS Genutzt habe ich diese Anleitung: https://github.com/audstanley/NodeJs-Raspberry-Pi/

	sudo wget -O - https://raw.githubusercontent.com/audstanley/NodeJs-Raspberry-Pi/master/Install-Node.sh | sudo bash node -v

Schritt 5 - Nightscout Aktuelle Nightscout Version herunterladen aus dem GIT - https://github.com/nightscout/cgm-remote-monitor/releases (auf dem pi mit git clone)

Kopiere die Sourcen z.B. ins Home Verzechnis des Benutzers pi.
wget https://github.com/nightscout/cgm-remote-monitor/archive/0.10.2.zip

Entpacke die Sourcen
	sudo unzip /home/pi/0.10.2.zip
	
Damit später einfacher ein Update installiert, oder eine andere Version zum testen gesetzt werden kann, wird ein symbolischer Link auf das aktuelle Sourcen Verzeichnis gesetzt.
	sudo ln -s cgm-remote-monitor-0.10.2 nightscout
	sudo chmod 777 cgm-remote-monitor-0.10.2
	
Ins Verzchnis nightscout wechseln und das setup starten.
		./setup.sh
	
Der Installationsvorgang sollte nun ohne Fehler durchlaufen.
Falls nicht schauen ob evtl. Abhängigkeiten nachinstalliert werden müssen.

Schritt 6 - my.env Bevor Nightscout gestartet werden kann muss im Nightscout Verzeichnis eine Konfigurationsdatei angelegt werden. (my.env)

	sudo nano my.env	

Dort werden alle Einstellungen (Konfig, Plugins, etc vorgenommen)
z.B.

				MONGO_CONNECTION=mongodb://<"USER_NS">:<"PASSWORD_NS">@localhost:27017/nightscout
				API_SECRET=<PASSWORD>

				DISPLAY_UNITS=mg/dl

				ENABLE="delta direction timeago devicestatus ar2 profile careportal boluscalc food rawbg iob cob bwp cage sage iage treatmentnotify basal pump openaps upbat errorcodes simplealarms bridge mmconnect loop"
				DISABLE=""

				TIME_FORMAT=24
				NIGHT_MODE=off
				SHOW_RAWBG=always
				THEME=colors

				ALARM_TIMEAGO_WARN=on
				ALARM_TIMEAGO_WARN_MINS=15
				ALARM_TIMEAGO_URGENT=on
				ALARM_TIMEAGO_URGENT_MINS=30

				PROFILE_HISTORY=off
				PROFILE_MULTIPLE=off

				BWP_WARN=0.50
				BWP_URGENT=1.00
				BWP_SNOOZE_MINS=10
				BWP_SNOOZE=0.10

				CAGE_ENABLE_ALERTS=true
				CAGE_INFO=44
				CAGE_WARN=48
				CAGE_URGENT=72
				CAGE_DISPLAY=hours

				SAGE_ENABLE_ALERTS=false
				SAGE_INFO=144
				SAGE_WARN=164
				SAGE_URGENT=166

				IAGE_ENABLE_ALERTS=false
				IAGE_INFO=44
				IAGE_WARN=48
				IAGE_URGENT=72
				BRIDGE_USER_NAME=
				BRIDGE_PASSWORD=
				BRIDGE_INTERVAL=150000
				BRIDGE_MAX_COUNT=1
				BRIDGE_FIRST_FETCH_COUNT=3
				BRIDGE_MAX_FAILURES=3
				BRIDGE_MINUTES=1400

				MMCONNECT_USER_NAME=
				MMCONNECT_PASSWORD=
				MMCONNECT_INTERVAL=60000
				MMCONNECT_MAX_RETRY_DURATION=32
				MMCONNECT_SGV_LIMIT=24
				MMCONNECT_VERBOSE=false
				MMCONNECT_STORE_RAW_DATA=false

				DEVICESTATUS_ADVANCED="true"

				PUMP_ENABLE_ALERTS=true
				PUMP_FIELDS="reservoir battery clock status"
				PUMP_RETRO_FIELDS="reservoir battery clock"
				PUMP_WARN_CLOCK=30
				PUMP_URGENT_CLOCK=60
				PUMP_WARN_RES=50
				PUMP_URGENT_RES=10
				PUMP_WARN_BATT_P=30
				PUMP_URGENT_BATT_P=20
				PUMP_WARN_BATT_V=1.35
				PUMP_URGENT_BATT_V=1.30

				OPENAPS_ENABLE_ALERTS=false
				OPENAPS_WARN=30
				OPENAPS_URGENT=60
				OPENAPS_FIELDS="status-symbol status-label iob meal-assist rssi freq"
				OPENAPS_RETRO_FIELDS="status-symbol status-label iob meal-assist rssi"

				LOOP_ENABLE_ALERTS=false
				LOOP_WARN=30
				LOOP_URGENT=60

				SHOW_PLUGINS=careportal
				SHOW_FORECAST="ar2 openaps"

				LANGUAGE=en
				SCALE_Y=log
				EDIT_MODE=on

Schritt 7 - Start/Stop Skript - Runlevel

Im Nightscout Verzeichnise wird ein startskript angelegt:
	sudo touch start.sh

Folgender Inhalt:
	#!/bin/sh
	(eval $(cat my.env | sed 's/^/export /') && PORT=1337 node server.js) &

Skript ausführbar machen:
	sudo chmod +x start.sh

Mit dem Aufruf im Installationsverzeichnis wird Nightscout gestartet.

./start.sh

Optional für automatischen Start von Nightscout bei Pi-Neustart. (Hat bei mir noch nicht funktioniert.)

Unter /etc/init.d eine Datei (nightscout) anlegen mit folgendem Inhalt. 
WICHTIG - Pfade im Sktipt evtl. anpassen!
cd /etc/init.d
sudo touch nightscout


#! /bin/bash
  	# Carry out specific functions when asked to by the system
case "$1" in
	start)
		echo "Starting Nightscout..."
		sudo -u pi bash -c 'cd /home/pi/nightscout/ && ./start.sh' >/dev/null 2>&1
		;;
	stop)
		echo "Stopping Nightscout..."
		killall node
			sleep 2
	;;
	*)
	echo "Usage: /etc/init.d/nightscout {start|stop}"
exit 1
;;
esac
exit 0	

Damit Nightscout beim neustarten direkt mit gestartet wird, muss noch folgender Befehl als root ausgeführt werden:
	sudo update-rc.d nightscout defaults

So wird das Startskript in die runlevel eingetragen.

Schritt 8 - Es sollte laufen 🙂 Nach einem Neustart des Pi sollte dieser im Netzwerk erreichbar sein unter der zuvor festgelegten IP. http://local-ip:1337

About

Installation einer Nightscout Instanz auf einem lokalen Raspberry PI

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published