I RRDTool How To finns en liten kodsnutt för att läsa in tempdata från EN sensor till EN RRD fil.
Kod: Markera allt
#!/bin/bash
OutsideTempSensor="10.51777C010800"
RRDDataDirectory="/home/anders/rrddata/"
RRDDataFile="outside_temp.rrd"
# Get temps form OWFS
OutsideTemp=`cat /mnt/1wire/$OutsideTempSensor/temperature|sed -e s/" "//g|awk '{$1=$1 + 0.005;printf "%.2f", $1}'`
#Update RRD database
rrdtool update $RRDDataDirectory$RRDDataFile N:$OutsideTemp
echo $OutsideTemp
# 1-WIRE ENHETER
# Rökgas temp DS: SmokeTemp RRD: SmokeTemp.rrd ID: 30.164FB5120000 Type: "/TypeK"
# Pann temp DS: BoilerTemp RRD: BoilerTemp.rrd ID: 28.xxxxxxxxxxxx Type: Null
# Panna-in temp DS: BoilerInTemp RRD: BoilerInTemp.rrd ID: 28.xxxxxxxxxxxx Type: Null
# Ack-retur temp DS: AckReturnTemp RRD: AckReturnTemp.rrd ID: 28.xxxxxxxxxxxx Type: Null
# Radiator retur temp DS: RadiatorInTemp RRD: RadiatorInTemp.rrd ID: 28.xxxxxxxxxxxx Type: Null
# Radiator fram temp DS: RadiatorOutTemp RRD: RadiatorOutTemp.rrd ID: 28.xxxxxxxxxxxx Type: Null
# Acktank 1 (översta) DS: Ack1Temp RRD: Ack1Temp.rrd ID: 28.xxxxxxxxxxxx Type: Null
# Acktank 2 DS: Ack2Temp RRD: Ack2Temp.rrd ID: 28.xxxxxxxxxxxx Type: Null
# Acktank 3 DS: Ack3Temp RRD: Ack3Temp.rrd ID: 28.xxxxxxxxxxxx Type: Null
# Acktank 4 (nedersta) DS: Ack4Temp RRD: Ack4Temp.rrd ID: 28.xxxxxxxxxxxx Type: Null
# i="Räknare för loop (antal temp sensorer)
(Rökgasgivaren är den enda jag just nu har det exakta Id numret till)
Men nu lästa jag på nätet att bash inte hanterar matriser.
jag vet att detta borde vara väldigt basic men snälla, hjälp en VÄLDIGT ringrostig programmerare på traven; måste jag gå över till perl (som jag inte heller behärskar) eller hur fixa på galant sätt?