/// <summary>
 /// Initializes a new instance of the NAThermostat class.
 /// </summary>
 /// <param name="type">Included in every device or module. It defines
 /// the type of the device/module. Its values are among :
 /// NAMain : for the base station
 /// NAModule1 : for the outdoor module
 /// NAModule4 : for the additionnal indoor module
 /// NAModule3 : for the rain gauge module
 /// NAPlug : for the thermostat relay/plug
 /// NATherm1 : for the thermostat module
 /// </param>
 /// <param name="rfStatus">"It contains the current radio status. The
 /// different thresholds to take into account are :" |
 /// RADIO_THRESHOLD_SIGNAL_LOW = 90
 /// RADIO_THRESHOLD_SIGNAL_MEDIUM = 80
 /// RADIO_THRESHOLD_SIGNAL_HIGH = 70
 /// RADIO_THRESHOLD_SIGNAL_FULL = 60
 /// </param>
 /// <param name="batteryVp">It contains the current battery status. The
 /// threshold depends on the kind of module, below is the list of the
 /// different threshold to take into account according the module type.
 /// "Indoor module Battery range: 6000 ... 4200" |
 /// INDOOR_BATTERY_LEVEL_FULL = 5640
 /// INDOOR_BATTERY_LEVEL_HIGH = 5280
 /// INDOOR_BATTERY_LEVEL_MEDIUM = 4920
 /// INDOOR_BATTERY_LEVEL_LOW = 4560
 /// "Below 4560: very low" |
 ///
 /// "Raingauge and outdoor module Battery range: 6000 ... 3600" |
 /// BATTERY_LEVEL_FULL = 5500
 /// BATTERY_LEVEL_HIGH = 5000
 /// BATTERY_LEVEL_MEDIUM = 4500
 /// BATTERY_LEVEL_LOW = 4000
 /// "Below 4000: very low" |
 ///
 /// "Thermostat Battery range: 4500 ... 3000" |
 /// THERMOSTAT_BATTERY_LEVEL_FULL = 4100
 /// THERMOSTAT_BATTERY_LEVEL_HIGH = 3600
 /// THERMOSTAT_BATTERY_LEVEL_MEDIUM = 3300
 /// THERMOSTAT_BATTERY_LEVEL_LOW = 3000
 /// "Below 3000: very low"
 /// </param>
 /// <param name="setpoint">Setpoint currently in use by the
 /// Thermostat.</param>
 /// <param name="measured">It contains the last measurements of the
 /// Thermostat</param>
 /// <param name="setpointHistory">The last 20 setpoints (mode, endtime,
 /// and timestamp) the thermostats has entered.</param>
 /// <param name="thermProgramList">List of the weekly heating planning
 /// used by the thermostat</param>
 public NAThermostat(string _id = default(string), int?firmware = default(int?), string type = default(string), string moduleName = default(string), int?lastMessage = default(int?), int?rfStatus = default(int?), int?batteryVp = default(int?), NASetpoint setpoint = default(NASetpoint), NASetpoint setpointOrder = default(NASetpoint), int?thermOrientation = default(int?), int?thermRelayCmd = default(int?), int?lastThermSeen = default(int?), NAThermMeasure measured = default(NAThermMeasure), IList <NASetpointLog> setpointHistory = default(IList <NASetpointLog>), IList <NAThermProgram> thermProgramList = default(IList <NAThermProgram>))
 {
     this._id         = _id;
     Firmware         = firmware;
     Type             = type;
     ModuleName       = moduleName;
     LastMessage      = lastMessage;
     RfStatus         = rfStatus;
     BatteryVp        = batteryVp;
     Setpoint         = setpoint;
     SetpointOrder    = setpointOrder;
     ThermOrientation = thermOrientation;
     ThermRelayCmd    = thermRelayCmd;
     LastThermSeen    = lastThermSeen;
     Measured         = measured;
     SetpointHistory  = setpointHistory;
     ThermProgramList = thermProgramList;
     CustomInit();
 }
 /// <summary>
 /// Initializes a new instance of the NAThermStateBody class.
 /// </summary>
 public NAThermStateBody(NASetpoint setpoint = default(NASetpoint), NASetpoint setpointOrder = default(NASetpoint), NAThermProgram thermProgram = default(NAThermProgram), IList <NAThermProgram> thermProgramBackup = default(IList <NAThermProgram>), NAThermProgram thermProgramOrder = default(NAThermProgram), int?thermOrientation = default(int?), int?thermRelayCmd = default(int?), int?batteryVp = default(int?), int?rfStatus = default(int?), int?plugConnectedBoiler = default(int?), bool?udpConn = default(bool?), int?lastThermSeen = default(int?), int?lastPlugSeen = default(int?), int?wifiStatus = default(int?), NAThermMeasure measured = default(NAThermMeasure))
 {
     Setpoint            = setpoint;
     SetpointOrder       = setpointOrder;
     ThermProgram        = thermProgram;
     ThermProgramBackup  = thermProgramBackup;
     ThermProgramOrder   = thermProgramOrder;
     ThermOrientation    = thermOrientation;
     ThermRelayCmd       = thermRelayCmd;
     BatteryVp           = batteryVp;
     RfStatus            = rfStatus;
     PlugConnectedBoiler = plugConnectedBoiler;
     UdpConn             = udpConn;
     LastThermSeen       = lastThermSeen;
     LastPlugSeen        = lastPlugSeen;
     WifiStatus          = wifiStatus;
     Measured            = measured;
     CustomInit();
 }