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

363 lines
15 KiB
XML

<sunSpecModels v="1">
<!-- 126: Static Volt-VAR Arrays -->
<model id="126" len="64" name="volt_var">
<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="V_SF" offset="7" access="r" type="sunssf" len="1" mandatory="true" />
<point id="DeptRef_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="DeptRef" offset="1" access="rw" type="enum16" len="1" mandatory="true">
<symbol id="WMax">1</symbol>
<symbol id="VArMax">2</symbol>
<symbol id="VArAval">3</symbol>
</point>
<point id="V1" offset="2" access="rw" type="uint16" len="1" mandatory="true" units="% VRef" sf="V_SF"/>
<point id="VAr1" offset="3" access="rw" type="int16" len="1" mandatory="true" sf="DeptRef_SF"/>
<point id="V2" offset="4" access="rw" type="uint16" len="1" mandatory="false" units="% VRef" sf="V_SF"/>
<point id="VAr2" offset="5" access="rw" type="int16" len="1" mandatory="false" sf="DeptRef_SF"/>
<point id="V3" offset="6" access="rw" type="uint16" len="1" mandatory="false" units="% VRef" sf="V_SF"/>
<point id="VAr3" offset="7" access="rw" type="int16" len="1" mandatory="false" sf="DeptRef_SF"/>
<point id="V4" offset="8" access="rw" type="uint16" len="1" mandatory="false" units="% VRef" sf="V_SF"/>
<point id="VAr4" offset="9" access="rw" type="int16" len="1" mandatory="false" sf="DeptRef_SF"/>
<point id="V5" offset="10" access="rw" type="uint16" len="1" mandatory="false" units="% VRef" sf="V_SF"/>
<point id="VAr5" offset="11" access="rw" type="int16" len="1" mandatory="false" sf="DeptRef_SF"/>
<point id="V6" offset="12" access="rw" type="uint16" len="1" mandatory="false" units="% VRef" sf="V_SF"/>
<point id="VAr6" offset="13" access="rw" type="int16" len="1" mandatory="false" sf="DeptRef_SF"/>
<point id="V7" offset="14" access="rw" type="uint16" len="1" mandatory="false" units="% VRef" sf="V_SF"/>
<point id="VAr7" offset="15" access="rw" type="int16" len="1" mandatory="false" sf="DeptRef_SF"/>
<point id="V8" offset="16" access="rw" type="uint16" len="1" mandatory="false" units="% VRef" sf="V_SF"/>
<point id="VAr8" offset="17" access="rw" type="int16" len="1" mandatory="false" sf="DeptRef_SF"/>
<point id="V9" offset="18" access="rw" type="uint16" len="1" mandatory="false" units="% VRef" sf="V_SF"/>
<point id="VAr9" offset="19" access="rw" type="int16" len="1" mandatory="false" sf="DeptRef_SF"/>
<point id="V10" offset="20" access="rw" type="uint16" len="1" mandatory="false" units="% VRef" sf="V_SF"/>
<point id="VAr10" offset="21" access="rw" type="int16" len="1" mandatory="false" sf="DeptRef_SF"/>
<point id="V11" offset="22" access="rw" type="uint16" len="1" mandatory="false" units="% VRef" sf="V_SF"/>
<point id="VAr11" offset="23" access="rw" type="int16" len="1" mandatory="false" sf="DeptRef_SF"/>
<point id="V12" offset="24" access="rw" type="uint16" len="1" mandatory="false" units="% VRef" sf="V_SF"/>
<point id="VAr12" offset="25" access="rw" type="int16" len="1" mandatory="false" sf="DeptRef_SF"/>
<point id="V13" offset="26" access="rw" type="uint16" len="1" mandatory="false" units="% VRef" sf="V_SF"/>
<point id="VAr13" offset="27" access="rw" type="int16" len="1" mandatory="false" sf="DeptRef_SF"/>
<point id="V14" offset="28" access="rw" type="uint16" len="1" mandatory="false" units="% VRef" sf="V_SF"/>
<point id="VAr14" offset="29" access="rw" type="int16" len="1" mandatory="false" sf="DeptRef_SF"/>
<point id="V15" offset="30" access="rw" type="uint16" len="1" mandatory="false" units="% VRef" sf="V_SF"/>
<point id="VAr15" offset="31" access="rw" type="int16" len="1" mandatory="false" sf="DeptRef_SF"/>
<point id="V16" offset="32" access="rw" type="uint16" len="1" mandatory="false" units="% VRef" sf="V_SF"/>
<point id="VAr16" offset="33" access="rw" type="int16" len="1" mandatory="false" sf="DeptRef_SF"/>
<point id="V17" offset="34" access="rw" type="uint16" len="1" mandatory="false" units="% VRef" sf="V_SF"/>
<point id="VAr17" offset="35" access="rw" type="int16" len="1" mandatory="false" sf="DeptRef_SF"/>
<point id="V18" offset="36" access="rw" type="uint16" len="1" mandatory="false" units="% VRef" sf="V_SF"/>
<point id="VAr18" offset="37" access="rw" type="int16" len="1" mandatory="false" sf="DeptRef_SF"/>
<point id="V19" offset="38" access="rw" type="uint16" len="1" mandatory="false" units="% VRef" sf="V_SF"/>
<point id="VAr19" offset="39" access="rw" type="int16" len="1" mandatory="false" sf="DeptRef_SF"/>
<point id="V20" offset="40" access="rw" type="uint16" len="1" mandatory="false" units="% VRef" sf="V_SF"/>
<point id="VAr20" offset="41" access="rw" type="int16" len="1" mandatory="false" sf="DeptRef_SF"/>
<point id="CrvNam" offset="42" access="rw" type="string" len="8" mandatory="false" />
<point id="RmpTms" offset="50" access="rw" type="uint16" len="1" mandatory="false" units="Secs" />
<point id="RmpDecTmm" offset="51" access="rw" type="uint16" len="1" mandatory="false" units="% ref_value/min" sf="RmpIncDec_SF"/>
<point id="RmpIncTmm" offset="52" access="rw" type="uint16" len="1" mandatory="false" units="% ref_value/min" sf="RmpIncDec_SF"/>
<point id="ReadOnly" offset="53" access="r" type="enum16" len="1" mandatory="true" >
<symbol id="READWRITE">0</symbol>
<symbol id="READONLY">1</symbol>
</point>
</block>
</model>
<strings id="126" locale="en">
<model>
<label>Static Volt-VAR</label>
<description>Static Volt-VAR Arrays </description>
<notes>Ref 3: 8.8.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>Number of curve points supported (maximum of 20).</description>
<notes> </notes>
</point>
<point id="ModEna">
<label>ModEna</label>
<description>Is Volt-VAR control 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 volt-VAR change.</description>
<notes> </notes>
</point>
<point id="RvrtTms">
<label>RvrtTms</label>
<description>Timeout period for volt-VAR 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="V_SF">
<label>V_SF</label>
<description>Scale factor for percent VRef.</description>
<notes> </notes>
</point>
<point id="CrvNam">
<label>CrvNam</label>
<description>Optional description for curve. (Max 16 chars)</description>
<notes> </notes>
</point>
<point id="ActPt">
<label>ActPt</label>
<description>Number of active points in array.</description>
<notes> </notes>
</point>
<point id="DeptRef">
<label>DeptRef</label>
<description>Meaning of dependent variable: 1=%WMax 2=%VArMax 3=%VArAval.</description>
<notes> </notes>
</point>
<point id="DeptRef_SF">
<label>DeptRef_SF</label>
<description>scale factor for dependent variable.</description>
<notes> </notes>
</point>
<point id="RmpTms">
<label>RmpTms</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 VAR value may be reduced in response to changes in the voltage value. %refVal is %WMax %VArMax or %VArAval depending on value of DeptRef.</description>
<notes> </notes>
</point>
<point id="RmpIncTmm">
<label>RmpIncTmm</label>
<description>The maximum rate at which the VAR value may be increased in response to changes in the voltage value. %refVal is %WMax %VArMax or %VArAval depending on value of DeptRef.</description>
<notes> </notes>
</point>
<point id="V1">
<label>V1</label>
<description>Point 1 Volts.</description>
<notes> </notes>
</point>
<point id="VAr1">
<label>VAr1</label>
<description>Point 1 VARs.</description>
<notes> </notes>
</point>
<point id="V2">
<label>V2</label>
<description>Point 2 Volts.</description>
<notes> </notes>
</point>
<point id="VAr2">
<label>VAr2</label>
<description>Point 2 VARs.</description>
<notes> </notes>
</point>
<point id="V3">
<label>V3</label>
<description>Point 2 Volts.</description>
<notes> </notes>
</point>
<point id="VAr3">
<label>VAr3</label>
<description>Point 3 VARs.</description>
<notes> </notes>
</point>
<point id="V4">
<label>V4</label>
<description>Point 4 Volts.</description>
<notes> </notes>
</point>
<point id="VAr4">
<label>VAr4</label>
<description>Point 4 VARs.</description>
<notes> </notes>
</point>
<point id="V5">
<label>V5</label>
<description>Point 5 Volts.</description>
<notes> </notes>
</point>
<point id="VAr5">
<label>VAr5</label>
<description>Point 5 VARs.</description>
<notes> </notes>
</point>
<point id="V6">
<label>V6</label>
<description>Point 6 Volts.</description>
<notes> </notes>
</point>
<point id="VAr6">
<label>VAr6</label>
<description>Point 6 VARs.</description>
<notes> </notes>
</point>
<point id="V7">
<label>V7</label>
<description>Point 7 Volts.</description>
<notes> </notes>
</point>
<point id="VAr7">
<label>VAr7</label>
<description>Point 7 VARs.</description>
<notes> </notes>
</point>
<point id="V8">
<label>V8</label>
<description>Point 8 Volts.</description>
<notes> </notes>
</point>
<point id="VAr8">
<label>VAr8</label>
<description>Point 8 VARs.</description>
<notes> </notes>
</point>
<point id="V9">
<label>V9</label>
<description>Point 9 Volts.</description>
<notes> </notes>
</point>
<point id="VAr9">
<label>VAr9</label>
<description>Point 9 VARs.</description>
<notes> </notes>
</point>
<point id="V10">
<label>V10</label>
<description>Point 10 Volts.</description>
<notes> </notes>
</point>
<point id="VAr10">
<label>VAr10</label>
<description>Point 10 VARs.</description>
<notes> </notes>
</point>
<point id="V11">
<label>V11</label>
<description>Point 11 Volts.</description>
<notes> </notes>
</point>
<point id="VAr11">
<label>VAr11</label>
<description>Point 11 VARs.</description>
<notes> </notes>
</point>
<point id="V12">
<label>V12</label>
<description>Point 12 Volts.</description>
<notes> </notes>
</point>
<point id="VAr12">
<label>VAr12</label>
<description>Point 12 VARs.</description>
<notes> </notes>
</point>
<point id="V13">
<label>V13</label>
<description>Point 13 Volts.</description>
<notes> </notes>
</point>
<point id="VAr13">
<label>VAr13</label>
<description>Point 13 VARs.</description>
<notes> </notes>
</point>
<point id="V14">
<label>V14</label>
<description>Point 14 Volts.</description>
<notes> </notes>
</point>
<point id="VAr14">
<label>VAr14</label>
<description>Point 14 VARs.</description>
<notes> </notes>
</point>
<point id="V15">
<label>V15</label>
<description>Point 15 Volts.</description>
<notes> </notes>
</point>
<point id="VAr15">
<label>VAr15</label>
<description>Point 15 VARs.</description>
<notes> </notes>
</point>
<point id="V16">
<label>V16</label>
<description>Point 16 Volts.</description>
<notes> </notes>
</point>
<point id="VAr16">
<label>VAr16</label>
<description>Point 16 VARs.</description>
<notes> </notes>
</point>
<point id="V17">
<label>V17</label>
<description>Point 17 Volts.</description>
<notes> </notes>
</point>
<point id="VAr17">
<label>VAr17</label>
<description>Point 17 VARs.</description>
<notes> </notes>
</point>
<point id="V18">
<label>V18</label>
<description>Point 18 Volts.</description>
<notes> </notes>
</point>
<point id="VAr18">
<label>VAr18</label>
<description>Point 18 VARs.</description>
<notes> </notes>
</point>
<point id="V19">
<label>V19</label>
<description>Point 19 Volts.</description>
<notes> </notes>
</point>
<point id="VAr19">
<label>VAr19</label>
<description>Point 19 VARs.</description>
<notes> </notes>
</point>
<point id="V20">
<label>V20</label>
<description>Point 20 Volts.</description>
<notes> </notes>
</point>
<point id="VAr20">
<label>VAr20</label>
<description>Point 20 VARs.</description>
<notes> </notes>
</point>
<point id="ReadOnly">
<label>ReadOnly</label>
<description>Boolean flag indicates if curve is read-only or can be modified.</description>
<notes> </notes>
</point>
</strings>
</sunSpecModels>