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>
This commit is contained in:
2026-09-02 20:46:59 +02:00
co-authored by Claude Opus 5
commit 79843aa2ae
968 changed files with 261182 additions and 0 deletions
+600
View File
@@ -0,0 +1,600 @@
{
"group": {
"desc": "Watt-Power Factor ",
"groups": [
{
"count": 0,
"name": "curve",
"points": [
{
"access": "RW",
"desc": "Number of active points in array.",
"label": "ActPt",
"mandatory": "M",
"name": "ActPt",
"size": 1,
"type": "uint16"
},
{
"access": "RW",
"desc": "Point 1 Watts.",
"label": "W1",
"mandatory": "M",
"name": "W1",
"sf": "W_SF",
"size": 1,
"type": "int16",
"units": "% WMax"
},
{
"access": "RW",
"desc": "Point 1 PF in EEI notation.",
"label": "PF1",
"mandatory": "M",
"name": "PF1",
"sf": "PF_SF",
"size": 1,
"type": "int16",
"units": "cos()"
},
{
"access": "RW",
"desc": "Point 2 Watts.",
"label": "W2",
"name": "W2",
"sf": "W_SF",
"size": 1,
"type": "int16",
"units": "% WMax"
},
{
"access": "RW",
"desc": "Point 2 PF in EEI notation.",
"label": "PF2",
"name": "PF2",
"sf": "PF_SF",
"size": 1,
"type": "int16",
"units": "cos()"
},
{
"access": "RW",
"desc": "Point 3 Watts.",
"label": "W3",
"name": "W3",
"sf": "W_SF",
"size": 1,
"type": "int16",
"units": "% WMax"
},
{
"access": "RW",
"desc": "Point 3 PF in EEI notation.",
"label": "PF3",
"name": "PF3",
"sf": "PF_SF",
"size": 1,
"type": "int16",
"units": "cos()"
},
{
"access": "RW",
"desc": "Point 4 Watts.",
"label": "W4",
"name": "W4",
"sf": "W_SF",
"size": 1,
"type": "int16",
"units": "% WMax"
},
{
"access": "RW",
"desc": "Point 4 PF in EEI notation.",
"label": "PF4",
"name": "PF4",
"sf": "PF_SF",
"size": 1,
"type": "int16",
"units": "cos()"
},
{
"access": "RW",
"desc": "Point 5 Watts.",
"label": "W5",
"name": "W5",
"sf": "W_SF",
"size": 1,
"type": "int16",
"units": "% WMax"
},
{
"access": "RW",
"desc": "Point 5 PF in EEI notation.",
"label": "PF5",
"name": "PF5",
"sf": "PF_SF",
"size": 1,
"type": "int16",
"units": "cos()"
},
{
"access": "RW",
"desc": "Point 6 Watts.",
"label": "W6",
"name": "W6",
"sf": "W_SF",
"size": 1,
"type": "int16",
"units": "% WMax"
},
{
"access": "RW",
"desc": "Point 6 PF in EEI notation.",
"label": "PF6",
"name": "PF6",
"sf": "PF_SF",
"size": 1,
"type": "int16",
"units": "cos()"
},
{
"access": "RW",
"desc": "Point 7 Watts.",
"label": "W7",
"name": "W7",
"sf": "W_SF",
"size": 1,
"type": "int16",
"units": "% WMax"
},
{
"access": "RW",
"desc": "Point 7 PF in EEI notation.",
"label": "PF7",
"name": "PF7",
"sf": "PF_SF",
"size": 1,
"type": "int16",
"units": "cos()"
},
{
"access": "RW",
"desc": "Point 8 Watts.",
"label": "W8",
"name": "W8",
"sf": "W_SF",
"size": 1,
"type": "int16",
"units": "% WMax"
},
{
"access": "RW",
"desc": "Point 8 PF in EEI notation.",
"label": "PF8",
"name": "PF8",
"sf": "PF_SF",
"size": 1,
"type": "int16",
"units": "cos()"
},
{
"access": "RW",
"desc": "Point 9 Watts.",
"label": "W9",
"name": "W9",
"sf": "W_SF",
"size": 1,
"type": "int16",
"units": "% WMax"
},
{
"access": "RW",
"desc": "Point 9 PF in EEI notation.",
"label": "PF9",
"name": "PF9",
"sf": "PF_SF",
"size": 1,
"type": "int16",
"units": "cos()"
},
{
"access": "RW",
"desc": "Point 10 Watts.",
"label": "W10",
"name": "W10",
"sf": "W_SF",
"size": 1,
"type": "int16",
"units": "% WMax"
},
{
"access": "RW",
"desc": "Point 10 PF in EEI notation.",
"label": "PF10",
"name": "PF10",
"sf": "PF_SF",
"size": 1,
"type": "int16",
"units": "cos()"
},
{
"access": "RW",
"desc": "Point 11 Watts.",
"label": "W11",
"name": "W11",
"sf": "W_SF",
"size": 1,
"type": "int16",
"units": "% WMax"
},
{
"access": "RW",
"desc": "Point 11 PF in EEI notation.",
"label": "PF11",
"name": "PF11",
"sf": "PF_SF",
"size": 1,
"type": "int16",
"units": "cos()"
},
{
"access": "RW",
"desc": "Point 12 Watts.",
"label": "W12",
"name": "W12",
"sf": "W_SF",
"size": 1,
"type": "int16",
"units": "% WMax"
},
{
"access": "RW",
"desc": "Point 12 PF in EEI notation.",
"label": "PF12",
"name": "PF12",
"sf": "PF_SF",
"size": 1,
"type": "int16",
"units": "cos()"
},
{
"access": "RW",
"desc": "Point 13 Watts.",
"label": "W13",
"name": "W13",
"sf": "W_SF",
"size": 1,
"type": "int16",
"units": "% WMax"
},
{
"access": "RW",
"desc": "Point 13 PF in EEI notation.",
"label": "PF13",
"name": "PF13",
"sf": "PF_SF",
"size": 1,
"type": "int16",
"units": "cos()"
},
{
"access": "RW",
"desc": "Point 14 Watts.",
"label": "W14",
"name": "W14",
"sf": "W_SF",
"size": 1,
"type": "int16",
"units": "% WMax"
},
{
"access": "RW",
"desc": "Point 14 PF in EEI notation.",
"label": "PF14",
"name": "PF14",
"sf": "PF_SF",
"size": 1,
"type": "int16",
"units": "cos()"
},
{
"access": "RW",
"desc": "Point 15 Watts.",
"label": "W15",
"name": "W15",
"sf": "W_SF",
"size": 1,
"type": "int16",
"units": "% WMax"
},
{
"access": "RW",
"desc": "Point 15 PF in EEI notation.",
"label": "PF15",
"name": "PF15",
"sf": "PF_SF",
"size": 1,
"type": "int16",
"units": "cos()"
},
{
"access": "RW",
"desc": "Point 16 Watts.",
"label": "W16",
"name": "W16",
"sf": "W_SF",
"size": 1,
"type": "int16",
"units": "% WMax"
},
{
"access": "RW",
"desc": "Point 16 PF in EEI notation.",
"label": "PF16",
"name": "PF16",
"sf": "PF_SF",
"size": 1,
"type": "int16",
"units": "cos()"
},
{
"access": "RW",
"desc": "Point 17 Watts.",
"label": "W17",
"name": "W17",
"sf": "W_SF",
"size": 1,
"type": "int16",
"units": "% WMax"
},
{
"access": "RW",
"desc": "Point 17 PF in EEI notation.",
"label": "PF17",
"name": "PF17",
"sf": "PF_SF",
"size": 1,
"type": "int16",
"units": "cos()"
},
{
"access": "RW",
"desc": "Point 18 Watts.",
"label": "W18",
"name": "W18",
"sf": "W_SF",
"size": 1,
"type": "int16",
"units": "% WMax"
},
{
"access": "RW",
"desc": "Point 18 PF in EEI notation.",
"label": "PF18",
"name": "PF18",
"sf": "PF_SF",
"size": 1,
"type": "int16",
"units": "cos()"
},
{
"access": "RW",
"desc": "Point 19 Watts.",
"label": "W19",
"name": "W19",
"sf": "W_SF",
"size": 1,
"type": "int16",
"units": "% WMax"
},
{
"access": "RW",
"desc": "Point 19 PF in EEI notation.",
"label": "PF19",
"name": "PF19",
"sf": "PF_SF",
"size": 1,
"type": "int16",
"units": "cos()"
},
{
"access": "RW",
"desc": "Point 20 Watts.",
"label": "W20",
"name": "W20",
"sf": "W_SF",
"size": 1,
"type": "int16",
"units": "% WMax"
},
{
"access": "RW",
"desc": "Point 20 PF in EEI notation.",
"label": "PF20",
"name": "PF20",
"sf": "PF_SF",
"size": 1,
"type": "int16",
"units": "cos()"
},
{
"access": "RW",
"desc": "Optional description for curve.",
"label": "CrvNam",
"name": "CrvNam",
"size": 8,
"type": "string"
},
{
"access": "RW",
"desc": "The time of the PT1 in seconds (time to accomplish a change of 95%).",
"label": "RmpPT1Tms",
"name": "RmpPT1Tms",
"size": 1,
"type": "uint16",
"units": "Secs"
},
{
"access": "RW",
"desc": "The maximum rate at which the power factor may be reduced in response to changes in the power value.",
"label": "RmpDecTmm",
"name": "RmpDecTmm",
"sf": "RmpIncDec_SF",
"size": 1,
"type": "uint16",
"units": "% PF/min"
},
{
"access": "RW",
"desc": "The maximum rate at which the power factor may be increased in response to changes in the power value.",
"label": "RmpIncTmm",
"name": "RmpIncTmm",
"sf": "RmpIncDec_SF",
"size": 1,
"type": "uint16",
"units": "% PF/min"
},
{
"desc": "Enumerated value indicates if curve is read-only or can be modified.",
"label": "ReadOnly",
"mandatory": "M",
"name": "ReadOnly",
"size": 1,
"symbols": [
{
"name": "READWRITE",
"value": 0
},
{
"name": "READONLY",
"value": 1
}
],
"type": "enum16"
},
{
"name": "Pad",
"size": 1,
"type": "pad"
}
],
"type": "group"
}
],
"label": "Watt-PF",
"name": "watt_pf",
"points": [
{
"desc": "Model identifier",
"label": "Model ID",
"mandatory": "M",
"name": "ID",
"size": 1,
"static": "S",
"type": "uint16",
"value": 131
},
{
"desc": "Model length",
"label": "Model Length",
"mandatory": "M",
"name": "L",
"size": 1,
"static": "S",
"type": "uint16"
},
{
"access": "RW",
"desc": "Index of active curve. 0=no active curve.",
"label": "ActCrv",
"mandatory": "M",
"name": "ActCrv",
"size": 1,
"type": "uint16"
},
{
"access": "RW",
"desc": "Is watt-PF mode active.",
"label": "ModEna",
"mandatory": "M",
"name": "ModEna",
"size": 1,
"symbols": [
{
"name": "ENABLED",
"value": 0
}
],
"type": "bitfield16"
},
{
"access": "RW",
"desc": "Time window for watt-PF change.",
"label": "WinTms",
"name": "WinTms",
"size": 1,
"type": "uint16",
"units": "Secs"
},
{
"access": "RW",
"desc": "Timeout period for watt-PF curve selection.",
"label": "RvrtTms",
"name": "RvrtTms",
"size": 1,
"type": "uint16",
"units": "Secs"
},
{
"access": "RW",
"desc": "Ramp time for moving from current mode to new mode.",
"label": "RmpTms",
"name": "RmpTms",
"size": 1,
"type": "uint16",
"units": "Secs"
},
{
"desc": "Number of curves supported (recommend 4).",
"label": "NCrv",
"mandatory": "M",
"name": "NCrv",
"size": 1,
"type": "uint16"
},
{
"desc": "Max number of points in array.",
"label": "NPt",
"mandatory": "M",
"name": "NPt",
"size": 1,
"type": "uint16"
},
{
"desc": "Scale factor for percent WMax.",
"label": "W_SF",
"mandatory": "M",
"name": "W_SF",
"size": 1,
"type": "sunssf"
},
{
"desc": "Scale factor for PF.",
"label": "PF_SF",
"mandatory": "M",
"name": "PF_SF",
"size": 1,
"type": "sunssf"
},
{
"desc": "Scale factor for increment and decrement ramps.",
"label": "RmpIncDec_SF",
"name": "RmpIncDec_SF",
"size": 1,
"type": "sunssf"
}
],
"type": "group"
},
"id": 131
}