[LuxtronikHeatpump] Adds additional channels (#11860)
* Adds channels available on newer heatpumps Signed-off-by: Stefan Giehl <stefangiehl@gmail.com> Signed-off-by: Jamie Townsend <jamie_townsend@hotmail.com>
This commit is contained in:
@@ -137,7 +137,7 @@ public class ChannelUpdaterJob implements SchedulerRunnable, Runnable {
|
||||
if (SIUnits.CELSIUS.equals(unit) || Units.KELVIN.equals(unit) || Units.KILOWATT_HOUR.equals(unit)
|
||||
|| Units.PERCENT.equals(unit) || Units.HOUR.equals(unit)) {
|
||||
return new QuantityType<>((double) rawValue / 10, unit);
|
||||
} else if (Units.HERTZ.equals(unit) || Units.SECOND.equals(unit)) {
|
||||
} else if (Units.HERTZ.equals(unit) || Units.SECOND.equals(unit) || Units.WATT.equals(unit)) {
|
||||
return new QuantityType<>((double) rawValue, unit);
|
||||
} else if (Units.LITRE_PER_MINUTE.equals(unit)) {
|
||||
return new QuantityType<>((double) rawValue / 60, unit);
|
||||
|
||||
@@ -1193,6 +1193,42 @@ public enum HeatpumpChannel {
|
||||
*/
|
||||
CHANNEL_CODE_FREQ_VD(231, "frequencyCompressor", NumberItem.class, Units.HERTZ, false, null),
|
||||
|
||||
// For Heatpumps with a software version > 3.X the socket serves up to 260 values
|
||||
// As those heatpumps do no longer serve a java applet, but use a web ui, that uses
|
||||
// a web socket connection instead it's not possible to look up the channels in the
|
||||
// code. The following channels are determined based on their values and which value
|
||||
// they match on a heat pump
|
||||
|
||||
CHANNEL_232(232, "channel232", NumberItem.class, null, false, null),
|
||||
CHANNEL_233(233, "channel233", NumberItem.class, null, false, null),
|
||||
CHANNEL_234(234, "channel234", NumberItem.class, null, false, null),
|
||||
CHANNEL_235(235, "channel235", NumberItem.class, null, false, null),
|
||||
CHANNEL_236(236, "frequencyCompressorTarget", NumberItem.class, Units.HERTZ, false, null),
|
||||
CHANNEL_237(237, "channel237", NumberItem.class, null, false, null),
|
||||
CHANNEL_238(238, "channel238", NumberItem.class, null, false, null),
|
||||
CHANNEL_239(239, "channel239", NumberItem.class, null, false, null),
|
||||
CHANNEL_240(240, "channel240", NumberItem.class, null, false, null),
|
||||
CHANNEL_241(241, "channel241", NumberItem.class, null, false, null),
|
||||
CHANNEL_242(242, "channel242", NumberItem.class, null, false, null),
|
||||
CHANNEL_243(243, "channel243", NumberItem.class, null, false, null),
|
||||
CHANNEL_244(244, "channel244", NumberItem.class, null, false, null),
|
||||
CHANNEL_245(245, "channel245", NumberItem.class, null, false, null),
|
||||
CHANNEL_246(246, "channel246", NumberItem.class, null, false, null),
|
||||
CHANNEL_247(247, "channel247", NumberItem.class, null, false, null),
|
||||
CHANNEL_248(248, "channel248", NumberItem.class, null, false, null),
|
||||
CHANNEL_249(249, "channel249", NumberItem.class, null, false, null),
|
||||
CHANNEL_250(250, "channel250", NumberItem.class, null, false, null),
|
||||
CHANNEL_251(251, "channel251", NumberItem.class, null, false, null),
|
||||
CHANNEL_252(252, "channel252", NumberItem.class, null, false, null),
|
||||
CHANNEL_253(253, "channel253", NumberItem.class, null, false, null),
|
||||
CHANNEL_254(254, "flowRateHeatSource2", NumberItem.class, Units.LITRE_PER_MINUTE, false, null),
|
||||
CHANNEL_255(255, "channel255", NumberItem.class, null, false, null),
|
||||
CHANNEL_256(256, "channel256", NumberItem.class, null, false, null),
|
||||
CHANNEL_257(257, "heatingPowerActualValue", NumberItem.class, Units.WATT, false, null),
|
||||
CHANNEL_258(258, "channel258", NumberItem.class, null, false, null),
|
||||
CHANNEL_259(259, "channel259", NumberItem.class, null, false, null),
|
||||
CHANNEL_260(260, "channel260", NumberItem.class, null, false, null),
|
||||
|
||||
// Changeable Parameters
|
||||
// https://www.loxwiki.eu/display/LOX/Java+Webinterface?preview=/13306044/13307658/3003.txt
|
||||
|
||||
|
||||
@@ -7,6 +7,32 @@ binding.luxtronikheatpump.description = This is the binding for a Heatpump with
|
||||
|
||||
thing-type.luxtronikheatpump.heatpump.label = Heatpump with Luxtronik Control
|
||||
thing-type.luxtronikheatpump.heatpump.description = Integrates a heatpump with a Luxtronik control.
|
||||
thing-type.luxtronikheatpump.heatpump.channel.channel232.label = Channel 232
|
||||
thing-type.luxtronikheatpump.heatpump.channel.channel233.label = Channel 233
|
||||
thing-type.luxtronikheatpump.heatpump.channel.channel234.label = Channel 234
|
||||
thing-type.luxtronikheatpump.heatpump.channel.channel235.label = Channel 235
|
||||
thing-type.luxtronikheatpump.heatpump.channel.channel237.label = Channel 237
|
||||
thing-type.luxtronikheatpump.heatpump.channel.channel238.label = Channel 238
|
||||
thing-type.luxtronikheatpump.heatpump.channel.channel239.label = Channel 239
|
||||
thing-type.luxtronikheatpump.heatpump.channel.channel240.label = Channel 240
|
||||
thing-type.luxtronikheatpump.heatpump.channel.channel241.label = Channel 241
|
||||
thing-type.luxtronikheatpump.heatpump.channel.channel242.label = Channel 242
|
||||
thing-type.luxtronikheatpump.heatpump.channel.channel243.label = Channel 243
|
||||
thing-type.luxtronikheatpump.heatpump.channel.channel244.label = Channel 244
|
||||
thing-type.luxtronikheatpump.heatpump.channel.channel245.label = Channel 245
|
||||
thing-type.luxtronikheatpump.heatpump.channel.channel246.label = Channel 246
|
||||
thing-type.luxtronikheatpump.heatpump.channel.channel247.label = Channel 247
|
||||
thing-type.luxtronikheatpump.heatpump.channel.channel248.label = Channel 248
|
||||
thing-type.luxtronikheatpump.heatpump.channel.channel249.label = Channel 249
|
||||
thing-type.luxtronikheatpump.heatpump.channel.channel250.label = Channel 250
|
||||
thing-type.luxtronikheatpump.heatpump.channel.channel251.label = Channel 251
|
||||
thing-type.luxtronikheatpump.heatpump.channel.channel252.label = Channel 252
|
||||
thing-type.luxtronikheatpump.heatpump.channel.channel253.label = Channel 253
|
||||
thing-type.luxtronikheatpump.heatpump.channel.channel255.label = Channel 255
|
||||
thing-type.luxtronikheatpump.heatpump.channel.channel256.label = Channel 256
|
||||
thing-type.luxtronikheatpump.heatpump.channel.channel258.label = Channel 258
|
||||
thing-type.luxtronikheatpump.heatpump.channel.channel259.label = Channel 259
|
||||
thing-type.luxtronikheatpump.heatpump.channel.channel260.label = Channel 260
|
||||
|
||||
# thing types config
|
||||
|
||||
@@ -52,8 +78,10 @@ channel-type.luxtronikheatpump.errorTime3.label = Timestamp Error 3
|
||||
channel-type.luxtronikheatpump.errorTime4.label = Timestamp Error 4
|
||||
channel-type.luxtronikheatpump.fanSpeed.label = Fan Speed
|
||||
channel-type.luxtronikheatpump.flowRateHeatSource.label = Flow Rate Heat Source
|
||||
channel-type.luxtronikheatpump.flowRateHeatSource2.label = Flow Rate Heat Source
|
||||
channel-type.luxtronikheatpump.fourWayValve.label = Four-way Valve
|
||||
channel-type.luxtronikheatpump.frequencyCompressor.label = Compressor Frequency
|
||||
channel-type.luxtronikheatpump.frequencyCompressorTarget.label = Compressor Target Frequency
|
||||
channel-type.luxtronikheatpump.heatMeterFlowRate.label = Heat Meter Flow Rate
|
||||
channel-type.luxtronikheatpump.heatMeterHeating.label = Heat Meter Heating
|
||||
channel-type.luxtronikheatpump.heatMeterHotWater.label = Heat Meter Domestic Water
|
||||
@@ -62,6 +90,7 @@ channel-type.luxtronikheatpump.heatMeterTotalSinceReset.label = Total Heat Meter
|
||||
channel-type.luxtronikheatpump.heatingControllerLessTime.label = Heating Controller Less Time
|
||||
channel-type.luxtronikheatpump.heatingControllerMoreTime.label = Heating Controller More Time
|
||||
channel-type.luxtronikheatpump.heatingMode.label = Heating Mode
|
||||
channel-type.luxtronikheatpump.heatingPowerActualValue.label = Heating Power Actual Value
|
||||
channel-type.luxtronikheatpump.highPressure.label = High Pressure
|
||||
channel-type.luxtronikheatpump.highPressure2.label = High Pressure 2
|
||||
channel-type.luxtronikheatpump.hotWaterMode.label = Hot Water Operating Mode
|
||||
@@ -266,9 +295,12 @@ channel-type.luxtronikheatpump.thermalDisinfectionWednesday.label = Thermal Disi
|
||||
channel-type.luxtronikheatpump.timeHotWaterLock.label = Hot Water Lock
|
||||
channel-type.luxtronikheatpump.timeLockSecondHotGasCompressor.label = Lock 2nd Compressor Hot Gas
|
||||
channel-type.luxtronikheatpump.timeUntilDefrost.label = Time until Defrost
|
||||
channel-type.luxtronikheatpump.unknown.label = Unknown Channel
|
||||
channel-type.luxtronikheatpump.ventilationBoardInstalled.label = Ventilation Board Installed
|
||||
channel-type.luxtronikheatpump.voltageInverter.label = Voltage Inverter
|
||||
|
||||
# channel types
|
||||
|
||||
channel-type.luxtronikheatpump.SwitchoffX_file_NrX.state.option.1 = Heat pump malfunction
|
||||
channel-type.luxtronikheatpump.SwitchoffX_file_NrX.state.option.2 = Facility malfunction
|
||||
channel-type.luxtronikheatpump.SwitchoffX_file_NrX.state.option.3 = Second heat generator operating mode
|
||||
@@ -366,7 +398,6 @@ channel-type.luxtronikheatpump.errorCodeX.state.option.802 = Switchbox fan
|
||||
channel-type.luxtronikheatpump.errorCodeX.state.option.803 = Switchbox fan
|
||||
channel-type.luxtronikheatpump.errorCodeX.state.option.806 = ModBus SEC
|
||||
channel-type.luxtronikheatpump.errorCodeX.state.option.807 = Lost ModBus communication
|
||||
|
||||
channel-type.luxtronikheatpump.menuStateLine1.state.option.0 = Heat pump runs
|
||||
channel-type.luxtronikheatpump.menuStateLine1.state.option.1 = Heat pump stopped
|
||||
channel-type.luxtronikheatpump.menuStateLine1.state.option.2 = Heat pump coming
|
||||
@@ -393,7 +424,6 @@ channel-type.luxtronikheatpump.menuStateLine3.state.option.13 = Heating ext. ene
|
||||
channel-type.luxtronikheatpump.menuStateLine3.state.option.14 = Service water ext. energy source
|
||||
channel-type.luxtronikheatpump.menuStateLine3.state.option.16 = Flow monitoring
|
||||
channel-type.luxtronikheatpump.menuStateLine3.state.option.17 = Second heat generator 1 operation
|
||||
|
||||
channel-type.luxtronikheatpump.operationMode.state.option.0 = Auto
|
||||
channel-type.luxtronikheatpump.operationMode.state.option.1 = Auxiliary heater
|
||||
channel-type.luxtronikheatpump.operationMode.state.option.2 = Party
|
||||
|
||||
@@ -1946,6 +1946,30 @@
|
||||
<state pattern="%.1f %unit%" readOnly="true"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="frequencyCompressorTarget" advanced="true">
|
||||
<item-type>Number:Frequency</item-type>
|
||||
<label>Compressor Target Frequency</label>
|
||||
<state pattern="%.1f %unit%" readOnly="true"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="flowRateHeatSource2" advanced="true">
|
||||
<item-type>Number:VolumetricFlowRate</item-type>
|
||||
<label>Flow Rate Heat Source</label>
|
||||
<state pattern="%.1f %unit%" readOnly="true"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="heatingPowerActualValue" advanced="true">
|
||||
<item-type>Number:Power</item-type>
|
||||
<label>Heating Power Actual Value</label>
|
||||
<state pattern="%.1f %unit%" readOnly="true"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="unknown" advanced="true">
|
||||
<item-type>Number</item-type>
|
||||
<label>Unknown Channel</label>
|
||||
<state readOnly="true"/>
|
||||
</channel-type>
|
||||
|
||||
|
||||
<channel-type id="temperatureHeatingParallelShift">
|
||||
<item-type>Number:Temperature</item-type>
|
||||
@@ -2072,14 +2096,14 @@
|
||||
<item-type>Number:Time</item-type>
|
||||
<label>AT Excess</label>
|
||||
<category>Time</category>
|
||||
<state pattern="%.1f %unit%" step="1"></state>
|
||||
<state pattern="%.1f %unit%" step="0.5" min="0" max="12"></state>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="comfortCoolingATUndercut">
|
||||
<item-type>Number:Time</item-type>
|
||||
<label>AT Undercut</label>
|
||||
<category>Time</category>
|
||||
<state pattern="%.1f %unit%" step="1"></state>
|
||||
<state pattern="%.1f %unit%" step="0.5" min="0" max="12"></state>
|
||||
</channel-type>
|
||||
|
||||
</thing:thing-descriptions>
|
||||
|
||||
@@ -211,6 +211,87 @@
|
||||
<channel id="temperatureRoomTarget" typeId="temperatureRoomTarget"/>
|
||||
<channel id="temperatureHotWaterTop" typeId="temperatureHotWaterTop"/>
|
||||
<channel id="frequencyCompressor" typeId="frequencyCompressor"/>
|
||||
<channel id="channel232" typeId="unknown">
|
||||
<label>Channel 232</label>
|
||||
</channel>
|
||||
<channel id="channel233" typeId="unknown">
|
||||
<label>Channel 233</label>
|
||||
</channel>
|
||||
<channel id="channel234" typeId="unknown">
|
||||
<label>Channel 234</label>
|
||||
</channel>
|
||||
<channel id="channel235" typeId="unknown">
|
||||
<label>Channel 235</label>
|
||||
</channel>
|
||||
<channel id="frequencyCompressorTarget" typeId="frequencyCompressorTarget"/>
|
||||
<channel id="channel237" typeId="unknown">
|
||||
<label>Channel 237</label>
|
||||
</channel>
|
||||
<channel id="channel238" typeId="unknown">
|
||||
<label>Channel 238</label>
|
||||
</channel>
|
||||
<channel id="channel239" typeId="unknown">
|
||||
<label>Channel 239</label>
|
||||
</channel>
|
||||
<channel id="channel240" typeId="unknown">
|
||||
<label>Channel 240</label>
|
||||
</channel>
|
||||
<channel id="channel241" typeId="unknown">
|
||||
<label>Channel 241</label>
|
||||
</channel>
|
||||
<channel id="channel242" typeId="unknown">
|
||||
<label>Channel 242</label>
|
||||
</channel>
|
||||
<channel id="channel243" typeId="unknown">
|
||||
<label>Channel 243</label>
|
||||
</channel>
|
||||
<channel id="channel244" typeId="unknown">
|
||||
<label>Channel 244</label>
|
||||
</channel>
|
||||
<channel id="channel245" typeId="unknown">
|
||||
<label>Channel 245</label>
|
||||
</channel>
|
||||
<channel id="channel246" typeId="unknown">
|
||||
<label>Channel 246</label>
|
||||
</channel>
|
||||
<channel id="channel247" typeId="unknown">
|
||||
<label>Channel 247</label>
|
||||
</channel>
|
||||
<channel id="channel248" typeId="unknown">
|
||||
<label>Channel 248</label>
|
||||
</channel>
|
||||
<channel id="channel249" typeId="unknown">
|
||||
<label>Channel 249</label>
|
||||
</channel>
|
||||
<channel id="channel250" typeId="unknown">
|
||||
<label>Channel 250</label>
|
||||
</channel>
|
||||
<channel id="channel251" typeId="unknown">
|
||||
<label>Channel 251</label>
|
||||
</channel>
|
||||
<channel id="channel252" typeId="unknown">
|
||||
<label>Channel 252</label>
|
||||
</channel>
|
||||
<channel id="channel253" typeId="unknown">
|
||||
<label>Channel 253</label>
|
||||
</channel>
|
||||
<channel id="flowRateHeatSource2" typeId="flowRateHeatSource2"/>
|
||||
<channel id="channel255" typeId="unknown">
|
||||
<label>Channel 255</label>
|
||||
</channel>
|
||||
<channel id="channel256" typeId="unknown">
|
||||
<label>Channel 256</label>
|
||||
</channel>
|
||||
<channel id="heatingPowerActualValue" typeId="heatingPowerActualValue"/>
|
||||
<channel id="channel258" typeId="unknown">
|
||||
<label>Channel 258</label>
|
||||
</channel>
|
||||
<channel id="channel259" typeId="unknown">
|
||||
<label>Channel 259</label>
|
||||
</channel>
|
||||
<channel id="channel260" typeId="unknown">
|
||||
<label>Channel 260</label>
|
||||
</channel>
|
||||
|
||||
<channel id="temperatureHeatingParallelShift" typeId="temperatureHeatingParallelShift"/>
|
||||
<channel id="heatingMode" typeId="heatingMode"/>
|
||||
|
||||
Reference in New Issue
Block a user