Files
adminandClaude Opus 5 79843aa2ae SolarManager unter Versionsverwaltung
Erster Stand der Hintergrundprozesse, die auf der Synology unter
/volume1/homes/wagner/SolarManager laufen: der Manager selbst, die Sammler
je Geraet, die MQTT-Bruecke, der Wecker und - neu hinzugezogen - der
AutoAction-Runner, der als Hintergrundprozess hierher gehoert und nicht ins
Web-Verzeichnis.

Zugangsdaten stehen nicht mehr im Quelltext, sondern in config.ini, die
nicht mit eingecheckt wird. Vorlage ist config.ini.example, gelesen wird sie
von konfig.py. Betroffen waren solarManager.py (Datenbank und Wattpilot),
zeit.py, gatherWaterData.py, wecker.py und skoda_testdaten.py, das sich das
Passwort bisher aus dem Quelltext eines anderen Moduls herausgesucht hat.

Die Kia-Anbindung ist mit dem Fahrzeug entfallen: kiaTest.py,
gatherCarData.py und hyundai_kia_connect_api sind nicht mehr dabei, ebenso
gatherInverterData.py, auf das nur noch eine auskommentierte Zeile zeigte.

Die mitgelieferten Bibliotheken bleiben im Repository - die NAS hat kein
pip, sie muessen neben den Skripten liegen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-02 20:46:59 +02:00

124 lines
6.1 KiB
Protocol Buffer

syntax = "proto3";
message MeterMO {
int32 device_type = 1; // Device type identifier
int64 serial_number = 2; // Serial number of the meter
int32 phase_total_power = 3; // Total power across all phases (Watts)
int32 phase_A_power = 4; // Power in phase A (Watts)
int32 phase_B_power = 5; // Power in phase B (Watts)
int32 phase_C_power = 6; // Power in phase C (Watts)
int32 power_factor_total = 7; // Total power factor
int32 energy_total_power = 8; // Total energy generated (Watt-hours)
int32 energy_phase_A = 9; // Energy generated in phase A (Watt-hours)
int32 energy_phase_B = 10; // Energy generated in phase B (Watt-hours)
int32 energy_phase_C = 11; // Energy generated in phase C (Watt-hours)
int32 energy_total_consumed = 12; // Total energy consumed (Watt-hours)
int32 energy_phase_A_consumed = 13; // Energy consumed in phase A (Watt-hours)
int32 energy_phase_B_consumed = 14; // Energy consumed in phase B (Watt-hours)
int32 energy_phase_C_consumed = 15; // Energy consumed in phase C (Watt-hours)
int32 fault_code = 16; // Fault code indicator
int32 voltage_phase_A = 17; // Voltage in phase A (Volts)
int32 voltage_phase_B = 18; // Voltage in phase B (Volts)
int32 voltage_phase_C = 19; // Voltage in phase C (Volts)
int32 current_phase_A = 20; // Current in phase A (Amperes)
int32 current_phase_B = 21; // Current in phase B (Amperes)
int32 current_phase_C = 22; // Current in phase C (Amperes)
int32 power_factor_phase_A = 23; // Power factor in phase A
int32 power_factor_phase_B = 24; // Power factor in phase B
int32 power_factor_phase_C = 25; // Power factor in phase C
}
message RpMO {
int64 serial_number = 1; // Serial number of the device
int32 signature = 2; // Signature value
int32 channel = 3; // Channel number
int32 pv_number = 4; // Photovoltaic (PV) number
int32 link_status = 5; // Link status indicator
}
message RSDMO {
int64 serial_number = 1; // Serial number of the device
int32 firmware_version = 2; // Firmware version
int32 voltage = 3; // Voltage value
int32 power = 4; // Power value
int32 temperature = 5; // Temperature value
int32 warning_number = 6; // Warning number
int32 crc_checksum = 7; // CRC checksum
int32 link_status = 8; // Link status indicator
}
message SGSMO {
int64 serial_number = 1; // Serial number of the device
int32 firmware_version = 2; // Firmware version
int32 voltage = 3; // Grid voltage (Volts)
int32 frequency = 4; // Grid frequency (Hertz)
int32 active_power = 5; // Active power (Watts)
int32 reactive_power = 6; // Reactive power (VAR)
int32 current = 7; // Current (Amperes)
int32 power_factor = 8; // Power factor
int32 temperature = 9; // Temperature value
int32 warning_number = 10; // Warning number
int32 crc_checksum = 11; // CRC checksum
int32 link_status = 12; // Link status indicator
int32 power_limit = 13; // Power limit (Watts)
int32 modulation_index_signal = 20; // Modulation index signal
}
message TGSMO {
int64 serial_number = 1; // Serial number of the device
int32 firmware_version = 2; // Firmware version
int32 voltage_phase_A = 3; // Voltage in phase A (Volts)
int32 voltage_phase_B = 4; // Voltage in phase B (Volts)
int32 voltage_phase_C = 5; // Voltage in phase C (Volts)
int32 voltage_line_AB = 6; // Voltage between lines A and B (Volts)
int32 voltage_line_BC = 7; // Voltage between lines B and C (Volts)
int32 voltage_line_CA = 8; // Voltage between lines C and A (Volts)
int32 frequency = 9; // Frequency (Hertz)
int32 active_power = 10; // Active power (Watts)
int32 reactive_power = 11; // Reactive power (VAR)
int32 current_phase_A = 12; // Current in phase A (Amperes)
int32 current_phase_B = 13; // Current in phase B (Amperes)
int32 current_phase_C = 14; // Current in phase C (Amperes)
int32 power_factor = 15; // Power factor
int32 temperature = 16; // Temperature value
int32 warning_number = 17; // Warning number
int32 crc_checksum = 18; // CRC checksum
int32 link_status = 19; // Link status indicator
int32 modulation_index_signal = 20; // Modulation index signal
}
message PvMO {
int64 serial_number = 1; // Serial number of the device
int32 port_number = 2; // Port number
int32 voltage = 3; // Voltage (Volts)
int32 current = 4; // Current (Amperes)
int32 power = 5; // Power (Watts)
int32 energy_total = 6; // Total energy generated (Watt-hours)
int32 energy_daily = 7; // Daily energy generated (Watt-hours)
int32 error_code = 8; // Error code indicator
}
message RealDataNewReqDTO {
string device_serial_number = 1; // Serial number of the device
int32 timestamp = 2; // Timestamp of the data
int32 active_power = 3; // Active power (Watts)
int32 cp = 4; // Control parameter?
int32 firmware_version = 5; // Firmware version
repeated MeterMO meter_data = 6; // Meter data array
repeated RpMO rp_data = 7; // RpMO data array
repeated RSDMO rsd_data = 8; // RSDMO data array
repeated SGSMO sgs_data = 9; // SGSMO data array
repeated TGSMO tgs_data = 10; // TGSMO data array
repeated PvMO pv_data = 11; // PvMO data array
uint64 dtu_power = 12; // Power of the DTU (Watts)
uint64 dtu_daily_energy = 13; // Daily energy of the DTU (Watt-hours)
}
message RealDataNewResDTO {
string time_ymd_hms = 1; // Timestamp in the format YMD_HMS
int32 cp = 2; // Control parameter?
int32 error_code = 3; // Error code indicator
int32 offset = 4; // Offset value
int32 time = 5; // Timestamp value
}