From ff2b35179ae84e4b4c2c5b07aba25d29650d6cf9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rnR?= Date: Thu, 27 Oct 2022 21:30:57 +0200 Subject: [PATCH] DB ist drin --- .gitignore | 1 + exportCSV.sql | 9 +++++++++ init_db.py | 23 +++++++++++++++++++++++ mailCSVDump.sh | 26 ++++++++++++++++++++++++++ schema.sql | 10 ++++++++++ 5 files changed, 69 insertions(+) create mode 100644 exportCSV.sql create mode 100755 init_db.py create mode 100755 mailCSVDump.sh create mode 100644 schema.sql diff --git a/.gitignore b/.gitignore index 5645a7f..00a4441 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ app.cpython-310.pyc +energiemon.db diff --git a/exportCSV.sql b/exportCSV.sql new file mode 100644 index 0000000..dff52f9 --- /dev/null +++ b/exportCSV.sql @@ -0,0 +1,9 @@ +/*.open registrierung.db*/ +.mode csv +.separator ';' +.header on +select id, datetime(zeitpunkt,"localtime") as zeitpunkt, gaszaehler,stromzaehler,wasserzaehler,wetterinfo + from eintraege; + +# zeitpunkt,gaszaehler,stromzaehler,wasserzaehler,wetterinfo + diff --git a/init_db.py b/init_db.py new file mode 100755 index 0000000..9b119ee --- /dev/null +++ b/init_db.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python3 +import sqlite3 + +connection = sqlite3.connect('energiemon.db') + + +with open('schema.sql') as f: + connection.executescript(f.read()) + +cur = connection.cursor() + +cur.execute("INSERT INTO eintraege ( gaszaehler, stromzaehler, wasserzaehler, wetterinfo) VALUES ( ?, ?, ?, ?)", + ('12', '', '', 'kalt aber trocken') + ) +cur.execute("INSERT INTO eintraege ( gaszaehler, stromzaehler, wasserzaehler, wetterinfo) VALUES ( ?, ?, ?, ?)", + ('', '13', '', 'kalt aber oho') + ) +cur.execute("INSERT INTO eintraege ( gaszaehler, stromzaehler, wasserzaehler, wetterinfo) VALUES ( ?, ?, ?, ?)", + ('', '', '127', 'kalt aber oho') + ) + +connection.commit() +connection.close() \ No newline at end of file diff --git a/mailCSVDump.sh b/mailCSVDump.sh new file mode 100755 index 0000000..c502bdf --- /dev/null +++ b/mailCSVDump.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash +# +# Mailt den CSV Dump der Datenbank an Mailziel +# + +MAILZIEL=br@runden.net +CWD=$(dirname $0) +TODAY=$(date +"%Y-%m-%d") +SQLITE3=/usr/bin/sqlite3 +DATABQL=$CWD/energiemon.db +SQLTXTFILE=$CWD/exportCSV.sql +CSVDUMP=$CWD/energiemon_$TODAY.csv +# DEBUG echo $SQLITE3 $DATABQL LT $SQLTXTFILE GT $CSVDUMP +$SQLITE3 $DATABQL < $SQLTXTFILE > $CSVDUMP + +mv $CSVDUMP $CSVDUMP.utf +/usr/bin/iconv -t windows-1252 -f utf-8 $CSVDUMP.utf > $CSVDUMP + +echo -en "Hallo Björn, \nAnbei die Zählerdaten \n" \ + "von https://energiemon.chamäleoncloud.de \n\n"\ + "Viele Grüße von der ChamäleonCloud \n\n" | \ + /usr/bin/mutt -a $CSVDUMP -s "Energiemon Zählerstände vom $TODAY" -- $MAILZIEL + +# Aufräumen +/usr/bin/find $CWD \( -iname "*.csv" -o -iname "*csv.utf" \) -mtime +29 -delete + diff --git a/schema.sql b/schema.sql new file mode 100644 index 0000000..060bc16 --- /dev/null +++ b/schema.sql @@ -0,0 +1,10 @@ +DROP TABLE IF EXISTS eintraege; + +CREATE TABLE eintraege ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + zeitpunkt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + gaszaehler TEXT DEFAULT "", + stromzaehler TEXT DEFAULT "", + wasserzaehler TEXT DEFAULT "", + wetterinfo TEXT DEFAULT "" +);