node-red-contrib-luxtronik2
Version:
Node, that reads and controls heat pumps based on the Luxtronik 2.0 contol unit. Supports for example AlphaInnotec and Siemens Novelan (WRP NET).
161 lines (155 loc) • 7.88 kB
HTML
<script type="text/x-red" data-template-name="luxtronik2 read">
<div class="form-row">
<label for="node-input-host"><i class="fa fa-globe"></i> Host</label>
<input type="text" id="node-input-host" placeholder="127.0.0.1">
</div>
<div class="form-row">
<label for="node-input-port"><i class="fa fa-server"></i> Port</label>
<input type="text" id="node-input-port" placeholder="8888">
</div>
<div class="form-row">
<label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
<input type="text" id="node-input-name" placeholder="Name">
</div>
</script>
<script type="text/x-red" data-help-name="luxtronik2 read">
<p>Reads heat pumps based on the Luxtronik 2.0 contol unit.</p>
<p>Connect your unit via LAN and configure the IP address parameters at your unit.</p>
<p>Every incoming message to the Luxtronik2 node you get a message with all readable values from the heat pump.</p>
</script>
<script type="text/javascript">
RED.nodes.registerType("luxtronik2 read", {
category: "input",
defaults: {
name: {name: ""},
host: {required: true},
port: {value: "8888"}
},
color: "BurlyWood",
inputs: 1,
outputs: 1,
icon: "db.png",
paletteLabel: "luxtronik2",
label: function() {
return this.name || "luxtronik2";
},
labelStyle: function() {
return this.name ? "node_label_italic" : "";
}
});
</script>
<script type="text/x-red" data-template-name="luxtronik2 write">
<div class="form-row">
<label for="node-input-host"><i class="fa fa-globe"></i> Host</label>
<input type="text" id="node-input-host" placeholder="127.0.0.1">
</div>
<div class="form-row">
<label for="node-input-port"><i class="fa fa-server"></i> Port</label>
<input type="text" id="node-input-port" placeholder="8888">
</div>
<div class="form-row">
<label for="node-input-parameter"><i class="fa fa-fish"></i> Parameter</label>
<select type="text" id="node-input-parameter">
<option value=""></option>
<option value="heating_target_temperature">Heating target temperature (1)</option>
<option value="warmwater_target_temperature">Warmwater target temperature (2)</option>
<option value="heating_operation_mode">Heating operation mode (3)</option>
<option value="warmwater_operation_mode">Warmwater operation mode (4)</option>
<option value="heating_curve_end_point">Heatingcurve endpoint (11)</option>
<option value="heating_curve_parallel_offset">Heatingcurve parallel offset (12)</option>
<option value="deltaHeatingReduction">Delta Heating reduction (13)</option>
<option value="mk1_curve_end_point">MK1 curve endpoint (14)</option>
<option value="mk1_curve_parallel_offset">MK1 curve parallel offset (15)</option>
<option value="deltaMk1Reduction">MK1 curve Heating reduction (16)</option>
<option value="hotwater_temperature_hysteresis">Hotwater temperature hysteresis (74)</option>
<option value="return_temperature_hysteresis">Return temperature hysteresis (88)</option>
<option value="heating_temperature_outside_2nd_compressor">Heating temperature outside 2nd compressor (95)</option>
<option value="hotwater_temperature_forerun_2nd_compressor">Hot water temperature forerun 2nd compressor (96)</option>
<option value="temperature_hot_water_target">Hot water target temperature (105)</option>
<option value="cooling_operation_mode">Cooling operation mode (108)</option>
<option value="cooling_release_temp">Cooling release temperature (110)</option>
<option value="cooling_inlet_temp">Cooling inlet temperature (132)</option>
<option value="runDeaerate">run Dearate (158)</option>
<option value="hotWaterCircPumpDeaerate">Hot water circulation pump Dearate (684)</option>
<option value="solarPumpDeaerate">Solar pump Dearate (688)</option>
<option value="cooling_start">Cooling start (850)</option>
<option value="cooling_stop">Cooling stop (851)</option>
<option value="heating_system_circ_pump_voltage_nominal">Heating System circulation pump voltage nominal (867)</option>
<option value="heating_system_circ_pump_voltage_minimal">Heating System circulation pump voltage minimal (868)</option>
</select>
</div>
<div class="form-row">
<label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
<input type="text" id="node-input-name" placeholder="Name">
</div>
<div class="form-tips">Tip: Leave parameter blank if you want to set them via msg.parameter.</div>
</script>
<script type="text/x-red" data-help-name="luxtronik2 write">
<p>Controls heat pumps based on the Luxtronik 2.0 contol unit.</p>
<p>Connect your unit via LAN and configure the IP address parameters at your unit.</p>
<h3>Inputs</h3>
<dl class="message-properties">
<dt>payload <span class="property-type">string | number</span></dt>
<dd> setvalue as number or string</dd>
<dt class="optional">parameter <span class="property-type">string</span></dt>
<dd> set parameter in config or leave it empty and set it via msg.parameter.
<ul>
<li>'heating_target_temperature'</li>
<li>'warmwater_target_temperature'</li>
<li>'heating_operation_mode'</li>
<li>'warmwater_operation_mode'</li>
<li>'heating_curve_end_point'</li>
<li>'heating_curve_parallel_offset'</li>
<li>'deltaHeatingReduction'</li>
<li>'mk1_curve_end_point'</li>
<li>'mk1_curve_parallel_offset'</li>
<li>'deltaMk1Reduction'</li>
<li>'hotwater_temperature_hysteresis'</li>
<li>'return_temperature_hysteresis'</li>
<li>'heating_temperature_outside_2nd_compressor'</li>
<li>'hotwater_temperature_forerun_2nd_compressor'</li>
<li>'temperature_hot_water_target'</li>
<li>'cooling_operation_mode'</li>
<li>'cooling_release_temp'</li>
<li>'cooling_inlet_temp'</li>
<li>'runDeaerate'</li>
<li>'hotWaterCircPumpDeaerate'</li>
<li>'solarPumpDeaerate'</li>
<li>'cooling_start'</li>
<li>'cooling_stop'</li>
<li>'heating_system_circ_pump_voltage_nominal'</li>
<li>'heating_system_circ_pump_voltage_minimal'</li>
</ul>
</dd>
<dt class="optional">raw_parameter <span class="property-type">number</span></dt>
<dd> Use RAW write operation to heat pump by passing the heat pump parameter directly as number
via <code>msg.raw_parameter</code>.
The config option 'parameter' or <code>msg.parameter</code> is ignored in this case.
The RAW parameter value must be provided via <code>msg.payload</code>.
Attention: No automatic parameter format conversions are done in this mode.
</dd>
</dl>
</script>
<script type="text/javascript">
RED.nodes.registerType("luxtronik2 write", {
category: "output",
defaults: {
name: {name: ""},
host: {required: true},
port: {value: "8888"},
parameter: {value: ""}
},
color:"BurlyWood",
inputs: 1,
outputs: 1,
icon: "db.png",
align: "right",
paletteLabel: "luxtronik2",
label: function() {
return this.name || "luxtronik2";
},
labelStyle: function() {
return this.name ? "node_label_italic" : "";
}
});
</script>