Skip to content

Instantly share code, notes, and snippets.

@MAFLO321
Forked from raelga/rdd-to-sql
Last active December 26, 2015 00:49
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 MAFLO321/7066793 to your computer and use it in GitHub Desktop.
Save MAFLO321/7066793 to your computer and use it in GitHub Desktop.
Export Fröling data to SQL.
echo '--
-- Tabellenstruktur für Tabelle `data`
--
' >> data.sql;
echo 'CREATE TABLE IF NOT EXISTS `data` (
`timestamp` date NOT NULL COMMENT 'Uhr',
`Zustand` text,
`Kesseltemp` int(11) DEFAULT NULL COMMENT '°C',
`Abgastemp` int(11) DEFAULT NULL COMMENT '°C',
`Kesselstrg` int(11) DEFAULT NULL COMMENT '%',
`Primärluft ist` int(11) DEFAULT NULL COMMENT '%',
`Rest O2 ist` int(11) DEFAULT NULL COMMENT '%',
`O2 Regler` int(11) DEFAULT NULL COMMENT '%',
`Sekundärluft ist` int(11) DEFAULT NULL COMMENT '%',
`Saugzug Soll` int(11) DEFAULT NULL COMMENT '%',
`Saugzug Ist` int(11) DEFAULT NULL COMMENT 'U/min',
`Abgastemp Soll` int(11) DEFAULT NULL COMMENT '°C',
`Einschub Ist` int(11) DEFAULT NULL COMMENT '%',
`O2 Regler Pell` int(11) DEFAULT NULL COMMENT '%',
`Füllstand` int(11) DEFAULT NULL COMMENT '%',
`Strom Stoker` int(11) DEFAULT NULL COMMENT 'A',
`Strom Foerder` int(11) DEFAULT NULL COMMENT 'A',
`Fühler 1` int(11) DEFAULT NULL COMMENT '°C',
`Kesselsoll` int(11) DEFAULT NULL COMMENT '°C',
`Pufferoben` int(11) DEFAULT NULL COMMENT '°C',
`Pufferunten` int(11) DEFAULT NULL COMMENT '°C',
`Pufferpumpe` int(11) DEFAULT NULL COMMENT '%',
`Boiler 1` int(11) DEFAULT NULL COMMENT '°C',
`Vorlauf 1` int(11) DEFAULT NULL COMMENT '°C',
`Vorlauf 2` int(11) DEFAULT NULL COMMENT '°C',
`HK Pumpe 1` int(11) DEFAULT NULL,
`HK Pumpe 2` int(11) DEFAULT NULL,
`Aussentemp` int(11) DEFAULT NULL COMMENT '°C',
`Kollektortemp` int(11) DEFAULT NULL COMMENT '°C',
`Betriebsstunden` int(11) DEFAULT NULL COMMENT 'h',
`Fehler` text,
`Rpi-Temp` int(11) DEFAULT NULL COMMENT '°C',
`Fehler [int]` tinyint(1) DEFAULT NULL,
`Raumtemp` int(11) DEFAULT NULL COMMENT '°C',
PRIMARY KEY (`timestamp`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;' >> data.sql;
echo '
--
-- Daten für Tabelle `data`
--
' >> data.sql;
for rrd in *rrd;
do
echo $rrd
rrdtool dump $rrd $rrd.xml;
c=""
#host=`echo $rrd | sed 's/\(.*\)_\(.*\)\.rrd/\1/'`;
id=`echo $rrd | sed 's/\(.*\)_\(.*\)\.rrd/\2/'`;
case $id in
1) c='Zustand' ;;
2) c='Kesseltemp' ;;
3) c='Abgastemp' ;;
4) c='Kesselstrg' ;;
5) c='Primärluft ist' ;;
6) c='Rest O2 ist' ;;
7) c='O2 Regler' ;;
8) c='Sekundärluft ist' ;;
9) c='Saugzug Soll' ;;
10) c='Saugzug Ist' ;;
11) c='Abgastemp Soll' ;;
12) c='Einschub Ist' ;;
13) c='O2 Regler Pell' ;;
14) c='Füllstand' ;;
15) c='Strom Stoker' ;;
16) c='Strom Foerder' ;;
17) c='Fühler 1' ;;
18) c='Kesselsoll' ;;
20) c='Pufferoben' ;;
21) c='Pufferunten' ;;
22) c='Pufferpumpe' ;;
23) c='Boiler 1' ;;
24) c='Vorlauf 1' ;;
25) c='Vorlauf 2' ;;
26) c='HK Pumpe 1' ;;
27) c='HK Pumpe 2' ;;
28) c='Aussentemp' ;;
29) c='Kollektortemp' ;;
30) c='Betriebsstunden' ;;
99) c='Fehler' ;;
100) c='Rpi-Temp' ;;
101) c='Fehler [int]' ;;
102) c='Raumtemp' ;;
esac
if [ "$c" ]
then
sed -n "s@.*-- \(.*\) CEST.*<v>\(.*\)</v></row>@INSERT INTO \`data\`(\`timestamp\`, \`$c\`) VALUES (\'\1\',\'\2\');@p" $rrd.xml >> data.sql;
fi
rm $rrd.xml;
done;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment