Bumping version for release.
[PyCIM.git] / CIM14 / IEC61968 / LoadControl / RemoteConnectDisconnectInfo.py
blobb5e38cdb299b3f137883772e330f8cbded0bc01a
1 # Copyright (C) 2010 Richard Lincoln
3 # This library is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU Lesser General Public
5 # License as published by the Free Software Foundation; either
6 # version 2.1 of the License, or (at your option) any later version.
8 # This library is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 # Lesser General Public License for more details.
13 # You should have received a copy of the GNU Lesser General Public
14 # License along with this library; if not, write to the Free Software
15 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA, USA
17 from CIM14.Element import Element
19 class RemoteConnectDisconnectInfo(Element):
20 """Details of remote connect disconnect function.
21 """
23 def __init__(self, needsPowerLimitCheck=False, isEnergyLimiting=False, isArmConnect=False, energyUsageWarning=0.0, armedTimeout=0.0, energyUsageStartDateTime='', isArmDisconnect=False, needsVoltageLimitCheck=False, powerLimit=0.0, usePushbutton=False, customerVoltageLimit=0.0, energyLimit=0.0, *args, **kw_args):
24 """Initialises a new 'RemoteConnectDisconnectInfo' instance.
26 @param needsPowerLimitCheck: True if load limit must be checked to issue an immediate disconnect (after a connect) if load is over the limit.
27 @param isEnergyLimiting: True if the energy usage is limited and the customer will be disconnected if they go over the limit.
28 @param isArmConnect: True if the RCD switch must be armed before a connect action can be initiated.
29 @param energyUsageWarning: Warning energy limit, used to trigger event code that energy usage is nearing limit.
30 @param armedTimeout: Setting of the timeout elapsed time.
31 @param energyUsageStartDateTime: Start date and time to accumulate energy for energy usage limiting.
32 @param isArmDisconnect: True if the RCD switch must be armed before a disconnect action can be initiated.
33 @param needsVoltageLimitCheck: True if voltage limit must be checked to prevent connect if voltage is over the limit.
34 @param powerLimit: Load limit above which the connect should either not take place or should cause an immediate disconnect.
35 @param usePushbutton: True if pushbutton must be used for connect.
36 @param customerVoltageLimit: Voltage limit on customer side of RCD switch above which the connect should not be made.
37 @param energyLimit: Limit of energy before disconnect.
38 """
39 #: True if load limit must be checked to issue an immediate disconnect (after a connect) if load is over the limit.
40 self.needsPowerLimitCheck = needsPowerLimitCheck
42 #: True if the energy usage is limited and the customer will be disconnected if they go over the limit.
43 self.isEnergyLimiting = isEnergyLimiting
45 #: True if the RCD switch must be armed before a connect action can be initiated.
46 self.isArmConnect = isArmConnect
48 #: Warning energy limit, used to trigger event code that energy usage is nearing limit.
49 self.energyUsageWarning = energyUsageWarning
51 #: Setting of the timeout elapsed time.
52 self.armedTimeout = armedTimeout
54 #: Start date and time to accumulate energy for energy usage limiting.
55 self.energyUsageStartDateTime = energyUsageStartDateTime
57 #: True if the RCD switch must be armed before a disconnect action can be initiated.
58 self.isArmDisconnect = isArmDisconnect
60 #: True if voltage limit must be checked to prevent connect if voltage is over the limit.
61 self.needsVoltageLimitCheck = needsVoltageLimitCheck
63 #: Load limit above which the connect should either not take place or should cause an immediate disconnect.
64 self.powerLimit = powerLimit
66 #: True if pushbutton must be used for connect.
67 self.usePushbutton = usePushbutton
69 #: Voltage limit on customer side of RCD switch above which the connect should not be made.
70 self.customerVoltageLimit = customerVoltageLimit
72 #: Limit of energy before disconnect.
73 self.energyLimit = energyLimit
75 super(RemoteConnectDisconnectInfo, self).__init__(*args, **kw_args)
77 _attrs = ["needsPowerLimitCheck", "isEnergyLimiting", "isArmConnect", "energyUsageWarning", "armedTimeout", "energyUsageStartDateTime", "isArmDisconnect", "needsVoltageLimitCheck", "powerLimit", "usePushbutton", "customerVoltageLimit", "energyLimit"]
78 _attr_types = {"needsPowerLimitCheck": bool, "isEnergyLimiting": bool, "isArmConnect": bool, "energyUsageWarning": float, "armedTimeout": float, "energyUsageStartDateTime": str, "isArmDisconnect": bool, "needsVoltageLimitCheck": bool, "powerLimit": float, "usePushbutton": bool, "customerVoltageLimit": float, "energyLimit": float}
79 _defaults = {"needsPowerLimitCheck": False, "isEnergyLimiting": False, "isArmConnect": False, "energyUsageWarning": 0.0, "armedTimeout": 0.0, "energyUsageStartDateTime": '', "isArmDisconnect": False, "needsVoltageLimitCheck": False, "powerLimit": 0.0, "usePushbutton": False, "customerVoltageLimit": 0.0, "energyLimit": 0.0}
80 _enums = {}
81 _refs = []
82 _many_refs = []