Check, ob Prometheus Werte zurückgibt
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
Created on Sun Dec 28 08:01:22 2025
|
||||
|
||||
@author: sven
|
||||
"""
|
||||
|
||||
import requests
|
||||
|
||||
def api_prom(datumzeit):
|
||||
|
||||
response = ' '
|
||||
# date = input("Datum in dd.mm.YYYY")
|
||||
# time = input("Zeit in HH:MM:SS")
|
||||
# datetime = datum_umrechnen.umrechnen(date + ' ' + time)
|
||||
# datetime = datum_umrechnen.umrechnen(datumzeit)
|
||||
|
||||
|
||||
url = "http://192.168.178.183:9090/api/v1/query"
|
||||
|
||||
querystring = {"query":"last_over_time(homeassistant_sensor_distance_km{entity=\"sensor.id_4_odometer\"}[24h])","time":datumzeit}#"2025-12-27T11:48:00Z"}
|
||||
|
||||
# API rufen, Daten aus der API in data verfügbar machen.
|
||||
response = requests.get(url, params=querystring)
|
||||
data = response.json()
|
||||
results = data.get("data", {}).get("result", [])
|
||||
if not results:
|
||||
value = 'n/a'
|
||||
else:
|
||||
timestamp, value_str = data["data"]["result"][0]["value"]
|
||||
value = int(value_str)
|
||||
|
||||
return value
|
||||
+22
-9
@@ -2,19 +2,25 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import api_call
|
||||
import api_prometheus
|
||||
import os
|
||||
import datum_umrechnen
|
||||
|
||||
|
||||
|
||||
# Prompt user for CSV file location
|
||||
filename = input("Please enter the path to your CSV file: ")
|
||||
if filename == '':
|
||||
filename = '/Users/sven/Downloads/Eve.csv'
|
||||
if not os.path.exists(filename):
|
||||
print("Error: File does not exist.")
|
||||
exit(1)
|
||||
|
||||
kosten_pro_kwh = input("Kosten pro kW/h in Euro (z.B. 0.31)")
|
||||
# kosten_pro_kwh = input('Kosten pro kWh (0.31) ')
|
||||
if kosten_pro_kwh == '':
|
||||
kosten_pro_kwh = 0.31
|
||||
|
||||
filename=input("Dateinamen angeben")
|
||||
|
||||
if filename == "":
|
||||
filename = '/Users/sven/Downloads/Eve.csv'
|
||||
|
||||
# Datei öffnen
|
||||
file = open(filename, 'r')
|
||||
|
||||
@@ -43,18 +49,25 @@ for zeile in inhalt:
|
||||
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)
|
||||
|
||||
datum_von = datum_umrechnen.umrechnen(spalte[1].strip() + ' ' + spalte[2].strip())
|
||||
# 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]
|
||||
|
||||
if kilometer == '':
|
||||
kilometer = api_prometheus.api_prom(datum_von)
|
||||
if kilometer == '':
|
||||
kilometer = "n/a"
|
||||
kosten_zeile = str(kosten_zeile)
|
||||
kilometer = str(kilometer)
|
||||
|
||||
# Formatierungen anpassen
|
||||
zeile = zeile + ', ' + kilometer + ' , ' + kosten_zeile
|
||||
zeile = zeile.replace(' ','')
|
||||
zeile = zeile.replace('kWh', ' kWh')
|
||||
zeile = zeile.replace(',',', ')
|
||||
zeile = zeile.replace('Min.','Min. ')
|
||||
print(zeile)
|
||||
counter = counter + 1
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user