erster Commit

This commit is contained in:
2025-12-27 05:28:02 +01:00
commit 68040fe5cc
4 changed files with 126 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
## Ladeprotokoll.py
+42
View File
@@ -0,0 +1,42 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Sun Jun 23 14:23:26 2024
@author: sven
"""
import requests
def send_request(vdat):
# GET http://homeassistant.local:8123/api/history/period
response = ''
# vondatum = "2024-06-20T14:08:00.0000+00:00"
bisdatum = vdat
vdat = '"' + vdat + '"'
try:
response = requests.get(
url="http://homeassistant.local:8123/api/history/period",
params={
vdat: "null",
"filter_entity_id": "sensor.id_4_pro_performance_150_kw_204_ps_odometer",
"minimal_response": "null",
"end_time": bisdatum,
"no_attributes": "null"
},
headers={
"Authorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiI1ZmNhNDVkZWQ1Mzg0MDZmOTY0NWVjOTI0MDNmYTEwNiIsImlhdCI6MTcxODk3Nzg5NiwiZXhwIjoyMDM0MzM3ODk2fQ.BGuVaCR9UM4O_LqYlcLd4LRLM8F_Vwnb9oU_xwh0Wew",
"Content-Type": "application/x-www-form-urlencoded",
},
data={
},
)
return response
# print('Response HTTP Status Code: {status_code}'.format(
# status_code=response.status_code))
# print('Response HTTP Response Body: {content}'.format(
# content=response.content))
except requests.exceptions.RequestException:
print('HTTP Request failed')
+16
View File
@@ -0,0 +1,16 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Sun Jun 23 14:49:38 2024
@author: sven
"""
import datetime
def umrechnen(dat_alt):
zeitstempel1 = datetime.datetime.strptime(dat_alt, '%d.%m.%Y %H:%M:%S')
zeitstempel_string = datetime.datetime.strftime(zeitstempel1, "%Y-%m-%dT%H:%M:%S")
zeitstempel_string = zeitstempel_string + '.000000+00:00'
return zeitstempel_string
# pass
+67
View File
@@ -0,0 +1,67 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import api_call
import datum_umrechnen
kosten_pro_kwh = ''
# kosten_pro_kwh = input('Kosten pro kWh (0.31) ')
if kosten_pro_kwh == '':
kosten_pro_kwh = 0.31
filename = '/Users/sven/Downloads/Eve Connect Export 28.06.2024.csv'
# Datei öffnen
file = open(filename, 'r')
# Zeilenweise einlesen
#inhalt = file.read().splitlines()
inhalt = file.readlines()
file.close()
# Zeilenweise abloopen
counter = 0
kosten_gesamt = 0
verbrauch_gesamt = 0
for zeile in inhalt:
spalte = zeile.strip().split(',')
if counter > 0:
# Kosten pro Ladevorgang ermitteln
verbrauch = spalte[4].strip()
verbrauch = verbrauch.replace('kWh','')
verbrauch = float(verbrauch)
kosten_zeile = verbrauch * kosten_pro_kwh
kosten_gesamt = kosten_gesamt + kosten_zeile
verbrauch_gesamt = verbrauch_gesamt + verbrauch
# Kilometerstand ermitteln und anfügen
datum_zeit_alt = spalte[1].strip() + ' ' + spalte[2].strip()
datum_von = datum_umrechnen.umrechnen(datum_zeit_alt)
# Homeassistant API rufen
api_response = api_call.send_request(datum_von)
apitext = api_response.text
position = apitext.find("state")
kilometer = apitext[position+8:position+13]
kosten_zeile = str(kosten_zeile)
kilometer = str(kilometer)
zeile = zeile + ', ' + kilometer + ' , ' + kosten_zeile
print(zeile)
counter = counter + 1
else:
zeile = zeile + ', ' + "Kilometerstand, " + "Kosten"
print(zeile)
print(zeile)
counter = counter + 1
continue
print(" ")
print('Kosten Gesamt: ', kosten_gesamt)
strkostenkwh = str(kosten_pro_kwh)
print("Kosten pro kWh: " + strkostenkwh + "")
verbrauch_gesamt = str(verbrauch_gesamt)
print("Verbrauch Gesamt: " + verbrauch_gesamt)