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

1065 lines
42 KiB
XML

<sunSpecModels v="1">
<!-- 807: Flow Battery String Model -->
<model id="807" len="58" name="flow_battery_string">
<block len="34">
<point id="Idx" offset="0" type="uint16" mandatory="true" />
<point id="NMod" offset="1" type="uint16" mandatory="true" />
<point id="NModCon" offset="2" type="uint16" mandatory="true" />
<point id="ModVMax" offset="3" type="uint16" sf="ModV_SF" units="V" mandatory="true" />
<point id="ModVMaxMod" offset="4" type="uint16" />
<point id="ModVMin" offset="5" type="uint16" sf="ModV_SF" units="V" mandatory="true" />
<point id="ModVMinMod" offset="6" type="uint16" />
<point id="ModVAvg" offset="7" type="uint16" sf="ModV_SF" units="V" mandatory="true" />
<point id="CellVMax" offset="8" type="uint16" sf="CellV_SF" units="V" mandatory="false" />
<point id="CellVMaxMod" offset="9" type="uint16" />
<point id="CellVMaxStk" offset="10" type="uint16" />
<point id="CellVMin" offset="11" type="uint16" sf="CellV_SF" units="V" mandatory="false" />
<point id="CellVMinMod" offset="12" type="uint16" />
<point id="CellVMinStk" offset="13" type="uint16" />
<point id="CellVAvg" offset="14" type="uint16" sf="CellV_SF" units="V" mandatory="false" />
<point id="TmpMax" offset="15" type="int16" sf="Tmp_SF" units="C" mandatory="true" />
<point id="TmpMaxMod" offset="16" type="uint16" />
<point id="TmpMin" offset="17" type="int16" sf="Tmp_SF" units="C" mandatory="true" />
<point id="TmpMinMod" offset="18" type="uint16" />
<point id="TmpAvg" offset="19" type="int16" sf="Tmp_SF" units="C" mandatory="true" />
<point id="Evt1" offset="20" type="bitfield32" mandatory="true" >
<symbol id="COMMUNICATION_ERROR">0</symbol>
<symbol id="OVER_TEMP_ALARM">1</symbol>
<symbol id="OVER_TEMP_WARNING">2</symbol>
<symbol id="UNDER_TEMP_ALARM">3</symbol>
<symbol id="UNDER_TEMP_WARNING">4</symbol>
<symbol id="OVER_CHARGE_CURRENT_ALARM">5</symbol>
<symbol id="OVER_CHARGE_CURRENT_WARNING">6</symbol>
<symbol id="OVER_DISCHARGE_CURRENT_ALARM">7</symbol>
<symbol id="OVER_DISCHARGE_CURRENT_WARNING">8</symbol>
<symbol id="OVER_VOLT_ALARM">9</symbol>
<symbol id="OVER_VOLT_WARNING">10</symbol>
<symbol id="UNDER_VOLT_ALARM">11</symbol>
<symbol id="UNDER_VOLT_WARNING">12</symbol>
<symbol id="UNDER_SOC_MIN_ALARM">13</symbol>
<symbol id="UNDER_SOC_MIN_WARNING">14</symbol>
<symbol id="OVER_SOC_MAX_ALARM">15</symbol>
<symbol id="OVER_SOC_MAX_WARNING">16</symbol>
<symbol id="VOLTAGE_IMBALANCE_WARNING">17</symbol>
<symbol id="RESERVED_1">18</symbol>
<symbol id="RESERVED_2">19</symbol>
<symbol id="CONTACTOR_ERROR">20</symbol>
<symbol id="FAN_ERROR">21</symbol>
<symbol id="GROUND_FAULT">22</symbol>
<symbol id="OPEN_DOOR_ERROR">23</symbol>
<symbol id="RESERVED_3">24</symbol>
<symbol id="OTHER_ALARM">25</symbol>
<symbol id="OTHER_WARNING">26</symbol>
<symbol id="FIRE_ALARM">27</symbol>
<symbol id="CONFIGURATION_ALARM">28</symbol>
<symbol id="CONFIGURATION_WARNING">29</symbol>
</point>
<point id="Evt2" offset="22" type="bitfield32" mandatory="true">
<symbol id="LEAK_ALARM">0</symbol>
<symbol id="PUMP_ALARM">1</symbol>
<symbol id="HIGH_PRESSURE_ALARM">2</symbol>
<symbol id="HIGH_PRESSURE_WARNING">3</symbol>
<symbol id="LOW_FLOW_ALARM">4</symbol>
<symbol id="LOW_FLOW_WARNING">5</symbol>
</point>
<point id="EvtVnd1" offset="24" type="bitfield32" mandatory="true" />
<point id="EvtVnd2" offset="26" type="bitfield32" mandatory="true" />
<point id="ModV_SF" offset="28" type="sunssf" mandatory="true" />
<point id="CellV_SF" offset="29" type="sunssf" mandatory="true" />
<point id="Tmp_SF" offset="30" type="sunssf" mandatory="true" />
<point id="SoC_SF" offset="31" type="sunssf" mandatory="true" />
<point id="OCV_SF" offset="32" type="sunssf" mandatory="true" />
<point id="Pad1" offset="33" type="pad" mandatory="true" />
</block>
<block type="repeating" len="24" name="module">
<point id="ModIdx" offset="0" type="uint16" mandatory="true" />
<point id="ModNStk" offset="1" type="uint16" units="" mandatory="true" />
<point id="ModSt" offset="2" type="bitfield32" mandatory="true">
<symbol id="MODULE_ENABLED">0</symbol>
<symbol id="CONTACTOR_STATUS">1</symbol>
</point>
<point id="ModSoC" offset="4" type="uint16" sf="SoC_SF" units="%" mandatory="true" />
<point id="ModOCV" offset="5" type="uint16" sf="OCV_SF" units="V" mandatory="true" />
<point id="ModV" offset="6" type="uint16" sf="ModV_SF" units="V" mandatory="true" />
<point id="ModCellVMax" offset="7" type="uint16" sf="CellV_SF" units="V" mandatory="false" />
<point id="ModCellVMaxCell" offset="8" type="uint16" units="" />
<point id="ModCellVMin" offset="9" type="uint16" sf="CellV_SF" units="V" mandatory="false" />
<point id="ModCellVMinCell" offset="10" type="uint16" units="" />
<point id="ModCellVAvg" offset="11" type="uint16" sf="CellV_SF" units="V" mandatory="false" />
<point id="ModAnoTmp" offset="12" type="uint16" sf="Tmp_SF" units="C" />
<point id="ModCatTmp" offset="13" type="uint16" sf="Tmp_SF" units="C" />
<point id="ModConSt" offset="14" type="bitfield32" units="" >
<symbol id="CONTACTOR_0">0</symbol>
<symbol id="CONTACTOR_1">1</symbol>
<symbol id="CONTACTOR_2">2</symbol>
<symbol id="CONTACTOR_3">3</symbol>
<symbol id="CONTACTOR_4">4</symbol>
<symbol id="CONTACTOR_5">5</symbol>
<symbol id="CONTACTOR_6">6</symbol>
<symbol id="CONTACTOR_7">7</symbol>
<symbol id="CONTACTOR_8">8</symbol>
<symbol id="CONTACTOR_9">9</symbol>
<symbol id="CONTACTOR_10">10</symbol>
<symbol id="CONTACTOR_11">11</symbol>
<symbol id="CONTACTOR_12">12</symbol>
<symbol id="CONTACTOR_13">13</symbol>
<symbol id="CONTACTOR_14">14</symbol>
<symbol id="CONTACTOR_15">15</symbol>
<symbol id="CONTACTOR_16">16</symbol>
<symbol id="CONTACTOR_17">17</symbol>
<symbol id="CONTACTOR_18">18</symbol>
<symbol id="CONTACTOR_19">19</symbol>
<symbol id="CONTACTOR_20">20</symbol>
<symbol id="CONTACTOR_21">21</symbol>
<symbol id="CONTACTOR_22">22</symbol>
<symbol id="CONTACTOR_23">23</symbol>
<symbol id="CONTACTOR_24">24</symbol>
<symbol id="CONTACTOR_25">25</symbol>
<symbol id="CONTACTOR_26">26</symbol>
<symbol id="CONTACTOR_27">27</symbol>
<symbol id="CONTACTOR_28">28</symbol>
<symbol id="CONTACTOR_29">29</symbol>
<symbol id="CONTACTOR_30">30</symbol>
</point>
<point id="ModEvt1" offset="16" type="bitfield32" mandatory="true" >
<symbol id="COMMUNICATION_ERROR">0</symbol>
<symbol id="OVER_TEMP_ALARM">1</symbol>
<symbol id="OVER_TEMP_WARNING">2</symbol>
<symbol id="UNDER_TEMP_ALARM">3</symbol>
<symbol id="UNDER_TEMP_WARNING">4</symbol>
<symbol id="OVER_CHARGE_CURRENT_ALARM">5</symbol>
<symbol id="OVER_CHARGE_CURRENT_WARNING">6</symbol>
<symbol id="OVER_DISCHARGE_CURRENT_ALARM">7</symbol>
<symbol id="OVER_DISCHARGE_CURRENT_WARNING">8</symbol>
<symbol id="OVER_VOLT_ALARM">9</symbol>
<symbol id="OVER_VOLT_WARNING">10</symbol>
<symbol id="UNDER_VOLT_ALARM">11</symbol>
<symbol id="UNDER_VOLT_WARNING">12</symbol>
<symbol id="UNDER_SOC_MIN_ALARM">13</symbol>
<symbol id="UNDER_SOC_MIN_WARNING">14</symbol>
<symbol id="OVER_SOC_MAX_ALARM">15</symbol>
<symbol id="OVER_SOC_MAX_WARNING">16</symbol>
<symbol id="VOLTAGE_IMBALANCE_WARNING">17</symbol>
<symbol id="RESERVED_1">18</symbol>
<symbol id="RESERVED_2">19</symbol>
<symbol id="CONTACTOR_ERROR">20</symbol>
<symbol id="FAN_ERROR">21</symbol>
<symbol id="GROUND_FAULT">22</symbol>
<symbol id="OPEN_DOOR_ERROR">23</symbol>
<symbol id="RESERVED_3">24</symbol>
<symbol id="RESERVED_4">25</symbol>
<symbol id="RESERVED_5">26</symbol>
<symbol id="FIRE_ALARM">27</symbol>
<symbol id="MODULE_CONFIGURATION_ALARM">28</symbol>
<symbol id="MODULE_CONFIGURATION_WARNING">29</symbol>
</point>
<point id="ModEvt2" offset="18" type="bitfield32" mandatory="true" >
<symbol id="LEAK_ALARM">0</symbol>
<symbol id="PUMP_ALARM">1</symbol>
<symbol id="HIGH_PRESSURE_ALARM">2</symbol>
<symbol id="HIGH_PRESSURE_WARNING">3</symbol>
<symbol id="LOW_FLOW_ALARM">4</symbol>
<symbol id="LOW_FLOW_WARNING">5</symbol>
</point>
<point id="ModConFail" offset="20" type="enum16" mandatory="false" >
<symbol id="NO_FAILURE">0</symbol>
<symbol id="BUTTON_PUSHED">1</symbol>
<symbol id="MODULE_GROUND_FAULT">2</symbol>
<symbol id="OUTSIDE_VOLTAGE_RANGE">3</symbol>
<symbol id="MODULE_NOT_ENABLED">4</symbol>
<symbol id="FUSE_OPEN">5</symbol>
<symbol id="CONTACTOR_FAILURE">6</symbol>
<symbol id="PRECHARGE_FAILURE">7</symbol>
<symbol id="MODULE_FAULT">8</symbol>
</point>
<point id="ModSetEna" offset="21" access="rw" type="enum16" >
<symbol id="ENABLE_MODULE">1</symbol>
<symbol id="DISABLE_MODULE">2</symbol>
</point>
<point id="ModSetCon" offset="22" access="rw" type="enum16">
<symbol id="CONNECT_MODULE">1</symbol>
<symbol id="DISCONNECT_MODULE">2</symbol>
</point>
<point id="ModDisRsn" offset="23" type="enum16" mandatory="false">
<symbol id="NONE">0</symbol>
<symbol id="FAULT">1</symbol>
<symbol id="MAINTENANCE">2</symbol>
<symbol id="EXTERNAL">3</symbol>
<symbol id="OTHER">4</symbol>
</point>
</block>
</model>
<strings id="807" locale="en">
<model>
<label>Flow Battery String Model</label>
<description></description>
<notes></notes>
</model>
<point id="Idx">
<label>String Index</label>
<description>Index of the string within the bank.</description>
<notes>Indices are one-based.</notes>
</point>
<point id="NMod">
<label>Module Count</label>
<description>Number of modules in this string.</description>
<notes></notes>
</point>
<point id="NModCon">
<label>Connected Module Count</label>
<description>Number of electrically connected modules in this string.</description>
<notes></notes>
</point>
<point id="ModVMax">
<label>Max Module Voltage</label>
<description>Maximum voltage for all modules in the string.</description>
<notes>Measurement.</notes>
</point>
<point id="ModVMaxMod">
<label>Max Module Voltage Module</label>
<description>Module with the maximum voltage.</description>
<notes></notes>
</point>
<point id="ModVMin">
<label>Min Module Voltage</label>
<description>Minimum voltage for all modules in the string.</description>
<notes>Measurement.</notes>
</point>
<point id="ModVMinMod">
<label>Min Module Voltage Module</label>
<description>Module with the minimum voltage.</description>
<notes></notes>
</point>
<point id="ModVAvg">
<label>Average Module Voltage</label>
<description>Average voltage for all modules in the string.</description>
<notes>Calculation based on measurements.</notes>
</point>
<point id="CellVMax">
<label>Max Cell Voltage</label>
<description>Maximum voltage for all cells in the string.</description>
<notes>Measurement.</notes>
</point>
<point id="CellVMaxMod">
<label>Max Cell Voltage Module</label>
<description>Module containing the cell with the maximum voltage.</description>
<notes></notes>
</point>
<point id="CellVMaxStk">
<label>Max Cell Voltage Stack</label>
<description>Stack containing the cell with the maximum voltage.</description>
<notes></notes>
</point>
<point id="CellVMin">
<label>Min Cell Voltage</label>
<description>Minimum voltage for all cells in the string.</description>
<notes>Measurement.</notes>
</point>
<point id="CellVMinMod">
<label>Min Cell Voltage Module</label>
<description>Module containing the cell with the minimum voltage.</description>
<notes></notes>
</point>
<point id="CellVMinStk">
<label>Min Cell Voltage Stack</label>
<description>Stack containing the cell with the minimum voltage.</description>
<notes></notes>
</point>
<point id="CellVAvg">
<label>Average Cell Voltage</label>
<description>Average voltage for all cells in the string.</description>
<notes>Calculation based on measurements.</notes>
</point>
<point id="TmpMax">
<label>Max Temperature</label>
<description>Maximum electrolyte temperature for all modules in the string.</description>
<notes>Measurement.</notes>
</point>
<point id="TmpMaxMod">
<label>Max Temperature Module</label>
<description>Module with the maximum temperature.</description>
<notes></notes>
</point>
<point id="TmpMin">
<label>Min Temperature</label>
<description>Minimum electrolyte temperature for all modules in the string.</description>
<notes>Measurement.</notes>
</point>
<point id="TmpMinMod">
<label>Min Temperature Module</label>
<description>Module with the minimum temperature.</description>
<notes></notes>
</point>
<point id="TmpAvg">
<label>Average Temperature</label>
<description>Average electrolyte temperature for all modules in the string.</description>
<notes>Calculation based on measurements.</notes>
</point>
<point id="Evt1">
<label>String Event 1</label>
<description>Alarms, warnings and status values. Bit flags.</description>
<notes></notes>
<symbol id="COMMUNICATION_ERROR">
<label>Communication Error</label>
<description>BMS is unable to communicate with modules.</description>
<notes></notes>
</symbol>
<symbol id="OVER_TEMP_ALARM">
<label>Over Temperature Alarm</label>
<description>Battery string has exceeded maximum operating temperature</description>
<notes></notes>
</symbol>
<symbol id="OVER_TEMP_WARNING">
<label>Over Temperature Warning</label>
<description>Battery string is approaching maximum operating temperature.</description>
<notes></notes>
</symbol>
<symbol id="UNDER_TEMP_ALARM">
<label>Under Temperature Alarm</label>
<description>Battery string has exceeded minimum operating temperature</description>
<notes></notes>
</symbol>
<symbol id="UNDER_TEMP_WARNING">
<label>Under Temperature Warning</label>
<description>Battery string is approaching minimum operating temperature.</description>
<notes></notes>
</symbol>
<symbol id="OVER_CHARGE_CURRENT_ALARM">
<label>Over Charge Current Alarm</label>
<description>Battery string maximum charge current has been exceeded.</description>
<notes>See AChaMax in model S 802.</notes>
</symbol>
<symbol id="OVER_CHARGE_CURRENT_WARNING">
<label>Over Charge Current Warning</label>
<description>Approaching battery string maximum charge current.</description>
<notes>See AChaMax in model S 802.</notes>
</symbol>
<symbol id="OVER_DISCHARGE_CURRENT_ALARM">
<label>Over Discharge Current Alarm</label>
<description>Battery string maximum discharge current has been exceeded.</description>
<notes>See ADisChaMax in model S 802.</notes>
</symbol>
<symbol id="OVER_DISCHARGE_CURRENT_WARNING">
<label>Over Discharge Current Warning</label>
<description>Approaching battery string maximum discharge current.</description>
<notes>See ADisChaMax in model S 802.</notes>
</symbol>
<symbol id="OVER_VOLT_ALARM">
<label>Over Voltage Alarm</label>
<description>Battery string voltage has exceeded maximum limit.</description>
<notes></notes>
</symbol>
<symbol id="OVER_VOLT_WARNING">
<label>Over Voltage Warning</label>
<description>Battery string voltage is approaching maximum limit.</description>
<notes></notes>
</symbol>
<symbol id="UNDER_VOLT_ALARM">
<label>Under Voltage Alarm</label>
<description>Battery string voltage has exceeded minimum limit.</description>
<notes></notes>
</symbol>
<symbol id="UNDER_VOLT_WARNING">
<label>Under Voltage Warning</label>
<description>Battery string voltage is approaching minimum limit.</description>
<notes></notes>
</symbol>
<symbol id="UNDER_SOC_MIN_ALARM">
<label>Under State of Charge Minimum Alarm</label>
<description>Battery string state of charge has reached or exceeded SoCMin.</description>
<notes></notes>
</symbol>
<symbol id="UNDER_SOC_MIN_WARNING">
<label>Under State of Charge Minimum Warning</label>
<description>Battery string state of charge is approaching SoCMin.</description>
<notes></notes>
</symbol>
<symbol id="OVER_SOC_MAX_ALARM">
<label>Over State of Charge Maximum Alarm</label>
<description>Battery string state of charge has reached or exceeded SoCMax.</description>
<notes></notes>
</symbol>
<symbol id="OVER_SOC_MAX_WARNING">
<label>Over State of Charge Maximum Warning</label>
<description>Battery string state of charge is approaching SoCMax</description>
<notes></notes>
</symbol>
<symbol id="VOLTAGE_IMBALANCE_WARNING">
<label>Voltage Imbalance Warning</label>
<description>A voltage imbalance exists between the modules in the string.</description>
<notes></notes>
</symbol>
<symbol id="RESERVED_1">
<label>Reserved</label>
<description>Reserved bit.</description>
<notes>Do not implement.</notes>
</symbol>
<symbol id="RESERVED_2">
<label>Reserved</label>
<description>Reserved bit.</description>
<notes>Do not implement.</notes>
</symbol>
<symbol id="CONTACTOR_ERROR">
<label>Contactor Error</label>
<description>A contactor failed to open or close as requested.</description>
<notes></notes>
</symbol>
<symbol id="FAN_ERROR">
<label>Fan Error</label>
<description>One or more battery string fans has failed.</description>
<notes></notes>
</symbol>
<symbol id="GROUND_FAULT">
<label>Ground Fault Error</label>
<description>Ground fault detected.</description>
<notes></notes>
</symbol>
<symbol id="OPEN_DOOR_ERROR">
<label>Open Door Error</label>
<description>One or more doors are open.</description>
<notes></notes>
</symbol>
<symbol id="RESERVED_3">
<label>Reserved</label>
<description>Reserved bit.</description>
<notes>Do not implement.</notes>
</symbol>
<symbol id="OTHER_ALARM">
<label>Other String Alarm</label>
<description>A vendor specific alarm has occurred.</description>
<notes>See EvtVnd1 and EvtVnd2 for more information.</notes>
</symbol>
<symbol id="OTHER_WARNING">
<label>Other String Warning</label>
<description>A vendor specific warning has occurred.</description>
<notes>See EvtVnd1 and EvtVnd2 for more information.</notes>
</symbol>
<symbol id="FIRE_ALARM">
<label>Fire Alarm</label>
<description>A fire has been detected.</description>
<notes></notes>
</symbol>
<symbol id="CONFIGURATION_ALARM">
<label>Configuration Alarm</label>
<description>The battery string has been configured incorrectly and will not operate.</description>
<notes></notes>
</symbol>
<symbol id="CONFIGURATION_WARNING">
<label>Configuration Warning</label>
<description>The battery string has been configured incorrectly and may not operate as expected.</description>
<notes></notes>
</symbol>
</point>
<point id="Evt2">
<label>String Event 2</label>
<description>Alarms, warnings and status values. Bit flags.</description>
<notes></notes>
<symbol id="LEAK_ALARM">
<label>Leak Alarm</label>
<description>A leak has been detected.</description>
<notes></notes>
</symbol>
<symbol id="PUMP_ALARM">
<label>Pump Alarm</label>
<description>A pump has experienced an alarm condition or some other error.</description>
<notes></notes>
</symbol>
<symbol id="HIGH_PRESSURE_ALARM">
<label>High Pressure Alarm</label>
<description>Pressure exceeds maximum value.</description>
<notes></notes>
</symbol>
<symbol id="HIGH_PRESSURE_WARNING">
<label>High Pressure Warning</label>
<description>Pressure approaching maximum value.</description>
<notes></notes>
</symbol>
<symbol id="LOW_FLOW_ALARM">
<label>Low Flow Alarm</label>
<description>Flow exceeds minimum value.</description>
<notes></notes>
</symbol>
<symbol id="LOW_FLOW_WARNING">
<label>Low Flow Warning</label>
<description>Flow approaching minimum value.</description>
<notes></notes>
</symbol>
</point>
<point id="EvtVnd1">
<label>Vendor Event Bitfield 1</label>
<description>Vendor defined events.</description>
<notes></notes>
</point>
<point id="EvtVnd2">
<label>Vendor Event Bitfield 2</label>
<description>Vendor defined events.</description>
<notes></notes>
</point>
<point id="CellV_SF">
<label></label>
<description>Scale factor for voltage.</description>
<notes></notes>
</point>
<point id="Tmp_SF">
<label></label>
<description>Scale factor for temperature.</description>
<notes></notes>
</point>
<point id="SoC_SF">
<label></label>
<description>Scale factor for state of charge.</description>
<notes></notes>
</point>
<point id="OCV_SF">
<label></label>
<description>Scale factor for open circuit voltage.</description>
<notes></notes>
</point>
<point id="Pad1">
<label>Pad</label>
<description>Pad register.</description>
<notes> </notes>
</point>
<!-- Repeating Block Strings -->
<point id="ModIdx">
<label>Module Index</label>
<description>Index of the module within the string.</description>
<notes>Indices are one-based.</notes>
</point>
<point id="ModNStk">
<label>Stack Count</label>
<description>Number of stacks in this module.</description>
<notes></notes>
</point>
<point id="ModSt">
<label>Module Status</label>
<description>Current status of the module.</description>
<notes></notes>
<symbol id="MODULE_ENABLED">
<label>Module Is Enabled</label>
<description>Module is enabled and will connect next time battery is asked to connect.</description>
<notes></notes>
</symbol>
<symbol id="CONTACTOR_STATUS">
<label>Contactor Status</label>
<description>Module contactor is closed.</description>
<notes>If module has multiple contactors, indicates that all contactors are closed.</notes>
</symbol>
</point>
<point id="ModSoC">
<label>Module State of Charge</label>
<description>State of charge for this module.</description>
<notes></notes>
</point>
<point id="ModOCV">
<label>Open Circuit Voltage</label>
<description>Open circuit voltage for this module.</description>
<notes></notes>
</point>
<point id="ModV">
<label>External Voltage</label>
<description>External voltage fo this module.</description>
<notes></notes>
</point>
<point id="ModCellVMax">
<label>Maximum Cell Voltage</label>
<description>Maximum voltage for all cells in this module.</description>
<notes>Measurement.</notes>
</point>
<point id="ModCellVMaxCell">
<label>Max Cell Voltage Cell</label>
<description>Cell with the maximum cell voltage.</description>
<notes></notes>
</point>
<point id="ModCellVMin">
<label>Minimum Cell Voltage</label>
<description>Minimum voltage for all cells in this module.</description>
<notes>Measurement.</notes>
</point>
<point id="ModCellVMinCell">
<label>Min Cell Voltage Cell</label>
<description>Cell with the minimum cell voltage.</description>
<notes></notes>
</point>
<point id="ModCellVAvg">
<label>Average Cell Voltage</label>
<description>Average voltage for all cells in this module.</description>
<notes>Calculation based on measurements.</notes>
</point>
<point id="ModAnoTmp">
<label>Anolyte Temperature</label>
<description></description>
<notes></notes>
</point>
<point id="ModCatTmp">
<label>Catholyte Temperature</label>
<description></description>
<notes></notes>
</point>
<point id="ModConSt">
<label>Contactor Status</label>
<description></description>
<notes></notes>
<symbol id="CONTACTOR_0">
<label>Contactor 0 Closed</label>
<description></description>
<notes></notes>
</symbol>
<symbol id="CONTACTOR_1">
<label>Contactor 1 Closed</label>
<description></description>
<notes></notes>
</symbol>
<symbol id="CONTACTOR_2">
<label>Contactor 2 Closed</label>
<description></description>
<notes></notes>
</symbol>
<symbol id="CONTACTOR_3">
<label>Contactor 3 Closed</label>
<description></description>
<notes></notes>
</symbol>
<symbol id="CONTACTOR_4">
<label>Contactor 4 Closed</label>
<description></description>
<notes></notes>
</symbol>
<symbol id="CONTACTOR_5">
<label>Contactor 5 Closed</label>
<description></description>
<notes></notes>
</symbol>
<symbol id="CONTACTOR_6">
<label>Contactor 6 Closed</label>
<description></description>
<notes></notes>
</symbol>
<symbol id="CONTACTOR_7">
<label>Contactor 7 Closed</label>
<description></description>
<notes></notes>
</symbol>
<symbol id="CONTACTOR_8">
<label>Contactor 8 Closed</label>
<description></description>
<notes></notes>
</symbol>
<symbol id="CONTACTOR_9">
<label>Contactor 9 Closed</label>
<description></description>
<notes></notes>
</symbol>
<symbol id="CONTACTOR_10">
<label>Contactor 10 Closed</label>
<description></description>
<notes></notes>
</symbol>
<symbol id="CONTACTOR_11">
<label>Contactor 11 Closed</label>
<description></description>
<notes></notes>
</symbol>
<symbol id="CONTACTOR_12">
<label>Contactor 12 Closed</label>
<description></description>
<notes></notes>
</symbol>
<symbol id="CONTACTOR_13">
<label>Contactor 13 Closed</label>
<description></description>
<notes></notes>
</symbol>
<symbol id="CONTACTOR_14">
<label>Contactor 14 Closed</label>
<description></description>
<notes></notes>
</symbol>
<symbol id="CONTACTOR_15">
<label>Contactor 15 Closed</label>
<description></description>
<notes></notes>
</symbol>
<symbol id="CONTACTOR_16">
<label>Contactor 16 Closed</label>
<description></description>
<notes></notes>
</symbol>
<symbol id="CONTACTOR_17">
<label>Contactor 17 Closed</label>
<description></description>
<notes></notes>
</symbol>
<symbol id="CONTACTOR_18">
<label>Contactor 18 Closed</label>
<description></description>
<notes></notes>
</symbol>
<symbol id="CONTACTOR_19">
<label>Contactor 19 Closed</label>
<description></description>
<notes></notes>
</symbol>
<symbol id="CONTACTOR_20">
<label>Contactor 20 Closed</label>
<description></description>
<notes></notes>
</symbol>
<symbol id="CONTACTOR_21">
<label>Contactor 21 Closed</label>
<description></description>
<notes></notes>
</symbol>
<symbol id="CONTACTOR_22">
<label>Contactor 22 Closed</label>
<description></description>
<notes></notes>
</symbol>
<symbol id="CONTACTOR_23">
<label>Contactor 23 Closed</label>
<description></description>
<notes></notes>
</symbol>
<symbol id="CONTACTOR_24">
<label>Contactor 24 Closed</label>
<description></description>
<notes></notes>
</symbol>
<symbol id="CONTACTOR_25">
<label>Contactor 25 Closed</label>
<description></description>
<notes></notes>
</symbol>
<symbol id="CONTACTOR_26">
<label>Contactor 26 Closed</label>
<description></description>
<notes></notes>
</symbol>
<symbol id="CONTACTOR_27">
<label>Contactor 27 Closed</label>
<description></description>
<notes></notes>
</symbol>
<symbol id="CONTACTOR_28">
<label>Contactor 28 Closed</label>
<description></description>
<notes></notes>
</symbol>
<symbol id="CONTACTOR_29">
<label>Contactor 29 Closed</label>
<description></description>
<notes></notes>
</symbol>
<symbol id="CONTACTOR_30">
<label>Contactor 30 Closed</label>
<description></description>
<notes></notes>
</symbol>
</point>
<point id="ModEvt1">
<label>Module Event 1</label>
<description>Alarms, warnings and status values. Bit flags.</description>
<notes></notes>
<symbol id="COMMUNICATION_ERROR">
<label>Communication Error</label>
<description>Module is unable to communicate with the BMS or other components.</description>
<notes></notes>
</symbol>
<symbol id="OVER_TEMP_ALARM">
<label>Over Temperature Alarm</label>
<description>Module has exceeded maximum operating temperature</description>
<notes></notes>
</symbol>
<symbol id="OVER_TEMP_WARNING">
<label>Over Temperature Warning</label>
<description>Module is approaching maximum operating temperature.</description>
<notes></notes>
</symbol>
<symbol id="UNDER_TEMP_ALARM">
<label>Under Temperature Alarm</label>
<description>Module has exceeded minimum operating temperature</description>
<notes></notes>
</symbol>
<symbol id="UNDER_TEMP_WARNING">
<label>Under Temperature Warning</label>
<description>Module is approaching minimum operating temperature.</description>
<notes></notes>
</symbol>
<symbol id="OVER_CHARGE_CURRENT_ALARM">
<label>Over Charge Current Alarm</label>
<description>Module maximum charge current has been exceeded.</description>
<notes>See AChaMax in model S 802.</notes>
</symbol>
<symbol id="OVER_CHARGE_CURRENT_WARNING">
<label>Over Charge Current Warning</label>
<description>Approaching module maximum charge current.</description>
<notes>See AChaMax in model S 802.</notes>
</symbol>
<symbol id="OVER_DISCHARGE_CURRENT_ALARM">
<label>Over Discharge Current Alarm</label>
<description>Module maximum discharge current has been exceeded.</description>
<notes>See ADisChaMax in model S 802.</notes>
</symbol>
<symbol id="OVER_DISCHARGE_CURRENT_WARNING">
<label>Over Discharge Current Warning</label>
<description>Approaching module maximum discharge current.</description>
<notes>See ADisChaMax in model S 802.</notes>
</symbol>
<symbol id="OVER_VOLT_ALARM">
<label>Over Voltage Alarm</label>
<description>Module voltage has exceeded maximum limit.</description>
<notes></notes>
</symbol>
<symbol id="OVER_VOLT_WARNING">
<label>Over Voltage Warning</label>
<description>Module voltage is approaching maximum limit.</description>
<notes></notes>
</symbol>
<symbol id="UNDER_VOLT_ALARM">
<label>Under Voltage Alarm</label>
<description>Module voltage has exceeded minimum limit.</description>
<notes></notes>
</symbol>
<symbol id="UNDER_VOLT_WARNING">
<label>Under Voltage Warning</label>
<description>Module voltage is approaching minimum limit.</description>
<notes></notes>
</symbol>
<symbol id="UNDER_SOC_MIN_ALARM">
<label>Under State of Charge Minimum Alarm</label>
<description>Module state of charge has reached or exceeded SoCMin.</description>
<notes></notes>
</symbol>
<symbol id="UNDER_SOC_MIN_WARNING">
<label>Under State of Charge Minimum Warning</label>
<description>Module state of charge is approaching SoCMin.</description>
<notes></notes>
</symbol>
<symbol id="OVER_SOC_MAX_ALARM">
<label>Over State of Charge Maximum Alarm</label>
<description>Module state of charge has reached or exceeded SoCMax.</description>
<notes></notes>
</symbol>
<symbol id="OVER_SOC_MAX_WARNING">
<label>Over State of Charge Maximum Warning</label>
<description>Module state of charge is approaching SoCMax.</description>
<notes></notes>
</symbol>
<symbol id="VOLTAGE_IMBALANCE_WARNING">
<label>Voltage Imbalance Warning</label>
<description>A voltage imbalance exists between the stacks in the module.</description>
<notes></notes>
</symbol>
<symbol id="RESERVED_1">
<label>Reserved</label>
<description>Reserved bit.</description>
<notes>Do not implement.</notes>
</symbol>
<symbol id="RESERVED_1">
<label>Reserved</label>
<description>Reserved bit.</description>
<notes>Do not implement.</notes>
</symbol>
<symbol id="CONTACTOR_ERROR">
<label>Contactor Error</label>
<description>A contactor failed to open or close as requested.</description>
<notes></notes>
</symbol>
<symbol id="FAN_ERROR">
<label>Fan Error</label>
<description>One or more module fans has failed.</description>
<notes></notes>
</symbol>
<symbol id="GROUND_FAULT">
<label>Ground Fault Error</label>
<description>Ground fault detected.</description>
<notes></notes>
</symbol>
<symbol id="OPEN_DOOR_ERROR">
<label>Open Door Error</label>
<description>One or more doors are open.</description>
<notes></notes>
</symbol>
<symbol id="RESERVED_3">
<label>Reserved</label>
<description>Reserved bit.</description>
<notes>Do not implement.</notes>
</symbol>
<symbol id="RESERVED_4">
<label>Reserved</label>
<description>Reserved bit.</description>
<notes>Do not implement.</notes>
</symbol>
<symbol id="RESERVED_5">
<label>Reserved</label>
<description>Reserved bit.</description>
<notes>Do not implement.</notes>
</symbol>
<symbol id="FIRE_ALARM">
<label>Fire Alarm</label>
<description>A fire has been detected.</description>
<notes></notes>
</symbol>
<symbol id="MODULE_CONFIGURATION_ALARM">
<label>Configuration Alarm</label>
<description>The battery module has been configured incorrectly and will not operate.</description>
<notes></notes>
</symbol>
<symbol id="MODULE_CONFIGURATION_WARNING">
<label>Configuration Warning</label>
<description>The battery module has been configured incorrectly and may not operate as expected.</description>
<notes></notes>
</symbol>
</point>
<point id="ModEvt2">
<label>Module Event 2</label>
<description>Alarms, warnings and status values. Bit flags.</description>
<notes></notes>
<symbol id="LEAK_ALARM">
<label>Leak Alarm</label>
<description>A leak has been detected.</description>
<notes></notes>
</symbol>
<symbol id="PUMP_ALARM">
<label>Pump Alarm</label>
<description>A pump has experienced an alarm condition or some other error.</description>
<notes></notes>
</symbol>
<symbol id="HIGH_PRESSURE_ALARM">
<label>High Pressure Alarm</label>
<description>Pressure exceeds maximum value.</description>
<notes></notes>
</symbol>
<symbol id="HIGH_PRESSURE_WARNING">
<label>High Pressure Warning</label>
<description>Pressure approaching maximum value.</description>
<notes></notes>
</symbol>
<symbol id="LOW_FLOW_ALARM">
<label>Low Flow Alarm</label>
<description>Flow exceeds minimum value.</description>
<notes></notes>
</symbol>
<symbol id="LOW_FLOW_WARNING">
<label>Low Flow Warning</label>
<description>Flow approaching minimum value.</description>
<notes></notes>
</symbol>
</point>
<point id="ModConFail">
<label>Connection Failure Reason</label>
<description></description>
<notes></notes>
<symbol id="NO_FAILURE">
<label>No Failure</label>
<description>Connect did not fail.</description>
<notes></notes>
</symbol>
<symbol id="BUTTON_PUSHED">
<label>Button Pushed</label>
<description>A button was pushed which prevented connection.</description>
<notes></notes>
</symbol>
<symbol id="MODULE_GROUND_FAULT">
<label>Ground Fault</label>
<description>Ground fault during auto-connect.</description>
<notes></notes>
</symbol>
<symbol id="OUTSIDE_VOLTAGE_RANGE">
<label>Outside Voltage Range</label>
<description>Outside voltage target window during auto-connect.</description>
<notes></notes>
</symbol>
<symbol id="MODULE_NOT_ENABLED">
<label>Module Not Enabled</label>
<description>The module is not enabled.</description>
<notes></notes>
</symbol>
<symbol id="FUSE_OPEN">
<label>Fuse Open</label>
<description>A fuse is open which prevents connection.</description>
<notes></notes>
</symbol>
<symbol id="CONTACTOR_FAILURE">
<label>Contactor Failure</label>
<description>A contactor failed to operate.</description>
<notes></notes>
</symbol>
<symbol id="PRECHARGE_FAILURE">
<label>Precharge Failure</label>
<description>A failure during precharge occurred.</description>
<notes></notes>
</symbol>
<symbol id="MODULE_FAULT">
<label>Module Fault</label>
<description>A module fault has occurred.</description>
<notes>See ModEvt1 and ModEvt2 for more information.</notes>
</symbol>
</point>
<point id="ModSetEna">
<label>Enable/Disable Module</label>
<description>Enables and disables the module.</description>
<notes>Should reset to 0 upon completion.</notes>
<symbol id="ENABLE_MODULE">
<label>Enable Module</label>
<description>Enable the module.</description>
<notes></notes>
</symbol>
<symbol id="DISABLE_MODULE">
<label>Disable Module</label>
<description>Disable the module.</description>
<notes></notes>
</symbol>
</point>
<point id="ModSetCon">
<label>Connect/Disconnect Module </label>
<description>Connects and disconnects the module.</description>
<notes>Should reset to 0 upon completion.</notes>
<symbol id="CONNECT_MODULE">
<label>Connect Module</label>
<description>Connect the module.</description>
<notes></notes>
</symbol>
<symbol id="DISCONNECT_MODULE">
<label>Disconnect Module</label>
<description>Disconnect the module.</description>
<notes></notes>
</symbol>
</point>
<point id="ModDisRsn">
<label>Disabled Reason</label>
<description>Reason why the module is currently disabled.</description>
<notes></notes>
<symbol id="NONE">
<label>No Reason</label>
<description>No reason provided.</description>
<notes></notes>
</symbol>
<symbol id="FAULT">
<label>Fault</label>
<description>A fault has occurred which caused the module to be disabled.</description>
<notes></notes>
</symbol>
<symbol id="MAINTENANCE">
<label>Maintenance</label>
<description>The module has been disabled for maintenance reasons.</description>
<notes></notes>
</symbol>
<symbol id="EXTERNAL">
<label>External</label>
<description>The module has been disabled by an external user or controller.</description>
<notes></notes>
</symbol>
<symbol id="OTHER">
<label>Other</label>
<description>The module has been disabled for some other reason.</description>
<notes></notes>
</symbol>
</point>
</strings>
</sunSpecModels>