Compare commits
8
Commits
639b7669db
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e6be25b340 | ||
|
|
472a6d9654 | ||
|
|
48a470ce34 | ||
|
|
23c61b7ef8 | ||
|
|
50fe3c0085 | ||
|
|
4f690b9b71 | ||
|
|
c0994119eb | ||
|
|
e412111edb |
No files matched your search
@@ -4,3 +4,6 @@ gtVi.py
|
||||
__pycache__/
|
||||
energiemon_*.csv
|
||||
energiemon_*.csv.utf
|
||||
csv/*
|
||||
energiemon.db--
|
||||
energiemon.BAK.db
|
||||
@@ -0,0 +1,17 @@
|
||||
/*.open energiemon.db*/
|
||||
.mode csv
|
||||
.separator ';'
|
||||
.header on
|
||||
|
||||
select id,datetime(zeitpunkt,"localtime")as zeitpunkt,gaszaehler,wetterinfo
|
||||
, replace (gasval,'.',',') as gasval
|
||||
, replace (vorgasval,'.',',') as vorgasval
|
||||
, replace (gasvolumen,'.',',') as gasvolumen
|
||||
, replace (zeitspannestd,'.',',') as zeitspannestd
|
||||
, replace (gasvolumen24,'.',',') as gasvolumen24
|
||||
, replace (gasfaktor,'.',',') as gasfaktor
|
||||
, replace (gasverbrauchKWhauf24,'.',',') as gasverbrauchKWhauf24
|
||||
, replace (GradCelsiusAussen,'.',',') as GradCelsiusAussen
|
||||
|
||||
from vgasroh ;
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
/*.open energiemon.db*/
|
||||
.mode csv
|
||||
.separator ';'
|
||||
.header on
|
||||
|
||||
select mon
|
||||
, replace (gasKWhSum,'.',',') as gasKWhSum
|
||||
, replace (stromKWhSum,'.',',') as stromKWhSum
|
||||
, replace (wasserQmSum,'.',',') as wasserQmSum
|
||||
from vmonatssummen ;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*.open registrierung.db*/
|
||||
/*.open energiemon.db*/
|
||||
.mode csv
|
||||
.separator ';'
|
||||
.header on
|
||||
@@ -0,0 +1,13 @@
|
||||
/*.open energiemon.db*/
|
||||
.mode csv
|
||||
.separator ';'
|
||||
.header on
|
||||
|
||||
select id,datetime(zeitpunkt,"localtime")as zeitpunkt,stromzaehler,wetterinfo
|
||||
, replace (stromval,'.',',') as stromval
|
||||
, replace (vorstromval,'.',',') as vorstromval
|
||||
, replace (stromverzehr,'.',',') as stromverzehr
|
||||
, replace (zeitspannestd,'.',',') as zeitspannestd
|
||||
, replace (stromverzehr24,'.',',') as stromverzehr24
|
||||
from vstromroh ;
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
/*.open energiemon.db*/
|
||||
.mode csv
|
||||
.separator ';'
|
||||
.header on
|
||||
|
||||
select id,datetime(zeitpunkt,"localtime")as zeitpunkt,wasserzaehler,wetterinfo
|
||||
, replace (wasserval,'.',',') as wasserval
|
||||
, replace (vorwasserval,'.',',') as vorwasserval
|
||||
, replace (wasserverbrauch,'.',',') as wasserverbrauch
|
||||
, replace (zeitspannestd,'.',',') as zeitspannestd
|
||||
, replace (wasserverbrauch24,'.',',') as wasserverbrauch24
|
||||
from vwasserroh ;
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
/*.open energiemon.db*/
|
||||
.mode csv
|
||||
.separator ';'
|
||||
.header on
|
||||
|
||||
select KW
|
||||
, replace (gasKWhSum,'.',',') as gasKWhSum
|
||||
, replace (stromKWhSum,'.',',') as stromKWhSum
|
||||
, replace (wasserQmSum,'.',',') as wasserQmSum
|
||||
, replace (gasfaktor,'.',',') as gasfaktor
|
||||
from vwochensummen ;
|
||||
|
||||
+53
-9
@@ -3,24 +3,68 @@
|
||||
# Mailt den CSV Dump der Datenbank an Mailziel
|
||||
#
|
||||
|
||||
MAILZIEL="br@runden.de denise@runden.de"
|
||||
function toWin() {
|
||||
mv $1 $1.utf
|
||||
/usr/bin/iconv -t windows-1252 -f utf-8 $1.utf > $1
|
||||
rm $1.utf
|
||||
}
|
||||
|
||||
MAILZIEL="br@runden.de"
|
||||
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
|
||||
CSVSUBDIR=$CWD/csv
|
||||
mkdir -p $CSVSUBDIR
|
||||
|
||||
#rohdaten
|
||||
DATEN=rohdaten
|
||||
SQLTXTFILE=$CWD/export${DATEN}.sql
|
||||
CSVDUMP=$CSVSUBDIR/${DATEN}_${TODAY}.csv
|
||||
$SQLITE3 $DATABQL < $SQLTXTFILE > $CSVDUMP
|
||||
toWin $CSVDUMP
|
||||
|
||||
#gasdaten
|
||||
DATEN=gasdaten
|
||||
SQLTXTFILE=$CWD/export${DATEN}.sql
|
||||
CSVDUMP=$CSVSUBDIR/${DATEN}_${TODAY}.csv
|
||||
$SQLITE3 $DATABQL < $SQLTXTFILE > $CSVDUMP
|
||||
toWin $CSVDUMP
|
||||
|
||||
#stromdaten
|
||||
DATEN=stromdaten
|
||||
SQLTXTFILE=$CWD/export${DATEN}.sql
|
||||
CSVDUMP=$CSVSUBDIR/${DATEN}_${TODAY}.csv
|
||||
$SQLITE3 $DATABQL < $SQLTXTFILE > $CSVDUMP
|
||||
toWin $CSVDUMP
|
||||
|
||||
#wasserdaten
|
||||
DATEN=wasserdaten
|
||||
SQLTXTFILE=$CWD/export${DATEN}.sql
|
||||
CSVDUMP=$CSVSUBDIR/${DATEN}_${TODAY}.csv
|
||||
$SQLITE3 $DATABQL < $SQLTXTFILE > $CSVDUMP
|
||||
toWin $CSVDUMP
|
||||
|
||||
#monatssummen
|
||||
DATEN=monatssummen
|
||||
SQLTXTFILE=$CWD/export${DATEN}.sql
|
||||
CSVDUMP=$CSVSUBDIR/${DATEN}_${TODAY}.csv
|
||||
$SQLITE3 $DATABQL < $SQLTXTFILE > $CSVDUMP
|
||||
toWin $CSVDUMP
|
||||
|
||||
#wochensummen
|
||||
DATEN=wochensummen
|
||||
SQLTXTFILE=$CWD/export${DATEN}.sql
|
||||
CSVDUMP=$CSVSUBDIR/${DATEN}_${TODAY}.csv
|
||||
$SQLITE3 $DATABQL < $SQLTXTFILE > $CSVDUMP
|
||||
toWin $CSVDUMP
|
||||
|
||||
echo -en "Hallo zusammen, \nAnbei die Zählerdaten \n" \
|
||||
"von https://enermon.chmln.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
|
||||
/usr/bin/mutt -a $CSVSUBDIR/*$TODAY.csv -s "Energiemon Zählerstände vom $TODAY" -- $MAILZIEL
|
||||
|
||||
# Aufräumen
|
||||
/usr/bin/find $CWD \( -iname "*.csv" -o -iname "*csv.utf" \) -mtime +29 -delete
|
||||
/usr/bin/find $CSVSUBDIR \( -iname "*.csv" -o -iname "*csv.utf" \) -mtime +29 -delete
|
||||
|
||||
Whitespace-only changes.
+269
@@ -0,0 +1,269 @@
|
||||
drop view if exists gasroh;
|
||||
drop view if exists vgasroh;
|
||||
create view vgasroh as
|
||||
|
||||
SELECT id,zeitpunkt,gaszaehler,wetterinfo
|
||||
, CAST(replace(gaszaehler ,',','.') as float) as gasval,
|
||||
|
||||
lag ( CAST(replace(gaszaehler ,',','.') as float) ,1 ) over (order by id)
|
||||
as vorgasval
|
||||
|
||||
,
|
||||
case when
|
||||
round(
|
||||
( CAST(replace(gaszaehler ,',','.') as float)) - (lag ( CAST(replace(gaszaehler ,',','.') as float),1 ) over (order by id))
|
||||
,3)
|
||||
is null then 0.0
|
||||
else
|
||||
round(
|
||||
( CAST(replace(gaszaehler ,',','.') as float)) - (lag ( CAST(replace(gaszaehler ,',','.') as float),1 ) over (order by id))
|
||||
,3)
|
||||
end
|
||||
as gasvolumen
|
||||
|
||||
, ( julianday(zeitpunkt) - julianday ( ( lag(zeitpunkt,1) over (order by id) ) ) ) * 24.0
|
||||
as zeitspannestd
|
||||
|
||||
,
|
||||
( ( CAST(replace(gaszaehler ,',','.') as float)) - (lag ( CAST(replace(gaszaehler ,',','.') as float),1 ) over (order by id)) )
|
||||
/( ( julianday(zeitpunkt) - julianday ( ( lag(zeitpunkt,1) over (order by id) ) ) ) * 24.0 )
|
||||
* 24.0 as gasvolumen24
|
||||
|
||||
, 10.0 as gasfaktor
|
||||
|
||||
, case when
|
||||
( ( CAST(replace(gaszaehler ,',','.') as float)) - (lag ( CAST(replace(gaszaehler ,',','.') as float),1 ) over (order by id)) )
|
||||
/( ( julianday(zeitpunkt) - julianday ( ( lag(zeitpunkt,1) over (order by id) ) ) ) * 24.0 )
|
||||
is null then 0.0
|
||||
else
|
||||
10.0 * (
|
||||
( ( CAST(replace(gaszaehler ,',','.') as float)) - (lag ( CAST(replace(gaszaehler ,',','.') as float),1 ) over (order by id)) )
|
||||
/( ( julianday(zeitpunkt) - julianday ( ( lag(zeitpunkt,1) over (order by id) ) ) ) * 24.0 )
|
||||
* 24.0
|
||||
)
|
||||
|
||||
end
|
||||
as gasverbrauchKWhauf24
|
||||
|
||||
, cast ( substr(wetterinfo, 0,instr(wetterinfo,'°C|')) as float)
|
||||
as GradCelsiusAussen
|
||||
|
||||
from eintraege where gaszaehler>0 ;
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
|
||||
drop view if exists gassum;
|
||||
drop view if exists vgassum;
|
||||
create view vgassum as
|
||||
|
||||
select
|
||||
cast ( strftime('%Y%m' ,zeitpunkt) as INTEGER ) as mon
|
||||
,round ( sum(gasvolumen ),3) * max(gasfaktor) as gasKWhSum
|
||||
,max(gasfaktor) as gasfaktor
|
||||
from vgasroh
|
||||
group by mon
|
||||
;
|
||||
|
||||
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
|
||||
drop view if exists vstromroh;
|
||||
create view vstromroh as
|
||||
|
||||
SELECT id,zeitpunkt,stromzaehler,wetterinfo
|
||||
, CAST(replace(stromzaehler ,',','.') as float) as stromval,
|
||||
|
||||
lag ( CAST(replace(stromzaehler ,',','.') as float) ,1 ) over (order by id)
|
||||
as vorstromval
|
||||
|
||||
,
|
||||
case when
|
||||
round(
|
||||
( CAST(replace(stromzaehler ,',','.') as float)) - (lag ( CAST(replace(stromzaehler ,',','.') as float),1 ) over (order by id))
|
||||
,3)
|
||||
is null then 0.0
|
||||
else
|
||||
round(
|
||||
( CAST(replace(stromzaehler ,',','.') as float)) - (lag ( CAST(replace(stromzaehler ,',','.') as float),1 ) over (order by id))
|
||||
,3)
|
||||
end
|
||||
as stromverzehr
|
||||
|
||||
, ( julianday(zeitpunkt) - julianday ( ( lag(zeitpunkt,1) over (order by id) ) ) ) * 24.0
|
||||
as zeitspannestd
|
||||
|
||||
,
|
||||
( ( CAST(replace(stromzaehler ,',','.') as float)) - (lag ( CAST(replace(stromzaehler ,',','.') as float),1 ) over (order by id)) )
|
||||
/( ( julianday(zeitpunkt) - julianday ( ( lag(zeitpunkt,1) over (order by id) ) ) ) * 24.0 )
|
||||
* 24.0 as stromverzehr24
|
||||
|
||||
|
||||
|
||||
from eintraege where stromzaehler>0 ;
|
||||
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
|
||||
drop view if exists vstromsum;
|
||||
create view vstromsum as
|
||||
|
||||
select
|
||||
cast ( strftime('%Y%m' ,zeitpunkt) as INTEGER ) as mon
|
||||
|
||||
,round ( sum(stromverzehr ),3) as stromKWhSum
|
||||
|
||||
from vstromroh
|
||||
group by mon
|
||||
;
|
||||
|
||||
|
||||
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
|
||||
drop view if exists vwasserroh;
|
||||
create view vwasserroh as
|
||||
|
||||
SELECT id,zeitpunkt,wasserzaehler,wetterinfo
|
||||
, CAST(replace(wasserzaehler ,',','.') as float) as wasserval,
|
||||
|
||||
lag ( CAST(replace(wasserzaehler ,',','.') as float) ,1 ) over (order by id)
|
||||
as vorwasserval
|
||||
|
||||
,
|
||||
case when
|
||||
round(
|
||||
( CAST(replace(wasserzaehler ,',','.') as float)) - (lag ( CAST(replace(wasserzaehler ,',','.') as float),1 ) over (order by id))
|
||||
,3)
|
||||
is null then 0.0
|
||||
else
|
||||
round(
|
||||
( CAST(replace(wasserzaehler ,',','.') as float)) - (lag ( CAST(replace(wasserzaehler ,',','.') as float),1 ) over (order by id))
|
||||
,3)
|
||||
end
|
||||
as wasserverbrauch
|
||||
|
||||
, ( julianday(zeitpunkt) - julianday ( ( lag(zeitpunkt,1) over (order by id) ) ) ) * 24.0
|
||||
as zeitspannestd
|
||||
|
||||
,
|
||||
( ( CAST(replace(wasserzaehler ,',','.') as float)) - (lag ( CAST(replace(wasserzaehler ,',','.') as float),1 ) over (order by id)) )
|
||||
/( ( julianday(zeitpunkt) - julianday ( ( lag(zeitpunkt,1) over (order by id) ) ) ) * 24.0 )
|
||||
* 24.0 as wasserverbrauch24
|
||||
|
||||
|
||||
|
||||
from eintraege where wasserzaehler>0 ;
|
||||
|
||||
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
|
||||
|
||||
drop view if exists vwassersum;
|
||||
create view vwassersum as
|
||||
|
||||
select
|
||||
cast ( strftime('%Y%m' ,zeitpunkt) as INTEGER ) as mon
|
||||
|
||||
,round ( sum(wasserverbrauch ),3) as wasserQmSum
|
||||
|
||||
from vwasserroh
|
||||
group by mon
|
||||
;
|
||||
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
drop view if EXISTS vmonatssummen;
|
||||
|
||||
create view vmonatssummen as
|
||||
|
||||
SELECT w.mon, w.wasserQmSum, s.stromKWhSum, g.gasKWhSum
|
||||
|
||||
FROM vwassersum as w
|
||||
left join vstromsum as s on w.mon = s.mon
|
||||
left join vgassum as g on w.mon = g.mon
|
||||
;
|
||||
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
DROP VIEW if EXISTS vgasweeksum ;
|
||||
CREATE VIEW vgasweeksum as
|
||||
|
||||
select
|
||||
cast ( strftime('%Y%W' ,zeitpunkt) as INTEGER ) as KW
|
||||
,round ( sum(gasvolumen ),3) * max(gasfaktor) as gasKWhSum
|
||||
,max(gasfaktor) as gasfaktor
|
||||
from vgasroh
|
||||
group by KW;
|
||||
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
DROP VIEW if EXISTS vstromweeksum ;
|
||||
CREATE VIEW vstromweeksum as
|
||||
|
||||
select
|
||||
cast ( strftime('%Y%W' ,zeitpunkt) as INTEGER ) as KW
|
||||
,round ( sum(stromverzehr ),3) as stromKWhSum
|
||||
|
||||
from vstromroh
|
||||
group by KW;
|
||||
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
|
||||
DROP VIEW if exists "main"."vwasserweeksum";
|
||||
CREATE VIEW vwasserweeksum as
|
||||
|
||||
select
|
||||
cast ( strftime('%Y%W' ,zeitpunkt) as INTEGER ) as KW
|
||||
|
||||
,round ( sum(wasserverbrauch ),3) as wasserQmSum
|
||||
|
||||
from vwasserroh
|
||||
group by KW
|
||||
|
||||
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
-- ------------------------------------------------------------------------------
|
||||
|
||||
|
||||
DROP VIEW if EXISTS "main"."vwochensummen";
|
||||
CREATE VIEW vwochensummen as
|
||||
|
||||
SELECT w.KW, w.wasserQmSum, s.stromKWhSum, g.gasKWhSum, g.gasfaktor
|
||||
|
||||
FROM vwasserweeksum as w
|
||||
left join vstromweeksum as s on w.KW = s.KW
|
||||
left join vgasweeksum as g on w.KW = g.KW
|
||||
Reference in new issue
Block a user