33 lines
		
	
	
		
			954 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			954 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/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
 | |
| 
 | |
| # redirect stdout/stderr to log, but keep it on the console too
 | |
| exec >  >(tee /home/nilm/data/process.log)
 | |
| exec 2> >(tee -a /home/nilm/data/process.log >&2)
 | |
| 
 | |
| echo "sinefit on phase A voltage"
 | |
| nilm-sinefit -c 5 /sharon/raw /sharon/sinefit
 | |
| 
 | |
| echo "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
 | |
| 
 | |
| echo "decimate raw and prep data"
 | |
| nilm-decimate-auto /sharon/raw /sharon/prep*
 | |
| 
 | |
| echo "run cleanup"
 | |
| nilm-cleanup --yes /home/nilm/data/cleanup.cfg
 | 
