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

359 lines
15 KiB
XML

<sunSpecModels v="1">
<!-- 131: Watt-Power Factor (PF in EEI format) -->
<model id="131" len="64" name="watt_pf">
<block len="10" type="fixed">
<point id="ActCrv" offset="0" access="rw" type="uint16" len="1" mandatory="true" />
<point id="ModEna" offset="1" access="rw" type="bitfield16" len="1" mandatory="true">
<symbol id="ENABLED">0</symbol>
</point>
<point id="WinTms" offset="2" access="rw" type="uint16" len="1" mandatory="false" units="Secs" />
<point id="RvrtTms" offset="3" access="rw" type="uint16" len="1" mandatory="false" units="Secs" />
<point id="RmpTms" offset="4" access="rw" type="uint16" len="1" mandatory="false" units="Secs" />
<point id="NCrv" offset="5" access="r" type="uint16" len="1" mandatory="true" />
<point id="NPt" offset="6" access="r" type="uint16" len="1" mandatory="true" />
<point id="W_SF" offset="7" access="r" type="sunssf" len="1" mandatory="true" />
<point id="PF_SF" offset="8" access="r" type="sunssf" len="1" mandatory="true" />
<point id="RmpIncDec_SF" offset="9" access="r" type="sunssf" len="1" mandatory="false" />
</block>
<block len="54" type="repeating" name="curve">
<point id="ActPt" offset="0" access="rw" type="uint16" len="1" mandatory="true" />
<point id="W1" offset="1" access="rw" type="int16" len="1" mandatory="true" units="% WMax" sf="W_SF"/>
<point id="PF1" offset="2" access="rw" type="int16" len="1" mandatory="true" units="cos()" sf="PF_SF"/>
<point id="W2" offset="3" access="rw" type="int16" len="1" mandatory="false" units="% WMax" sf="W_SF"/>
<point id="PF2" offset="4" access="rw" type="int16" len="1" mandatory="false" units="cos()" sf="PF_SF"/>
<point id="W3" offset="5" access="rw" type="int16" len="1" mandatory="false" units="% WMax" sf="W_SF"/>
<point id="PF3" offset="6" access="rw" type="int16" len="1" mandatory="false" units="cos()" sf="PF_SF"/>
<point id="W4" offset="7" access="rw" type="int16" len="1" mandatory="false" units="% WMax" sf="W_SF"/>
<point id="PF4" offset="8" access="rw" type="int16" len="1" mandatory="false" units="cos()" sf="PF_SF"/>
<point id="W5" offset="9" access="rw" type="int16" len="1" mandatory="false" units="% WMax" sf="W_SF"/>
<point id="PF5" offset="10" access="rw" type="int16" len="1" mandatory="false" units="cos()" sf="PF_SF"/>
<point id="W6" offset="11" access="rw" type="int16" len="1" mandatory="false" units="% WMax" sf="W_SF"/>
<point id="PF6" offset="12" access="rw" type="int16" len="1" mandatory="false" units="cos()" sf="PF_SF"/>
<point id="W7" offset="13" access="rw" type="int16" len="1" mandatory="false" units="% WMax" sf="W_SF"/>
<point id="PF7" offset="14" access="rw" type="int16" len="1" mandatory="false" units="cos()" sf="PF_SF"/>
<point id="W8" offset="15" access="rw" type="int16" len="1" mandatory="false" units="% WMax" sf="W_SF"/>
<point id="PF8" offset="16" access="rw" type="int16" len="1" mandatory="false" units="cos()" sf="PF_SF"/>
<point id="W9" offset="17" access="rw" type="int16" len="1" mandatory="false" units="% WMax" sf="W_SF"/>
<point id="PF9" offset="18" access="rw" type="int16" len="1" mandatory="false" units="cos()" sf="PF_SF"/>
<point id="W10" offset="19" access="rw" type="int16" len="1" mandatory="false" units="% WMax" sf="W_SF"/>
<point id="PF10" offset="20" access="rw" type="int16" len="1" mandatory="false" units="cos()" sf="PF_SF"/>
<point id="W11" offset="21" access="rw" type="int16" len="1" mandatory="false" units="% WMax" sf="W_SF"/>
<point id="PF11" offset="22" access="rw" type="int16" len="1" mandatory="false" units="cos()" sf="PF_SF"/>
<point id="W12" offset="23" access="rw" type="int16" len="1" mandatory="false" units="% WMax" sf="W_SF"/>
<point id="PF12" offset="24" access="rw" type="int16" len="1" mandatory="false" units="cos()" sf="PF_SF"/>
<point id="W13" offset="25" access="rw" type="int16" len="1" mandatory="false" units="% WMax" sf="W_SF"/>
<point id="PF13" offset="26" access="rw" type="int16" len="1" mandatory="false" units="cos()" sf="PF_SF"/>
<point id="W14" offset="27" access="rw" type="int16" len="1" mandatory="false" units="% WMax" sf="W_SF"/>
<point id="PF14" offset="28" access="rw" type="int16" len="1" mandatory="false" units="cos()" sf="PF_SF"/>
<point id="W15" offset="29" access="rw" type="int16" len="1" mandatory="false" units="% WMax" sf="W_SF"/>
<point id="PF15" offset="30" access="rw" type="int16" len="1" mandatory="false" units="cos()" sf="PF_SF"/>
<point id="W16" offset="31" access="rw" type="int16" len="1" mandatory="false" units="% WMax" sf="W_SF"/>
<point id="PF16" offset="32" access="rw" type="int16" len="1" mandatory="false" units="cos()" sf="PF_SF"/>
<point id="W17" offset="33" access="rw" type="int16" len="1" mandatory="false" units="% WMax" sf="W_SF"/>
<point id="PF17" offset="34" access="rw" type="int16" len="1" mandatory="false" units="cos()" sf="PF_SF"/>
<point id="W18" offset="35" access="rw" type="int16" len="1" mandatory="false" units="% WMax" sf="W_SF"/>
<point id="PF18" offset="36" access="rw" type="int16" len="1" mandatory="false" units="cos()" sf="PF_SF"/>
<point id="W19" offset="37" access="rw" type="int16" len="1" mandatory="false" units="% WMax" sf="W_SF"/>
<point id="PF19" offset="38" access="rw" type="int16" len="1" mandatory="false" units="cos()" sf="PF_SF"/>
<point id="W20" offset="39" access="rw" type="int16" len="1" mandatory="false" units="% WMax" sf="W_SF"/>
<point id="PF20" offset="40" access="rw" type="int16" len="1" mandatory="false" units="cos()" sf="PF_SF"/>
<point id="CrvNam" offset="41" access="rw" type="string" len="8" mandatory="false" />
<point id="RmpPT1Tms" offset="49" access="rw" type="uint16" len="1" mandatory="false" units="Secs" />
<point id="RmpDecTmm" offset="50" access="rw" type="uint16" len="1" mandatory="false" units="% PF/min" sf="RmpIncDec_SF"/>
<point id="RmpIncTmm" offset="51" access="rw" type="uint16" len="1" mandatory="false" units="% PF/min" sf="RmpIncDec_SF"/>
<point id="ReadOnly" offset="52" access="r" type="enum16" len="1" mandatory="true" >
<symbol id="READWRITE">0</symbol>
<symbol id="READONLY">1</symbol>
</point>
<point id="Pad" offset="53" access="r" type="pad" len="1" mandatory="false" />
</block>
</model>
<strings id="131" locale="en">
<model>
<label>Watt-PF</label>
<description>Watt-Power Factor </description>
<notes>Ref 3: 8.11.1.2</notes>
</model>
<point id="NCrv">
<label>NCrv</label>
<description>Number of curves supported (recommend 4).</description>
<notes> </notes>
</point>
<point id="NPt">
<label>NPt</label>
<description>Max number of points in array.</description>
<notes> </notes>
</point>
<point id="ModEna">
<label>ModEna</label>
<description>Is watt-PF mode active.</description>
<notes> </notes>
</point>
<point id="ActCrv">
<label>ActCrv</label>
<description>Index of active curve. 0=no active curve.</description>
<notes> </notes>
</point>
<point id="WinTms">
<label>WinTms</label>
<description>Time window for watt-PF change.</description>
<notes> </notes>
</point>
<point id="RvrtTms">
<label>RvrtTms</label>
<description>Timeout period for watt-PF curve selection.</description>
<notes> </notes>
</point>
<point id="RmpTms">
<label>RmpTms</label>
<description>Ramp time for moving from current mode to new mode.</description>
<notes> </notes>
</point>
<point id="W_SF">
<label>W_SF</label>
<description>Scale factor for percent WMax.</description>
<notes> </notes>
</point>
<point id="PF_SF">
<label>PF_SF</label>
<description>Scale factor for PF.</description>
<notes> </notes>
</point>
<point id="RmpIncDec_SF">
<label>RmpIncDec_SF</label>
<description>Scale factor for increment and decrement ramps.</description>
<notes> </notes>
</point>
<point id="CrvNam">
<label>CrvNam</label>
<description>Optional description for curve.</description>
<notes> </notes>
</point>
<point id="ActPt">
<label>ActPt</label>
<description>Number of active points in array.</description>
<notes> </notes>
</point>
<point id="RmpPT1Tms">
<label>RmpPT1Tms</label>
<description>The time of the PT1 in seconds (time to accomplish a change of 95%).</description>
<notes> </notes>
</point>
<point id="RmpDecTmm">
<label>RmpDecTmm</label>
<description>The maximum rate at which the power factor may be reduced in response to changes in the power value.</description>
<notes> </notes>
</point>
<point id="RmpIncTmm">
<label>RmpIncTmm</label>
<description>The maximum rate at which the power factor may be increased in response to changes in the power value.</description>
<notes> </notes>
</point>
<point id="W1">
<label>W1</label>
<description>Point 1 Watts.</description>
<notes> </notes>
</point>
<point id="PF1">
<label>PF1</label>
<description>Point 1 PF in EEI notation.</description>
<notes> </notes>
</point>
<point id="W2">
<label>W2</label>
<description>Point 2 Watts.</description>
<notes> </notes>
</point>
<point id="PF2">
<label>PF2</label>
<description>Point 2 PF in EEI notation.</description>
<notes> </notes>
</point>
<point id="W3">
<label>W3</label>
<description>Point 3 Watts.</description>
<notes> </notes>
</point>
<point id="PF3">
<label>PF3</label>
<description>Point 3 PF in EEI notation.</description>
<notes> </notes>
</point>
<point id="W4">
<label>W4</label>
<description>Point 4 Watts.</description>
<notes> </notes>
</point>
<point id="PF4">
<label>PF4</label>
<description>Point 4 PF in EEI notation.</description>
<notes> </notes>
</point>
<point id="W5">
<label>W5</label>
<description>Point 5 Watts.</description>
<notes> </notes>
</point>
<point id="PF5">
<label>PF5</label>
<description>Point 5 PF in EEI notation.</description>
<notes> </notes>
</point>
<point id="W6">
<label>W6</label>
<description>Point 6 Watts.</description>
<notes> </notes>
</point>
<point id="PF6">
<label>PF6</label>
<description>Point 6 PF in EEI notation.</description>
<notes> </notes>
</point>
<point id="W7">
<label>W7</label>
<description>Point 7 Watts.</description>
<notes> </notes>
</point>
<point id="PF7">
<label>PF7</label>
<description>Point 7 PF in EEI notation.</description>
<notes> </notes>
</point>
<point id="W8">
<label>W8</label>
<description>Point 8 Watts.</description>
<notes> </notes>
</point>
<point id="PF8">
<label>PF8</label>
<description>Point 8 PF in EEI notation.</description>
<notes> </notes>
</point>
<point id="W9">
<label>W9</label>
<description>Point 9 Watts.</description>
<notes> </notes>
</point>
<point id="PF9">
<label>PF9</label>
<description>Point 9 PF in EEI notation.</description>
<notes> </notes>
</point>
<point id="W10">
<label>W10</label>
<description>Point 10 Watts.</description>
<notes> </notes>
</point>
<point id="PF10">
<label>PF10</label>
<description>Point 10 PF in EEI notation.</description>
<notes> </notes>
</point>
<point id="W11">
<label>W11</label>
<description>Point 11 Watts.</description>
<notes> </notes>
</point>
<point id="PF11">
<label>PF11</label>
<description>Point 11 PF in EEI notation.</description>
<notes> </notes>
</point>
<point id="W12">
<label>W12</label>
<description>Point 12 Watts.</description>
<notes> </notes>
</point>
<point id="PF12">
<label>PF12</label>
<description>Point 12 PF in EEI notation.</description>
<notes> </notes>
</point>
<point id="W13">
<label>W13</label>
<description>Point 13 Watts.</description>
<notes> </notes>
</point>
<point id="PF13">
<label>PF13</label>
<description>Point 13 PF in EEI notation.</description>
<notes> </notes>
</point>
<point id="W14">
<label>W14</label>
<description>Point 14 Watts.</description>
<notes> </notes>
</point>
<point id="PF14">
<label>PF14</label>
<description>Point 14 PF in EEI notation.</description>
<notes> </notes>
</point>
<point id="W15">
<label>W15</label>
<description>Point 15 Watts.</description>
<notes> </notes>
</point>
<point id="PF15">
<label>PF15</label>
<description>Point 15 PF in EEI notation.</description>
<notes> </notes>
</point>
<point id="W16">
<label>W16</label>
<description>Point 16 Watts.</description>
<notes> </notes>
</point>
<point id="PF16">
<label>PF16</label>
<description>Point 16 PF in EEI notation.</description>
<notes> </notes>
</point>
<point id="W17">
<label>W17</label>
<description>Point 17 Watts.</description>
<notes> </notes>
</point>
<point id="PF17">
<label>PF17</label>
<description>Point 17 PF in EEI notation.</description>
<notes> </notes>
</point>
<point id="W18">
<label>W18</label>
<description>Point 18 Watts.</description>
<notes> </notes>
</point>
<point id="PF18">
<label>PF18</label>
<description>Point 18 PF in EEI notation.</description>
<notes> </notes>
</point>
<point id="W19">
<label>W19</label>
<description>Point 19 Watts.</description>
<notes> </notes>
</point>
<point id="PF19">
<label>PF19</label>
<description>Point 19 PF in EEI notation.</description>
<notes> </notes>
</point>
<point id="W20">
<label>W20</label>
<description>Point 20 Watts.</description>
<notes> </notes>
</point>
<point id="PF20">
<label>PF20</label>
<description>Point 20 PF in EEI notation.</description>
<notes> </notes>
</point>
<point id="ReadOnly">
<label>ReadOnly</label>
<description>Enumerated value indicates if curve is read-only or can be modified.</description>
<notes> </notes>
</point>
</strings>
</sunSpecModels>