send-mime-message.py0000664000175000017500000000354314263614537014302 0ustar schlueschlueimport smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.mime.image import MIMEImage from email.mime.base import MIMEBase from email import encoders username = "YOUR-MAIL-ACCOUNT-HERE" password = "YOUR-PASSWORD-HERE" msg = MIMEMultipart('alternative') msg['Subject'] = "This is a subject" msg['From'] = 'myname.myfamilyname@mydomain.de' msg['To'] = 'yourname.yourname@yourdomain.de' with open('template.html', 'r') as file: text = MIMEText( file.read(), 'html' ) msg.attach(text) with open('./2021-11_DG_WMZ.png', 'rb') as f: # set attachment mime and file name, the image type is png mime = MIMEBase('image', 'png', filename='img1.png') # add required header data: mime.add_header('Content-Disposition', 'attachment', filename='img1.png') mime.add_header('X-Attachment-Id', 'image1') mime.add_header('Content-ID', '') # read attachment file content into the MIMEBase object mime.set_payload(f.read()) # encode with base64 encoders.encode_base64(mime) # add MIMEBase object to MIMEMultipart object msg.attach(mime) with open('./2021-11_DG_WW.png', 'rb') as f: # set attachment mime and file name, the image type is png mime = MIMEBase('image', 'png', filename='img2.png') # add required header data: mime.add_header('Content-Disposition', 'attachment', filename='img2.png') mime.add_header('X-Attachment-Id', 'image2') mime.add_header('Content-ID', '') # read attachment file content into the MIMEBase object mime.set_payload(f.read()) # encode with base64 encoders.encode_base64(mime) # add MIMEBase object to MIMEMultipart object msg.attach(mime) connection = smtplib.SMTP(host='smtp.gmail.com', port=587) connection.starttls() connection.login(username,password) connection.send_message(msg) connection.quit() template.html0000664000175000017500000001753014156727742013136 0ustar schlueschlue
Hallo VOrname,

hier die gesetzlich vorgeschriebenen monatlichen Informationen zu den Verbrauchswerten deiner Wohnung (DG):

Heizinfo
NOVEMBER 2021
Liegenschaft:
Name:
Informationszeitpunkt:
Informationszeitraum:
B�=Strasse 24, Dachgeschoß
VOrname Nachname
16.12.2021
01.11.2021 - 30.11.2021
Absender:
C.& J. NAME
B�=Strasse 24
PLZ Ort
N.N.kwh Heizung
Veränderung unbekannt*
1.120 kwh
Grafik Heizung Verbrauch
*Details zum Verbrauch Vorjahresmonat liegen nicht vor
Der Monat NOVEMBER 2020 war durchschnittlich 0,3°C kälter
N.N.kwh Warmwasser
Veränderung unbekannt*
192 kwh
Grafik Warmwasser Verbrauch
*Details zum Verbrauch Vorjahresmonat liegen nicht vor
Gesamtverbrauch Heizung und Warmwasserbereitung 1.312 kwh
Ihr Monatsverbrauch Heizung im Vergleich
Ihr sparsamster Nachbar:
Ihre Wohnung:
4,58 kwh/m²
13,83 kwh/m²
Spartipps:
Versuchen Sie die Raumtermperatur zu reduzieren.
1° C weniger sparen Sie bereits 6% Energie.

Weitere Informationen und die Möglichkeit einer persönlichen Beratung erhalten Sie hier: www.verbraucherzentrale.de/beratung
Ihr Monatsverbrauch Warmwasserbereitung im Vergleich
Ihr sparsamster Nachbar:
Ihre Wohnung:
0,02 kwh/m²
2,37 kwh/m²
Spartipps:
Nutzen Sie Sparduschköpfe. Sie verbrauchen weniger Wasser ohne Komfortverlust.

Weitere Informationen und die Möglichkeit einer persönlichen Beratung erhalten Sie hier: www.verbraucherzentrale.de/beratung
Der durchschnittiche Heizungs- und Warmwasserenergiebedarf der letzten 12 Monate, bezogen auf Ihre Wohnung entspricht der
Energieeffizienzklasse F von Wohngebäuden (nach Gebäudeenergiegesetz 2014/2020
  Ihre CO2-Emissionen

449 kg
Zum Vergleich:
==> Ein Baum bindet pro Monat ca. 1 kg CO2

Um die Klimaziele 2030 zu erreichen, muss der gesamte Energieverbrauch für Heizung und Warmwasser jedes Jahr um 5,5% sinken.

Ihren persönlichen CO2 Fußabdruck können Sie hier ausrechnen:

uba.co2.rechner.de
WICHTIG: Dieses ist eine gesetzlich verpflichtende monatliche Information. Für die tatsächliche Abrechnung gilt ausschließlich die Jahresabrechnung.


Wohnung DG - zugrunde liegende Details
Verbrauche NOVEMBER 2021
Zähler Zählerstand Verbrauch zu Vormonat (Vormonat) zu Vorjahresmonat (Vorjahresmonat)
WMZ Heizung DG 13.226 kwh 1.120 kwh 0% (1.120 kwh) NA % (NA)
DG Kaltwasser UG 351,662 m³ 0,585 m³ 0% (0,585 m³) NA % (NA)
DG Kaltwasser DG (geschätzt) 1.324,727 m³ 1,727 m³ 0% (1,727 m³) NA % (NA)
DG Warmwasser DG (geschätzt) 1.050,027 m³ 2,027 m³ NA % (NA) NA % (NA)
DG Kaltwasser Spitzboden (wird abgezogen) 160,367 m³ 0,000 m³ 0% (0,000 m³) NA % (NA)
DG Warmwasser Spitzboden (wird abgezogen) 66,610 m³ 0,000 m³ 0% (0,000 m³) NA % (NA)
DG Kaltwasser Summe   2,311 m³ 0% (2,311 m³) NA % (NA)
DG Warmwasser Summe   2,027 m³ 0% (2,027 m³) NA % (NA)
DG Wasser Summe   4,338 m³ 0% (4,338 m³) NA % (NA)
Hauswerte Zählerstand Verbrauch zu Vormonat (Vormonat) zu Vorjahresmonat (Vorjahresmonat)
Strom WEG 37.901 kwh 67 kwh 0% (67 kwh) NA % (NA)
CO2 Wohnung DG
Verbrauche NOVEMBER 2021
Bezeichnung CO2-Verbrauch zu Vormonat (Vormonat) zu Vorjahresmonat (Vorjahresmonat)
Gasheizung DG 356 kg 0% (356 kg) NA % (NA)
Warmwasser DG (geschätzt) 89 kg NA % (NA) NA % (NA)
Anteil WEG-Strom 4 kg 0% (4 kg) NA % (NA)


Bei Fragen und Anmerkungen bitte gerne melden.

Jens
2021-11_DG_WW.png0000664000175000017500000002627014156726036012731 0ustar schlueschluePNG  IHDRu,IDATx^]EGD@{UA@tK& )ҥH" =CJoAzK _e;77̝Yy'|i뜽3/$I$Ij\$I$I}9[$I$lA$IޗI$Iz_^4hG #lׯ5p_<(/sύz g ke#Gl}g% a?7J s#56WI\G~n9Fj~m g R<z헛+s4 a?7Rks9[,Bt+قBѳ\Ax6s4 a?7Rks9[ڢ~sύf{^K. ^fM;#.첶s=| GqWB!lzߜqGԃDM4{{ojLϳz^oFtM 7 GR[3<6cYfs9g(wgkd!&EX# 65tж) iy4NgC<ס$ƾ>ݙP2dH3߯￿5;*Fzkovg_?7V-X =묳5\~MF:^}^_j޳CWnr:yX r`eЛx≿kw;L7_s5,\#VX F=wiaܶ]xG_|q,->T3q<>:y|_oI~qӝy|u/3lFh 6t9zutNׁQ{ϫ_~mjwƈO;xkyutIFl~Q~ /3;s4 a?7Rks9[78xTU?G>ӣ]q{pAT}\\5WRN8ryΚnGo)h֭LVEXB!l O~kVws7W]1%b..>'x$ 30SNy0:5׏}s9he/E)Bt+ق[l1Õ{K/7p]v/>ciq?Cy睫u]+\]zo3 /o|ɿ{f1hРv_9gJ s#56W~롇FS#z+#Y;LfOWOSB|^9Fi~A~n r[bO?.E)9gJ s#56W)Mi4<(/sύ\Ax !] r )B,6W)Mi4<(/sύ\Axs4 a?7Rks9[u9Fi~A~n r 8)&簟y_+ق`!+\A$B r 8)&簟y_+ق@~n9Fj~m g <(/sύ\Ax6s4 a?7Rks9[,Bt+قBѳ\Ax6s4 a?7Rks9[ڢ~sύ5ovm{}Wr˶|30CkС;.o֓O>>g{|Wy/H+ق`;љ衇Z-: 6lV&h}>A/nWo֪.s1Gu5A2T5X0`@5frU'&t 'P?STw.5ӷ~V=NJ>y ~n3p~L?WB^r%Tn{5NdeM[|ZJ~y oOL5T?Om3 9 3l:묭^x Ȯ|'s]O<6R{SݗK4ϩ-H `hjL0rn;[q[31zk53M=dȐ +!_:s[nœ oI#X_FߡZM=ګۮm=`%|{K/t/9ڪu饗VA'O,ԷuYzܕW^٥վ#>g{+;l(sj~m g Rpo^_uU^ͨZhOֹꫫa#a6۴{,֝?p>!Bp",R's N0Q<4Ӵk+\=>s$PLyF1gTL *Fګ0*Cvscj{͈_W\Ps2ܕվߍ}Uܻ956W)vJ#f )'B?&>LA>Fku~M7]}5:Li*~-W^3} y?˔x׭y睷z=B~]ֿUD|~s.dkƕ+1"\p1}Nzf[8f%D_gڗ6k\CWWzL03`?gwdeWCGt'\yNͯlAe\LP^\lł?M!8pLre;0"XXcjUW53k\DÔ.Ǿ&ι}q.&lRބG_{?NYtM+s{5F<Fr\;|u=FфWw9O<ģ]`Kg'Su3=vR-H}#aE:oPS[1@Lx`mpL's?EQ ^zjSY>wy<6K!R r Ni,\Emk4%Lzts_N}J_+ق`[G{aNiݗK4ϩ-H :}JW*ǎ< r Ni}uz;湯N}J_+ق`K ,DK!R r ) K!R r Ni}uz;湯N}J_+ق`_B tCiݗK4ϩ-H :}JW*ǎ< r Ni:'h7 Y\yN/l=W)B!DW-H `!=lApjSM a?7J s#56W)-7<(/sύ\A$pyQ_簟-H6hР%_^~Z~ sύ/~^~Fyxcy+x޺뮻޲Ge]n]t;?מʷnynJO?gyЃ>c=zhm'|﨣zG?3;g}>FjV$)~﮻.7t&;:|:x m{}EK,ė/x?eY^k>1;0[s9|&vT{yk &RKaEM N:rDgy}gz-dv6ӏ0;jf뭷Zy??>Ĩ8 /ٳkv#nacQ }h:Sk _pں#fBz]wh 79h܄ ʺO#|=㏼;=_?\|:L9餓ޫo>`tM+տ;nѨxꩧ>  m^zN{#<%\ߦ+~~U!msce߉Ǎ; \{~[F/`-bc{WcxolBI"x'|o^xl裏~NF0S|ꪫ~^@^z/]tѯN7t#8l>viGx`wW_3v^[OEL34G{<roYgkN?[ck=Gm#_z_=Anͳ0[o>fiFprJpL30ÈQ'fj$H0;?v 'yNܖ_~/ُA[ne03~a5~By'߉p&cgqĎ;8l=cM7T[m/\s~y9߄# s뮺!x?n\BI1.۶Qs馛~2| g9kmqUE6&T3z %m1A c0g;:3mR|Nvfl' > vp*,=8|)Lz$|/5q{M}0xN.: `šQ3AfomQ6L2ZcRkbbUVV7dDz j!ZhO~g?Ymsg~>r-?d5qL+&?mo8vf_?B) 5 `(g&ɎA3naaZ\]| `2{cg&f']m>LVk+=oytJ3zdoQ3l&؋ _|/T2As,[dE2Ķ@Qj۵*ˇM,rnsLq|gy=|}D|s=VZs?3%e5Zwt-EWl1eЕF<A9Cd~T~܎?a7DO2$OpY;0Ws^{6P;SR?c]o0&O~-~/ܦ&b-嘂r9r)m$R6]}9d>G<~ZcIe#"g;m$)c0oРACXv?t饗ɀƀhߊ;ɒ5\3Yr1X /0}uUJjo{3Gد/2mgE3ǕI٘]{jo̅([l+(>;kLSn+4s9߀dvؙӟ~Z3'^wuCٟ\^kRYû_(92 L=Zd4o$ۻ@߽_"NĹzuEP> `(a=*xw7焷 Q/R3q:g0"r"/3v-\krjf+zLח&zR#8/rb,ǡ|sߟQm=~mfC>u |W办Ȇ:\e `h1{o2jbyEן?E$l`c{So^k].h݄82γ ~U_㪋u1ĈΊk:j113mֽ8#ӵX9ゥď8c:}F뵽 Ο9ȳ/3q 'T3q҉F?яF˜gzZ̲q 7ę 9)"8o뽺VfK}0jo>;&'Ik f"8pRz{1h$0x"6\F^LJ، Vv6F)5F~D&feݫ3v5!‡ ꫯn TF*=_XFs eʏ69󮏞 ~'PV؞ ¹~AR "c:ڛ=UCQ'Lc!]`Ě.iff/9vsk\+/X%9Ѱ-#9;,&gSa P/r+cguCqhl|2]T"豮̴+Y O__הc31rL 8(6l_s6<5̤c_ џ>2e^,B̒;TS}rA #b}f<-stE$I$I}9[$I$lA$IޗI$Iz_$I$I} :VZMIENDB`2021-11_DG_WMZ.png0000664000175000017500000002456614156726036013057 0ustar schlueschluePNG  IHDRu)=IDATx^$UٵI$IJR$KV"9(I*EFr@`g. A2H !L[5vϽ|rֳn}]UΩsg3eYe}JZ,˲,k`YeY+i,˲W҂eYeY:tguwA Ry{Pz)~3PBT}>z;zG10Ux1ƘnA3 %-D6k1gyX%bD㶙a(i!t~WZ/bS_+<D=h I=Y3i7D3 %-D6 lJofJZ*mkJ~mGihqP"@T4PBTi Ho-@jGihqP"@T4PBTi5O;J{` a(i!񞂮)myA{Q= CI QPz<[rK+mֺk[zjZg}vW;lx≽{ Z=Xq.jbذa[W} ›_H6?ZtPk}{zmkVZ;۶OcbJ40tM{;i-2=Ϸbɜ|[ /puFSOZy啫gI'mp ={v}~N;:{sѫ>w1:ZlMfHy䑭\غueUAkܫ֎Ӿ隷/:ƘhG{Zs9g瞫wVh=Um•/a|WT8z;|3:ꨱꌆgmVFd38c{̕VZ/RkwB?AoB~~v[o[kf=SU6Q?sz~[nY~ɁuWnW7Q/H|4LSlS~6ÔPoZ^xaU'~G#^iZ<@D=hpo3|sLh{;I{m]r%]wݵ^{U!fejNt7|.ZmĻ;T'e/3}:ɏ5 gjt{T;p_m~*R#l`F`% KOs1{pg{Q= CI QobL1/Sy*zz&xjT̉]O]w]t /P ӽL? SN}K/g߯!k;qߕd .#TAEmXm$nnDM6YW[jV0> ~>O?S`5~ RK-:CC`0ܳ>裫:pGe]vs3#k?N1&&a(i!N@3ic(?gAb-QꫯESܕ MӬ ,@XfsU6ϹP`Z#nݎa4p [_~y {Fnm¹W_eUz}y׳ n]/rONFLrV?S~osswgNLz衽s3cbJNAOHk%bD@3 %-D6>{ J448({` a(i!§y=0UxOAה6ڎ<D=h I=Y3i7D3 %-D6 lJofJZ*mkJ~mGihqP"@T4PBTi Ho-@jGihqP"@T4PBTi5O;J{` a(i!񞂮)myA{Q= CI QP㏯:j̄ Ƙp63 %-D6Ac1&"a(i!9N7|{PzfJZ*m|7?O=(`D@3 %-D6\cA{` a(i!񞂮=0Ux/2-h;1t a(i!񞂮=0Ux/ª=0Uxp==h{ ؃@T4PBTicLJ6-h{ ؃@T4PBTi؃@T4PBTi5zJ){`J?{Q= CI Q",c1݂fJZ*mcLJ){`J?{Q= CI Q"{`J?{Q= CI Qw{PzfJZ*mk=(`D@3 %-D6ދ1t a(i!`c1݂fJZ*mk=(`D@3 %-D6ދj=(`D@3 %-D6\cA{` a(i!񞂮=0Ux/2-h;1t a(i!񞂮=0Ux/ª=0Uxp==h{ ؃@T4PBTicLJ6-h{ ؃@T4PBTi؃@T4PBTi5zJ){`J?{Q= CI Q",c1݂fJZ*mcLJ){`J?{Q= CI Q"{`J?{Q= CI Qw{PzfJZ*mk=(`D@3 %-D6ދ1t a(i!`c1݂fJZ*mk=(`D@3 %-D6ދj=(`D@3 %-D6\cA{` a(i!񞂮=0Ux/2-h;1t a(i!񞂮=0Ux/ª=0Uxp==h{ ؃@T4PBTicLJ6-h{ ؃@T4PBTi؃@T4PBTi5zJ){`J?{Q= CI YW_}|w[oy}N> 4 7uYC9dSO==u^k^yϋ"mac4PBk69S~rE7iۛnUW];N8yw[o=2*{9M6J6-hlQ_׶zC?M2$xI'tC=v3G>|xt?Cs bBaZn?Ohu` Xy?Ou}]w]U'T}jS}m;d/Yf<:t|7Ls!CT73ts%;m?!{z':?K!/ZχO]sMg_w\u2a(iAW65m/nox~g̔ts3ݬeikVu.pك7|_Ouxџ':?>П'z6}m?!}>χmGF]?fqƏ.䒞mFMi{t==hUPmv^zU^xc=&l?ܯ{^e1[ CI Y{K~i~Gj~meyo=Sŝ۟z?Ywuu8c^cJ+T禛nUc&84PB כyȯtA]s5/-ܬ>z~sx}}$mk=(`D@3 %-D6>07J؃@T4PBTi5zJ){`J?{Q= CI Q",c1݂fJZ*mcLJ){`J?{Q= CI Q"{`J?{Q= CI Qw{PzfJZ*mk=(`D@3 %-D6ދ1t a(i!`c1݂fJZ*mk=(`D@3 %-D6ދj=(`D@3 %-D6\cA{` a(i!񞂮=0Ux/2-h;1t a(i!񞂮=0Ux/ª=0Uxp==h{ ؃@T4PBTicLJ6-h{ ؃@T4PBTi؃@T4PBTi5zJ){`J?{Q= CI Q",c1݂fJZ*mcLJ){`J?{Q= CI Q"{`J?{Q= CI Qw{PzfJZ*mk=(`D@3 %-D6ދ1t a(i!`c1݂fJZ*mk=(`D@3 %-D6ދj=(`D@3 %-D6\cA{` a(i!񞂮=0Ux/2-h;1t a(i!񞂮=0Ux/ª=0Uxp==h{ ؃@T4PBTicLJ6-h{ ؃@T4PBTi؃@T4PBTi5zJ){`J?{Q= CI Q",c1݂fJZ*mcLJ){`J?{Q= CI Q"{`J?{Q= CI Qw{PzfJZ*mk=(`D@3 %-D6ދ1t a(i!`c1݂fJZ*mk=(`D@3 %-D6ދj=(`D@3 %-D6\cA{` a(i!񞂮=0Ux/2-h;1t a(i!񞂮=0Ux/ª=0Uxp==h{ ؃@T4PBTicLJ6-h{ ؃@T4PBTi؃@T4PBTi5zJ){`J?{Q= CI Q",c1݂fJZ*mcLJ){`J?{Q= CI Q"{`J?{Q= CI Qw{PzfJZ*mk=(`D@3 %-D6ދ1t a(i!`c1݂fJZ*mk=(`D@3 %-D6ދj=(`D@3 %-D6\cA{` a(i!񞂮=0Ux/2-h;1t a(i!񞂮=0Ux/ª=0Uxp==h{ ؃@T4PBTicLJ6-h{ ؃@T4PBTi؃@T4PBTi5zjСo4r)ӡA Ry{Pz0`YeY+i,˲W҂eYeY˲,˲^I "eMnc1&"%-tJ={ŃnT=#{`PxЍj7/Md,˲,x%-XeY5JZ,˲,k`YSwqw+k z|VQx/ 2dֻYO=3\pK~;%})Z4:#^=s^m<馛կk/k.l5f8蠃^cךzǞ=ë?JZ7w:=vM-BL6dnղ.2,FmvmG몧~fGy ZqfmFnv#y_w}_71;75ߛ? ~[8JZ  >ho~m஻ɹɃ੧:0[z<_qPj-sO;ZϺ_dMP>^5f? {ך{$#(ia|?[_җF_xZ|2\>E=W4L1#L1vYSM5~yu4<` xva_|Kcs}u}b-nJ^cTIh=U?L2Nf$\~m5x|:o/"loO7tp 4_oG?zx~/=#E]y{gqF:{7h3k\z|$:t،3Qsi㫮W@q!LЙgrFf%7l??1f_)~7)v~ccs?d6EZ6͈) [eU%P `sN>9Yy͓#LYю<6M}{H ', \rI/N4̯q עvU'v4sd387ۀ5OY*ia|o~|F?OW;3aUxubpNBk3fjv$qO:.<-M6-B 8 kSNξ r<'PZژ_,ɰ SY͝:P/~vzNj~_ ]wݵ}y!q?)c٧3# W^]fs/6!0'VXὼp2 5ӜB/!C05G6*0/ܣ'|>˷#{?1Sx۠g͵[l]Yo}[@nj^[K'g_h0iΗroY=B^q)yLBv}c'pB6|6EW׹/i# rˌ Ɋr59l(BYB;o7JZ"lv H]9p\;ZP0'h9An`q pqq4GsMqr:s)v\5pp=~ozo7/}M7޺j;#|?n0̷Y7}|x|jMr~y{]{92DJe9}3zK/3Zbه?u#31Z4Wr~;e/?o‡b[)3Xcg/~-nQcf5(0.;w3qR_GfeY>hi_l.<|/~A3c5 N9oN=僎/ga@ݗpp3gOgTQ}o}̽|0s3n;! KR+l89v:闠Z}JZ,˲,k`YeY+i,˲W҂eYeY˲,˲^f4.MIENDB`