Add local_test.py

This commit is contained in:
2026-03-05 15:01:18 +01:00
parent f38cd0a133
commit 66527c6ac3

114
local_test.py Normal file
View File

@@ -0,0 +1,114 @@
### This file is used to test the aurora inverter (via TCP) locally without Homeassistant.
from aurorapy.client import AuroraTCPClient, AuroraError
import json
from datetime import datetime, timedelta
# Konfiguration
TARGET_IP = "192.168.250.245"
TARGET_PORT = 5000
INVERTER_ADDRESS = 2 # Slave-ID deines Wechselrichters
def test_comprehensive_data():
try:
client = AuroraTCPClient(ip=TARGET_IP, port=TARGET_PORT, address=INVERTER_ADDRESS, timeout=10)
client.connect()
# Daten abfragen
data = {}
# 50: State Request
try:
data["state"] = client.state_request()
except AttributeError:
data["state"] = "Methode nicht verfügbar"
# 58: Version Reading
try:
data["version"] = client.version()
except AttributeError:
data["version"] = "Methode nicht verfügbar"
# 63: Serial Number Reading
try:
data["serial_number"] = client.serial_number()
except AttributeError:
data["serial_number"] = "Methode nicht verfügbar"
# 65: Manufacturing Week and Year
try:
data["manufacturing_week_year"] = client.manufacturing_week_year()
except AttributeError:
try:
data["manufacturing_week_year"] = client.manufacturing_date()
except AttributeError:
data["manufacturing_week_year"] = "Methode nicht verfügbar"
# 68: Cumulated Float Energy Readings
try:
data["daily_energy_float"] = client.cumulated_energy(period=1)
data["week_energy_float"] = client.cumulated_energy(period=2)
data["month_energy_float"] = client.cumulated_energy(period=3)
data["year_energy_float_global"] = client.cumulated_energy(period=4, global_measure=True)
data["total_energy_float_global"] = client.cumulated_energy(period=6, global_measure=True)
except AttributeError:
data["cumulated_float_energy"] = "Methode nicht verfügbar"
# 70: Time/Date Reading
try:
seconds_since_2000 = client.time_date()
data["time_date"] = (datetime(2000, 1, 1) + timedelta(seconds=seconds_since_2000)).strftime("%Y-%m-%d %H:%M:%S")
except AttributeError:
data["time_date"] = "Methode nicht verfügbar"
# 72: Firmware Release Reading
try:
data["firmware_micro_release_C"] = client.firmware(3)
except AttributeError:
data["firmware_micro_release_C"] = "Methode nicht verfügbar"
# 78: Cumulated Energy Readings
try:
data["daily_energy"] = client.cumulated_energy(1)
data["week_energy"] = client.cumulated_energy(2)
data["month_energy"] = client.cumulated_energy(3)
data["year_energy"] = client.cumulated_energy(4)
data["total_energy"] = client.cumulated_energy(5)
except AttributeError:
data["cumulated_energy"] = "Methode nicht verfügbar"
# 86: Last Four Alarms
try:
data["last_four_alarms"] = client.alarms()
except AttributeError:
data["last_four_alarms"] = "Methode nicht verfügbar"
# 59: Measure Requests
try:
data["grid_voltage"] = client.measure(1)
data["grid_current"] = client.measure(2)
data["grid_power"] = client.measure(3)
data["frequency"] = client.measure(4)
data["inverter_temperature"] = client.measure(21)
data["booster_temperature"] = client.measure(22)
data["input_1_voltage"] = client.measure(23)
data["input_1_current"] = client.measure(25)
data["isolation_resistance"] = client.measure(30)
except AttributeError:
data["measure_requests"] = "Methode nicht verfügbar"
client.close()
# Daten als JSON speichern
with open('comprehensive_data.json', 'w') as f:
json.dump(data, f, indent=4)
print("Daten erfolgreich in 'comprehensive_data.json' gespeichert.")
except AuroraError as e:
print(f"Fehler bei der Kommunikation: {str(e)}")
except Exception as e:
print(f"Allgemeiner Fehler: {str(e)}")
if __name__ == "__main__":
test_comprehensive_data()