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

789 lines
30 KiB
JSON

{
"group": {
"groups": [
{
"count": 0,
"name": "string",
"points": [
{
"desc": "Count of modules in the string.",
"label": "Module Count",
"mandatory": "M",
"name": "StrNMod",
"size": 1,
"type": "uint16"
},
{
"desc": "Current status of the string.",
"label": "String Status",
"mandatory": "M",
"name": "StrSt",
"size": 2,
"symbols": [
{
"name": "STRING_ENABLED",
"value": 0
},
{
"name": "CONTACTOR_STATUS",
"value": 1
}
],
"type": "bitfield32"
},
{
"label": "Connection Failure Reason",
"name": "StrConFail",
"size": 1,
"symbols": [
{
"name": "NO_FAILURE",
"value": 0
},
{
"name": "BUTTON_PUSHED",
"value": 1
},
{
"name": "STR_GROUND_FAULT",
"value": 2
},
{
"name": "OUTSIDE_VOLTAGE_RANGE",
"value": 3
},
{
"name": "STRING_NOT_ENABLED",
"value": 4
},
{
"name": "FUSE_OPEN",
"value": 5
},
{
"name": "CONTACTOR_FAILURE",
"value": 6
},
{
"name": "PRECHARGE_FAILURE",
"value": 7
},
{
"name": "STRING_FAULT",
"value": 8
}
],
"type": "enum16"
},
{
"desc": "Battery string state of charge, expressed as a percentage.",
"label": "String State of Charge",
"mandatory": "M",
"name": "StrSoC",
"sf": "SoC_SF",
"size": 1,
"type": "uint16",
"units": "%"
},
{
"desc": "Battery string state of health, expressed as a percentage.",
"label": "String State of Health",
"name": "StrSoH",
"sf": "SoH_SF",
"size": 1,
"type": "uint16",
"units": "%"
},
{
"desc": "String current measurement.",
"label": "String Current",
"mandatory": "M",
"name": "StrA",
"sf": "A_SF",
"size": 1,
"type": "int16",
"units": "A"
},
{
"desc": "Maximum voltage for all cells in the string.",
"label": "Max Cell Voltage",
"mandatory": "M",
"name": "StrCellVMax",
"sf": "CellV_SF",
"size": 1,
"type": "uint16",
"units": "V"
},
{
"desc": "Module containing the maximum cell voltage.",
"label": "Max Cell Voltage Module",
"name": "StrCellVMaxMod",
"size": 1,
"type": "uint16"
},
{
"desc": "Minimum voltage for all cells in the string.",
"label": "Min Cell Voltage",
"mandatory": "M",
"name": "StrCellVMin",
"sf": "CellV_SF",
"size": 1,
"type": "uint16",
"units": "V"
},
{
"desc": "Module containing the minimum cell voltage.",
"label": "Min Cell Voltage Module",
"name": "StrCellVMinMod",
"size": 1,
"type": "uint16"
},
{
"desc": "Average voltage for all cells in the string.",
"label": "Average Cell Voltage",
"mandatory": "M",
"name": "StrCellVAvg",
"sf": "CellV_SF",
"size": 1,
"type": "uint16",
"units": "V"
},
{
"desc": "Maximum temperature for all modules in the bank.",
"label": "Max Module Temperature",
"mandatory": "M",
"name": "StrModTmpMax",
"sf": "ModTmp_SF",
"size": 1,
"type": "int16",
"units": "C"
},
{
"desc": "Module with the maximum temperature.",
"label": "Max Module Temperature Module",
"name": "StrModTmpMaxMod",
"size": 1,
"type": "uint16"
},
{
"desc": "Minimum temperature for all modules in the bank.",
"label": "Min Module Temperature",
"mandatory": "M",
"name": "StrModTmpMin",
"sf": "ModTmp_SF",
"size": 1,
"type": "int16",
"units": "C"
},
{
"desc": "Module with the minimum temperature.",
"label": "Min Module Temperature Module",
"name": "StrModTmpMinMod",
"size": 1,
"type": "uint16"
},
{
"desc": "Average temperature for all modules in the bank.",
"label": "Average Module Temperature",
"mandatory": "M",
"name": "StrModTmpAvg",
"sf": "ModTmp_SF",
"size": 1,
"type": "int16",
"units": "C"
},
{
"desc": "Reason why the string is currently disabled.",
"label": "Disabled Reason",
"name": "StrDisRsn",
"size": 1,
"symbols": [
{
"name": "NONE",
"value": 0
},
{
"name": "FAULT",
"value": 1
},
{
"name": "MAINTENANCE",
"value": 2
},
{
"name": "EXTERNAL",
"value": 3
},
{
"name": "OTHER",
"value": 4
}
],
"type": "enum16"
},
{
"desc": "Status of the contactor(s) for the string.",
"label": "Contactor Status",
"name": "StrConSt",
"size": 2,
"symbols": [
{
"name": "CONTACTOR_0",
"value": 0
},
{
"name": "CONTACTOR_1",
"value": 1
},
{
"name": "CONTACTOR_2",
"value": 2
},
{
"name": "CONTACTOR_3",
"value": 3
},
{
"name": "CONTACTOR_4",
"value": 4
},
{
"name": "CONTACTOR_5",
"value": 5
},
{
"name": "CONTACTOR_6",
"value": 6
},
{
"name": "CONTACTOR_7",
"value": 7
},
{
"name": "CONTACTOR_8",
"value": 8
},
{
"name": "CONTACTOR_9",
"value": 9
},
{
"name": "CONTACTOR_10",
"value": 10
},
{
"name": "CONTACTOR_11",
"value": 11
},
{
"name": "CONTACTOR_12",
"value": 12
},
{
"name": "CONTACTOR_13",
"value": 13
},
{
"name": "CONTACTOR_14",
"value": 14
},
{
"name": "CONTACTOR_15",
"value": 15
},
{
"name": "CONTACTOR_16",
"value": 16
},
{
"name": "CONTACTOR_17",
"value": 17
},
{
"name": "CONTACTOR_18",
"value": 18
},
{
"name": "CONTACTOR_19",
"value": 19
},
{
"name": "CONTACTOR_20",
"value": 20
},
{
"name": "CONTACTOR_21",
"value": 21
},
{
"name": "CONTACTOR_22",
"value": 22
},
{
"name": "CONTACTOR_23",
"value": 23
},
{
"name": "CONTACTOR_24",
"value": 24
},
{
"name": "CONTACTOR_25",
"value": 25
},
{
"name": "CONTACTOR_26",
"value": 26
},
{
"name": "CONTACTOR_27",
"value": 27
},
{
"name": "CONTACTOR_28",
"value": 28
},
{
"name": "CONTACTOR_29",
"value": 29
},
{
"name": "CONTACTOR_30",
"value": 30
}
],
"type": "bitfield32"
},
{
"desc": "Alarms, warnings and status values. Bit flags.",
"label": "String Event 1",
"mandatory": "M",
"name": "StrEvt1",
"size": 2,
"symbols": [
{
"name": "COMMUNICATION_ERROR",
"value": 0
},
{
"name": "OVER_TEMP_ALARM",
"value": 1
},
{
"name": "OVER_TEMP_WARNING",
"value": 2
},
{
"name": "UNDER_TEMP_ALARM",
"value": 3
},
{
"name": "UNDER_TEMP_WARNING",
"value": 4
},
{
"name": "OVER_CHARGE_CURRENT_ALARM",
"value": 5
},
{
"name": "OVER_CHARGE_CURRENT_WARNING",
"value": 6
},
{
"name": "OVER_DISCHARGE_CURRENT_ALARM",
"value": 7
},
{
"name": "OVER_DISCHARGE_CURRENT_WARNING",
"value": 8
},
{
"name": "OVER_VOLT_ALARM",
"value": 9
},
{
"name": "OVER_VOLT_WARNING",
"value": 10
},
{
"name": "UNDER_VOLT_ALARM",
"value": 11
},
{
"name": "UNDER_VOLT_WARNING",
"value": 12
},
{
"name": "UNDER_SOC_MIN_ALARM",
"value": 13
},
{
"name": "UNDER_SOC_MIN_WARNING",
"value": 14
},
{
"name": "OVER_SOC_MAX_ALARM",
"value": 15
},
{
"name": "OVER_SOC_MAX_WARNING",
"value": 16
},
{
"name": "VOLTAGE_IMBALANCE_WARNING",
"value": 17
},
{
"name": "TEMPERATURE_IMBALANCE_ALARM",
"value": 18
},
{
"name": "TEMPERATURE_IMBALANCE_WARNING",
"value": 19
},
{
"name": "CONTACTOR_ERROR",
"value": 20
},
{
"name": "FAN_ERROR",
"value": 21
},
{
"name": "GROUND_FAULT",
"value": 22
},
{
"name": "OPEN_DOOR_ERROR",
"value": 23
},
{
"name": "RESERVED_1",
"value": 24
},
{
"name": "OTHER_ALARM",
"value": 25
},
{
"name": "OTHER_WARNING",
"value": 26
},
{
"name": "RESERVED_2",
"value": 27
},
{
"name": "CONFIGURATION_ALARM",
"value": 28
},
{
"name": "CONFIGURATION_WARNING",
"value": 29
}
],
"type": "bitfield32"
},
{
"desc": "Alarms, warnings and status values. Bit flags.",
"label": "String Event 2",
"name": "StrEvt2",
"size": 2,
"type": "bitfield32"
},
{
"desc": "Vendor defined events.",
"label": "Vendor String Event Bitfield 1",
"name": "StrEvtVnd1",
"size": 2,
"type": "bitfield32"
},
{
"desc": "Vendor defined events.",
"label": "Vendor String Event Bitfield 2",
"name": "StrEvtVnd2",
"size": 2,
"type": "bitfield32"
},
{
"access": "RW",
"desc": "Enables and disables the string.",
"label": "Enable/Disable String",
"name": "StrSetEna",
"size": 1,
"symbols": [
{
"name": "ENABLE_STRING",
"value": 1
},
{
"name": "DISABLE_STRING",
"value": 2
}
],
"type": "enum16"
},
{
"access": "RW",
"desc": "Connects and disconnects the string.",
"label": "Connect/Disconnect String",
"name": "StrSetCon",
"size": 1,
"symbols": [
{
"name": "CONNECT_STRING",
"value": 1
},
{
"name": "DISCONNECT_STRING",
"value": 2
}
],
"type": "enum16"
},
{
"desc": "Pad register.",
"label": "Pad",
"mandatory": "M",
"name": "Pad1",
"size": 1,
"type": "pad"
},
{
"desc": "Pad register.",
"label": "Pad",
"mandatory": "M",
"name": "Pad2",
"size": 1,
"type": "pad"
}
],
"type": "group"
}
],
"label": "Lithium-Ion Battery Bank Model",
"name": "lithium_ion_bank",
"points": [
{
"desc": "Model identifier",
"label": "Model ID",
"mandatory": "M",
"name": "ID",
"size": 1,
"static": "S",
"type": "uint16",
"value": 803
},
{
"desc": "Model length",
"label": "Model Length",
"mandatory": "M",
"name": "L",
"size": 1,
"static": "S",
"type": "uint16"
},
{
"desc": "Number of strings in the bank.",
"label": "String Count",
"mandatory": "M",
"name": "NStr",
"size": 1,
"type": "uint16"
},
{
"desc": "Number of strings with contactor closed.",
"label": "Connected String Count",
"mandatory": "M",
"name": "NStrCon",
"size": 1,
"type": "uint16"
},
{
"desc": "Maximum temperature for all modules in the bank.",
"label": "Max Module Temperature",
"mandatory": "M",
"name": "ModTmpMax",
"sf": "ModTmp_SF",
"size": 1,
"type": "int16"
},
{
"desc": "String containing the module with maximum temperature.",
"label": "Max Module Temperature String",
"name": "ModTmpMaxStr",
"size": 1,
"type": "uint16"
},
{
"desc": "Module with maximum temperature.",
"label": "Max Module Temperature Module",
"name": "ModTmpMaxMod",
"size": 1,
"type": "uint16"
},
{
"desc": "Minimum temperature for all modules in the bank.",
"label": "Min Module Temperature",
"mandatory": "M",
"name": "ModTmpMin",
"sf": "ModTmp_SF",
"size": 1,
"type": "int16",
"units": "C"
},
{
"desc": "String containing the module with minimum temperature.",
"label": "Min Module Temperature String",
"name": "ModTmpMinStr",
"size": 1,
"type": "uint16"
},
{
"desc": "Module with minimum temperature.",
"label": "Min Module Temperature Module",
"name": "ModTmpMinMod",
"size": 1,
"type": "uint16"
},
{
"desc": "Average temperature for all modules in the bank.",
"label": "Average Module Temperature",
"name": "ModTmpAvg",
"size": 1,
"type": "int16"
},
{
"desc": "Maximum string voltage for all strings in the bank.",
"label": "Max String Voltage",
"name": "StrVMax",
"sf": "V_SF",
"size": 1,
"type": "uint16",
"units": "V"
},
{
"desc": "String with maximum voltage.",
"label": "Max String Voltage String",
"name": "StrVMaxStr",
"size": 1,
"type": "uint16"
},
{
"desc": "Minimum string voltage for all strings in the bank.",
"label": "Min String Voltage",
"name": "StrVMin",
"sf": "V_SF",
"size": 1,
"type": "uint16",
"units": "V"
},
{
"desc": "String with minimum voltage.",
"label": "Min String Voltage String",
"name": "StrVMinStr",
"size": 1,
"type": "uint16"
},
{
"desc": "Average string voltage for all strings in the bank.",
"label": "Average String Voltage",
"name": "StrVAvg",
"sf": "V_SF",
"size": 1,
"type": "uint16",
"units": "V"
},
{
"desc": "Maximum current of any string in the bank.",
"label": "Max String Current",
"name": "StrAMax",
"sf": "A_SF",
"size": 1,
"type": "int16",
"units": "A"
},
{
"desc": "String with the maximum current.",
"label": "Max String Current String",
"name": "StrAMaxStr",
"size": 1,
"type": "uint16"
},
{
"desc": "Minimum current of any string in the bank.",
"label": "Min String Current",
"name": "StrAMin",
"sf": "A_SF",
"size": 1,
"type": "int16",
"units": "A"
},
{
"desc": "String with the minimum current.",
"label": "Min String Current String",
"name": "StrAMinStr",
"size": 1,
"type": "uint16"
},
{
"desc": "Average string current for all strings in the bank.",
"label": "Average String Current",
"name": "StrAAvg",
"sf": "A_SF",
"size": 1,
"type": "int16",
"units": "A"
},
{
"desc": "Total number of cells that are currently being balanced.",
"label": "Battery Cell Balancing Count",
"name": "NCellBal",
"size": 1,
"type": "uint16"
},
{
"desc": "Scale factor for cell voltage.",
"mandatory": "M",
"name": "CellV_SF",
"size": 1,
"type": "sunssf"
},
{
"desc": "Scale factor for module temperatures.",
"mandatory": "M",
"name": "ModTmp_SF",
"size": 1,
"type": "sunssf"
},
{
"desc": "Scale factor for string currents.",
"mandatory": "M",
"name": "A_SF",
"size": 1,
"type": "sunssf"
},
{
"desc": "Scale factor for string state of health.",
"name": "SoH_SF",
"size": 1,
"type": "sunssf"
},
{
"desc": "Scale factor for string state of charge.",
"mandatory": "M",
"name": "SoC_SF",
"size": 1,
"type": "sunssf"
},
{
"desc": "Scale factor for string voltage.",
"name": "V_SF",
"size": 1,
"type": "sunssf"
}
],
"type": "group"
},
"id": 803
}