changed stuff

This commit is contained in:
2026-07-12 10:54:42 +02:00
parent c7f1b1c773
commit 33bdec31ff
5 changed files with 27959 additions and 1 deletions
+208 -1
View File
@@ -191,5 +191,212 @@ def test_comprehensive_data_all_measures():
except Exception as e:
print(f"Allgemeiner Fehler: {str(e)}")
def test_all_sensor_parameters():
"""Testet alle Parameter aus sensor.py, sortiert nach Kategorien."""
try:
client = AuroraTCPClient(ip=TARGET_IP, port=TARGET_PORT, address=INVERTER_ADDRESS, timeout=10)
client.connect()
# Symbol-Mapping für die Ausgabe
icon_mapping = {
"DSP_GRID_POWER": "🌞",
"DSP_DAILY_ENERGY": "🌞",
"DSP_TOTAL_ENERGY": "📊",
"DSP_DC_POWER": "🌞",
"DSP_MPPT_POWER": "🌞",
"DSP_POWER_PEAK": "🌞",
"DSP_POWER_PEAK_TODAY": "🌞",
"DSP_PIN1": "🌞",
"DSP_PIN2": "🌞",
"DSP_GRID_VOLTAGE": "",
"DSP_GRID_CURRENT": "🔌",
"DSP_GRID_FREQUENCY": "🔄",
"DSP_PF": "🔄",
"DSP_AVERAGE_GRID_VOLTAGE": "",
"DSP_DC_VOLTAGE": "",
"DSP_DC_CURRENT": "🔌",
"DSP_INPUT_2_VOLTAGE": "",
"DSP_INPUT_2_CURRENT": "🔌",
"DSP_VBULK": "",
"DSP_VBULK_DC_DC": "",
"DSP_VBULK_MID": "",
"DSP_VBULK_PLUS": "",
"DSP_VBULK_MINUS": "",
"DSP_GRID_VOLTAGE_DC_DC": "",
"DSP_GRID_VOLTAGE_NEUTRAL": "",
"DSP_GRID_VOLTAGE_NEUTRAL_PHASE": "",
"DSP_VPANEL_MICRO": "",
"DSP_GRID_CURRENT_PHASE_R": "🔌",
"DSP_GRID_CURRENT_PHASE_S": "🔌",
"DSP_GRID_CURRENT_PHASE_T": "🔌",
"DSP_FREQUENCY_PHASE_R": "🔄",
"DSP_FREQUENCY_PHASE_S": "🔄",
"DSP_FREQUENCY_PHASE_T": "🔄",
"DSP_GRID_VOLTAGE_PHASE_R": "",
"DSP_GRID_VOLTAGE_PHASE_S": "",
"DSP_GRID_VOLTAGE_PHASE_T": "",
"DSP_TEMPERATURE": "🌡️",
"DSP_RADIATOR_TEMP": "🌡️",
"DSP_AMBIENT_TEMP": "🌡️",
"DSP_SUPERVISOR_TEMPERATURE": "🌡️",
"DSP_ALIM_TEMPERATURE": "🌡️",
"DSP_HEAT_SINK_TEMPERATURE": "🌡️",
"DSP_TEMPERATURE_1": "🌡️",
"DSP_TEMPERATURE_2": "🌡️",
"DSP_TEMPERATURE_3": "🌡️",
"DSP_FAN_1_SPEED": "💨",
"DSP_FAN_2_SPEED": "💨",
"DSP_FAN_3_SPEED": "💨",
"DSP_FAN_4_SPEED": "💨",
"DSP_FAN_5_SPEED": "💨",
"DSP_ILEAK_DC_DC": "🔌",
"DSP_ILEAK_INVERTER": "🔌",
"DSP_ISOLATION": "🔌",
"DSP_OPERATING_HOURS": "⏱️",
"DSP_POWER_SATURATION_LIMIT": "🌞",
"DSP_RIFERIMENTO_ANELLO_BULK": "🔄",
"DSP_ALARMS": "⚠️",
"DSP_FAULT_CODE": "⚠️",
"DSP_STATUS": "",
"DSP_EVENTS": "",
"DSP_LAST_ERROR": "⚠️",
"DSP_SERIAL_NUMBER": "🆔",
"DSP_MODEL": "📋",
"DSP_VERSION": "📋",
"DSP_GRID_FREQUENCY_DC_DC": "🔄",
"DSP_WIND_GENERATOR_FREQUENCY": "🔄",
}
# Strukturierte Daten nach Kategorien
structured_data = {
"1. Leistung und Energie": {},
"2. Netzparameter": {},
"3. Gleichstromkreis": {},
"4. Spannungen": {},
"5. Phasenbezogene Werte": {},
"6. Temperaturen": {},
"7. Lüftergeschwindigkeiten": {},
"8. Leckströme": {},
"9. Diagnose": {},
"10. Status und Alarme": {},
"11. Metadaten": {},
}
# 1. Leistung und Energie
structured_data["1. Leistung und Energie"]["DSP_GRID_POWER"] = measure_with_retry(client, 3)
structured_data["1. Leistung und Energie"]["DSP_DAILY_ENERGY"] = client.cumulated_energy(0)
structured_data["1. Leistung und Energie"]["DSP_TOTAL_ENERGY"] = client.cumulated_energy(1) * 0.1
structured_data["1. Leistung und Energie"]["DSP_DC_POWER"] = measure_with_retry(client, 12)
structured_data["1. Leistung und Energie"]["DSP_MPPT_POWER"] = measure_with_retry(client, 16)
structured_data["1. Leistung und Energie"]["DSP_POWER_PEAK"] = measure_with_retry(client, 34)
structured_data["1. Leistung und Energie"]["DSP_POWER_PEAK_TODAY"] = measure_with_retry(client, 35)
structured_data["1. Leistung und Energie"]["DSP_PIN1"] = measure_with_retry(client, 8)
structured_data["1. Leistung und Energie"]["DSP_PIN2"] = measure_with_retry(client, 9)
# 2. Netzparameter
structured_data["2. Netzparameter"]["DSP_GRID_VOLTAGE"] = measure_with_retry(client, 1)
structured_data["2. Netzparameter"]["DSP_GRID_CURRENT"] = measure_with_retry(client, 2)
structured_data["2. Netzparameter"]["DSP_GRID_FREQUENCY"] = measure_with_retry(client, 4)
structured_data["2. Netzparameter"]["DSP_PF"] = measure_with_retry(client, 9)
structured_data["2. Netzparameter"]["DSP_AVERAGE_GRID_VOLTAGE"] = measure_with_retry(client, 32)
# 3. Gleichstromkreis
structured_data["3. Gleichstromkreis"]["DSP_DC_VOLTAGE"] = measure_with_retry(client, 23)
structured_data["3. Gleichstromkreis"]["DSP_DC_CURRENT"] = measure_with_retry(client, 25)
structured_data["3. Gleichstromkreis"]["DSP_INPUT_2_VOLTAGE"] = measure_with_retry(client, 26)
structured_data["3. Gleichstromkreis"]["DSP_INPUT_2_CURRENT"] = measure_with_retry(client, 27)
# 4. Spannungen
structured_data["4. Spannungen"]["DSP_VBULK"] = measure_with_retry(client, 5)
structured_data["4. Spannungen"]["DSP_VBULK_DC_DC"] = measure_with_retry(client, 31)
structured_data["4. Spannungen"]["DSP_VBULK_MID"] = measure_with_retry(client, 33)
structured_data["4. Spannungen"]["DSP_VBULK_PLUS"] = measure_with_retry(client, 45)
structured_data["4. Spannungen"]["DSP_VBULK_MINUS"] = measure_with_retry(client, 46)
structured_data["4. Spannungen"]["DSP_GRID_VOLTAGE_DC_DC"] = measure_with_retry(client, 28)
structured_data["4. Spannungen"]["DSP_GRID_VOLTAGE_NEUTRAL"] = measure_with_retry(client, 36)
structured_data["4. Spannungen"]["DSP_GRID_VOLTAGE_NEUTRAL_PHASE"] = measure_with_retry(client, 38)
structured_data["4. Spannungen"]["DSP_VPANEL_MICRO"] = measure_with_retry(client, 60)
# 5. Phasenbezogene Werte
structured_data["5. Phasenbezogene Werte"]["DSP_GRID_CURRENT_PHASE_R"] = measure_with_retry(client, 39)
structured_data["5. Phasenbezogene Werte"]["DSP_GRID_CURRENT_PHASE_S"] = measure_with_retry(client, 40)
structured_data["5. Phasenbezogene Werte"]["DSP_GRID_CURRENT_PHASE_T"] = measure_with_retry(client, 41)
structured_data["5. Phasenbezogene Werte"]["DSP_FREQUENCY_PHASE_R"] = measure_with_retry(client, 42)
structured_data["5. Phasenbezogene Werte"]["DSP_FREQUENCY_PHASE_S"] = measure_with_retry(client, 43)
structured_data["5. Phasenbezogene Werte"]["DSP_FREQUENCY_PHASE_T"] = measure_with_retry(client, 44)
structured_data["5. Phasenbezogene Werte"]["DSP_GRID_VOLTAGE_PHASE_R"] = measure_with_retry(client, 61)
structured_data["5. Phasenbezogene Werte"]["DSP_GRID_VOLTAGE_PHASE_S"] = measure_with_retry(client, 62)
structured_data["5. Phasenbezogene Werte"]["DSP_GRID_VOLTAGE_PHASE_T"] = measure_with_retry(client, 63)
# 6. Temperaturen
structured_data["6. Temperaturen"]["DSP_TEMPERATURE"] = measure_with_retry(client, 21)
structured_data["6. Temperaturen"]["DSP_RADIATOR_TEMP"] = measure_with_retry(client, 22)
structured_data["6. Temperaturen"]["DSP_AMBIENT_TEMP"] = measure_with_retry(client, 15)
structured_data["6. Temperaturen"]["DSP_SUPERVISOR_TEMPERATURE"] = measure_with_retry(client, 47)
structured_data["6. Temperaturen"]["DSP_ALIM_TEMPERATURE"] = measure_with_retry(client, 48)
structured_data["6. Temperaturen"]["DSP_HEAT_SINK_TEMPERATURE"] = measure_with_retry(client, 49)
structured_data["6. Temperaturen"]["DSP_TEMPERATURE_1"] = measure_with_retry(client, 50)
structured_data["6. Temperaturen"]["DSP_TEMPERATURE_2"] = measure_with_retry(client, 51)
structured_data["6. Temperaturen"]["DSP_TEMPERATURE_3"] = measure_with_retry(client, 52)
# 7. Lüftergeschwindigkeiten
structured_data["7. Lüftergeschwindigkeiten"]["DSP_FAN_1_SPEED"] = measure_with_retry(client, 53)
structured_data["7. Lüftergeschwindigkeiten"]["DSP_FAN_2_SPEED"] = measure_with_retry(client, 54)
structured_data["7. Lüftergeschwindigkeiten"]["DSP_FAN_3_SPEED"] = measure_with_retry(client, 55)
structured_data["7. Lüftergeschwindigkeiten"]["DSP_FAN_4_SPEED"] = measure_with_retry(client, 56)
structured_data["7. Lüftergeschwindigkeiten"]["DSP_FAN_5_SPEED"] = measure_with_retry(client, 57)
# 8. Leckströme
structured_data["8. Leckströme"]["DSP_ILEAK_DC_DC"] = measure_with_retry(client, 6)
structured_data["8. Leckströme"]["DSP_ILEAK_INVERTER"] = measure_with_retry(client, 7)
# 9. Diagnose
structured_data["9. Diagnose"]["DSP_ISOLATION"] = measure_with_retry(client, 30)
structured_data["9. Diagnose"]["DSP_OPERATING_HOURS"] = measure_with_retry(client, 18)
structured_data["9. Diagnose"]["DSP_POWER_SATURATION_LIMIT"] = measure_with_retry(client, 58)
structured_data["9. Diagnose"]["DSP_RIFERIMENTO_ANELLO_BULK"] = measure_with_retry(client, 59)
# 10. Status und Alarme
structured_data["10. Status und Alarme"]["DSP_ALARMS"] = client.alarms()
structured_data["10. Status und Alarme"]["DSP_FAULT_CODE"] = measure_with_retry(client, 20)
structured_data["10. Status und Alarme"]["DSP_STATUS"] = measure_with_retry(client, 23)
structured_data["10. Status und Alarme"]["DSP_EVENTS"] = measure_with_retry(client, 21)
structured_data["10. Status und Alarme"]["DSP_LAST_ERROR"] = measure_with_retry(client, 22)
# 11. Metadaten
structured_data["11. Metadaten"]["DSP_SERIAL_NUMBER"] = client.serial_number()
structured_data["11. Metadaten"]["DSP_MODEL"] = client.version()
structured_data["11. Metadaten"]["DSP_VERSION"] = client.version()
structured_data["11. Metadaten"]["DSP_GRID_FREQUENCY_DC_DC"] = measure_with_retry(client, 29)
structured_data["11. Metadaten"]["DSP_WIND_GENERATOR_FREQUENCY"] = measure_with_retry(client, 37)
client.close()
# Speichere die Daten in einer strukturierten JSON-Datei
with open('all_sensor_parameters_structured.json', 'w') as f:
json.dump(structured_data, f, indent=4)
# Erstelle eine lesbare Ausgabe mit Symbolen
print("\n" + "="*80)
print("Aurora Wechselrichter - Alle Sensorparameter")
print("="*80 + "\n")
for category, values in structured_data.items():
print(f"{category}")
print("-" * len(category))
for key, value in values.items():
icon = icon_mapping.get(key, "🔹")
print(f" {icon} {key}: {value}")
print()
print("="*80)
print("Daten wurden in 'all_sensor_parameters_structured.json' gespeichert.")
print("="*80 + "\n")
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_all_measures()
test_all_sensor_parameters()