|
@@ -0,0 +1,28 @@ |
|
|
|
|
|
#!/bin/bash |
|
|
|
|
|
# Run all necessary processing on NilmDB data. |
|
|
|
|
|
|
|
|
|
|
|
# Bail out on errors |
|
|
|
|
|
set -e |
|
|
|
|
|
|
|
|
|
|
|
# Ensure only one copy of this code runs at a time: |
|
|
|
|
|
LOCKFILE="/tmp/nilmdb-process.lock" |
|
|
|
|
|
exec 99>"$LOCKFILE" |
|
|
|
|
|
if ! flock -n -x 99 ; then |
|
|
|
|
|
echo "NilmDB processing already running, giving up..." |
|
|
|
|
|
exit 0 |
|
|
|
|
|
fi |
|
|
|
|
|
trap 'rm -f "$LOCKFILE"' 0 |
|
|
|
|
|
|
|
|
|
|
|
# sinefit on phase A voltage |
|
|
|
|
|
nilm-sinefit -c 5 /sharon/raw /sharon/sinefit |
|
|
|
|
|
|
|
|
|
|
|
# prep on A, B, C with appropriate rotations |
|
|
|
|
|
nilm-prep -c 1 -r 0 /sharon/raw /sharon/sinefit /sharon/prep-a |
|
|
|
|
|
nilm-prep -c 2 -r 120 /sharon/raw /sharon/sinefit /sharon/prep-b |
|
|
|
|
|
nilm-prep -c 3 -r 240 /sharon/raw /sharon/sinefit /sharon/prep-c |
|
|
|
|
|
|
|
|
|
|
|
# decimate raw and prep data |
|
|
|
|
|
nilm-decimate-auto /sharon/raw /sharon/prep* |
|
|
|
|
|
|
|
|
|
|
|
# run cleanup |
|
|
|
|
|
nilm-cleanup --yes /home/nilm/data/cleanup.cfg |