Skip to content
Merged
Show file tree
Hide file tree
Changes from 24 commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
95fb888
New Crowdin updates (#19375)
openhab-bot Sep 22, 2025
66e7b90
Updated and signed off version of Lambda Heat Pump
chilobo Sep 23, 2025
b6d58b0
Merge remote-tracking branch 'origin/main' into modbus-lambda-heatpum…
chilobo Sep 25, 2025
4644f43
Fixed Co-Pilot guidance and formatting error
chilobo Sep 25, 2025
1096048
Updated and signed off version of Lambda Heat Pump
chilobo Sep 29, 2025
7fe2eae
Updated and signed off version of Lambda Heat Pump
chilobo Sep 30, 2025
f5957ee
Updated and signed off version of Lambda Heat Pump
chilobo Oct 21, 2025
7648e46
Updated and signed off version of Lambda Heat Pump
chilobo Oct 29, 2025
704379d
Update bundles/org.openhab.binding.modbus.lambda/src/main/java/org/op…
chilobo Nov 2, 2025
417f58f
Update bundles/org.openhab.binding.modbus.lambda/src/main/java/org/op…
chilobo Nov 2, 2025
4472981
Update bundles/org.openhab.binding.modbus.lambda/src/main/java/org/op…
chilobo Nov 2, 2025
01baf5a
Update bundles/org.openhab.binding.modbus.lambda/src/main/java/org/op…
chilobo Nov 2, 2025
280d219
Update bundles/org.openhab.binding.modbus.lambda/src/main/java/org/op…
chilobo Nov 2, 2025
1a05106
Update bundles/org.openhab.binding.modbus.lambda/src/main/java/org/op…
chilobo Nov 2, 2025
3ea7faf
Update bundles/org.openhab.binding.modbus.lambda/src/main/java/org/op…
chilobo Nov 2, 2025
7cd4162
Update bundles/org.openhab.binding.modbus.lambda/src/main/java/org/op…
chilobo Nov 2, 2025
f857985
Update bundles/org.openhab.binding.modbus.lambda/src/main/java/org/op…
chilobo Nov 2, 2025
53c82bf
Update bundles/org.openhab.binding.modbus.lambda/src/main/java/org/op…
chilobo Nov 6, 2025
82cb14e
Update bundles/org.openhab.binding.modbus.lambda/src/main/java/org/op…
chilobo Nov 6, 2025
cfc50dc
Update bundles/org.openhab.binding.modbus.lambda/src/main/java/org/op…
chilobo Nov 6, 2025
99ff234
Update bundles/org.openhab.binding.modbus.lambda/src/main/java/org/op…
chilobo Nov 6, 2025
9814331
Update bundles/org.openhab.binding.modbus.lambda/src/main/java/org/op…
chilobo Nov 6, 2025
83d1fef
Update bundles/org.openhab.binding.modbus.lambda/src/main/java/org/op…
chilobo Nov 6, 2025
d8e2392
Updated and signed off version of Lambda Heat Pump
chilobo Nov 6, 2025
565e9c0
Update bundles/org.openhab.binding.modbus.lambda/src/main/java/org/op…
Lock128 Nov 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,7 @@
/bundles/org.openhab.binding.modbus/ @ssalonen
/bundles/org.openhab.binding.modbus.e3dc/ @weymann
/bundles/org.openhab.binding.modbus.helioseasycontrols/ @bern77
/bundles/org.openhab.binding.modbus.lambda/ @chilobo
/bundles/org.openhab.binding.modbus.kermi/ @KaaNee
/bundles/org.openhab.binding.modbus.sbc/ @fwolter
/bundles/org.openhab.binding.modbus.stiebeleltron/ @pail23
Expand Down
5 changes: 5 additions & 0 deletions bom/openhab-addons/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1211,6 +1211,11 @@
<artifactId>org.openhab.binding.modbus.kermi</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.modbus.lambda</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.modbus.sbc</artifactId>
Expand Down
13 changes: 13 additions & 0 deletions bundles/org.openhab.binding.modbus.lambda/NOTICE
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
This content is produced and maintained by the openHAB project.

* Project home: https://www.openhab.org

== Declared Project Licenses

This program and the accompanying materials are made available under the terms
of the Eclipse Public License 2.0 which is available at
https://www.eclipse.org/legal/epl-2.0/.

== Source Code

https://github.com/openhab/openhab-addons
314 changes: 314 additions & 0 deletions bundles/org.openhab.binding.modbus.lambda/README.md

Large diffs are not rendered by default.

25 changes: 25 additions & 0 deletions bundles/org.openhab.binding.modbus.lambda/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.addons.reactor.bundles</artifactId>
<version>5.1.0-SNAPSHOT</version>
</parent>

<artifactId>org.openhab.binding.modbus.lambda</artifactId>

<name>openHAB Add-ons :: Bundles :: Lambda Binding</name>

<dependencies>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.modbus</artifactId>
<version>${project.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>

</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
/*
* Copyright (c) 2010-2025 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.openhab.binding.modbus.lambda.internal;

import org.eclipse.jdt.annotation.NonNullByDefault;

/**
* The {@link BoilerConfiguration} class contains fields mapping
* thing configuration parameters.
*
* @author Paul Frank - Initial contribution
* @author Christian Koch - modified for lambda heat pump based on stiebeleltron binding for modbus
*/
@NonNullByDefault
public class BoilerConfiguration extends GeneralConfiguration {
/**
* Subindex to calculate the base adress of the modbus registers
*/
private int subindex = 0;

public int getSubindex() {
return subindex;
}

public void setSubindex(int subindex) {
this.subindex = subindex;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
/*
* Copyright (c) 2010-2025 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.openhab.binding.modbus.lambda.internal;

import org.eclipse.jdt.annotation.NonNullByDefault;

/**
* The {@link BufferConfiguration} class contains fields mapping
* thing configuration parameters.
*
* @author Paul Frank - Initial contribution
* @author Christian Koch - modified for lambda heat pump based on stiebeleltron binding for modbus
*/
@NonNullByDefault
public class BufferConfiguration extends GeneralConfiguration {
/**
* Subindex to calculate the base adress of the modbus registers
*/
private int subindex = 0;

public int getSubindex() {
return subindex;
}

public void setSubindex(int subindex) {
this.subindex = subindex;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
/*
* Copyright (c) 2010-2025 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.openhab.binding.modbus.lambda.internal;

import org.eclipse.jdt.annotation.NonNullByDefault;

/**
* The {@link GeneralConfiguration} class contains fields mapping
* thing configuration parameters.
*
* @author Paul Frank - Initial contribution
* @author Christian Koch - modified for lambda heat pump based on stiebeleltron binding for modbus
*/
@NonNullByDefault
public class GeneralConfiguration {
/**
* Refresh interval in seconds
*/
private int refresh = 30;

private int maxTries = 3;// backwards compatibility and tests

/**
* Gets refresh period in milliseconds
*/
public long getRefreshMillis() {
return refresh * 1000;
}

public int getMaxTries() {
return maxTries;
}

public void setMaxTries(int maxTries) {
this.maxTries = maxTries;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
/*
* Copyright (c) 2010-2025 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.openhab.binding.modbus.lambda.internal;

import org.eclipse.jdt.annotation.NonNullByDefault;

/**
* The {@link HeatingCircuitConfiguration} class contains fields mapping
* thing configuration parameters.
*
* @author Paul Frank - Initial contribution
* @author Christian Koch - modified for lambda heat pump based on stiebeleltron binding for modbus
*/
@NonNullByDefault
public class HeatingCircuitConfiguration extends GeneralConfiguration {
/**
* Subindex to calculate the base adress of the modbus registers
*/
private int subindex = 0;

public int getSubindex() {
return subindex;
}

public void setSubindex(int subindex) {
this.subindex = subindex;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
/*
* Copyright (c) 2010-2025 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.openhab.binding.modbus.lambda.internal;

import org.eclipse.jdt.annotation.NonNullByDefault;

/**
* The {@link HeatpumpConfiguration} class contains fields mapping
* thing configuration parameters.
*
* @author Paul Frank - Initial contribution
* @author Christian Koch - modified for lambda heat pump based on stiebeleltron binding for modbus
*/
@NonNullByDefault
public class HeatpumpConfiguration extends GeneralConfiguration {
/**
* Subindex to calculate the base adress of the modbus registers
*/
private int subindex = 0;

public int getSubindex() {
return subindex;
}

public void setSubindex(int subindex) {
this.subindex = subindex;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
/*
* Copyright (c) 2010-2025 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.openhab.binding.modbus.lambda.internal;

import org.eclipse.jdt.annotation.NonNullByDefault;
import org.openhab.binding.modbus.ModbusBindingConstants;
import org.openhab.core.thing.ThingTypeUID;

/**
* The {@link LambdaBindingConstants} class defines common
* constants, which are used across the whole binding.
*
* @author Paul Frank - Initial contribution
* @author Christian Koch - modified for lambda heat pump based on stiebeleltron binding for modbus
*/
@NonNullByDefault
public class LambdaBindingConstants {

private static final String BINDING_ID = ModbusBindingConstants.BINDING_ID;

// List of all Thing Type UIDs
public static final ThingTypeUID THING_TYPE_GENERAL = new ThingTypeUID(BINDING_ID, "general");
public static final ThingTypeUID THING_TYPE_BOILER = new ThingTypeUID(BINDING_ID, "boiler");
public static final ThingTypeUID THING_TYPE_BUFFER = new ThingTypeUID(BINDING_ID, "buffer");
public static final ThingTypeUID THING_TYPE_HEAT_PUMP = new ThingTypeUID(BINDING_ID, "heat-pump");
public static final ThingTypeUID THING_TYPE_SOLAR = new ThingTypeUID(BINDING_ID, "solar");
public static final ThingTypeUID THING_TYPE_HEATING_CIRCUIT = new ThingTypeUID(BINDING_ID, "heating-circuit");

// Channel group ids
public static final String GROUP_GENERAL_AMBIENT = "ambient-group";
public static final String GROUP_GENERAL_EMANAGER = "emanager-group";
public static final String GROUP_HEAT_PUMP = "heat-pump-group";
public static final String GROUP_BOILER = "boiler-group";
public static final String GROUP_BOILER_REG50 = "boiler-reg50-group";
public static final String GROUP_BUFFER = "buffer-group";
public static final String GROUP_BUFFER_REG50 = "buffer-reg50-group";
public static final String GROUP_SOLAR = "solar-group";
public static final String GROUP_SOLAR_REG50 = "solar-reg50-group";
public static final String GROUP_HEATING_CIRCUIT = "heating-circuit-group";
public static final String GROUP_HEATING_CIRCUIT_REG50 = "heating-circuit-reg50-group";

// List of all Channel ids in device information group
// General Ambient
public static final String CHANNEL_AMBIENT_ERROR_NUMBER = "ambient-error-number";
public static final String CHANNEL_AMBIENT_OPERATING_STATE = "ambient-operating-state";
public static final String CHANNEL_ACTUAL_AMBIENT_TEMPERATURE = "actual-ambient-temperature";
public static final String CHANNEL_AVERAGE_AMBIENT_TEMPERATURE = "average-ambient-temperature";
public static final String CHANNEL_CALCULATED_AMBIENT_TEMPERATURE = "calculated-ambient-temperature";

// General E-manager
public static final String CHANNEL_EMANAGER_ERROR_NUMBER = "emanager-error-number";
public static final String CHANNEL_EMANAGER_OPERATING_STATE = "emanager-operating-state";
public static final String CHANNEL_EMANAGER_ACTUAL_POWER = "emanager-actual-power";
public static final String CHANNEL_EMANAGER_ACTUAL_POWER_SIGNED = "emanager-actual-power-signed";
public static final String CHANNEL_EMANAGER_ACTUAL_POWER_CONSUMPTION = "emanager-actual-power-consumption";
public static final String CHANNEL_POWER_CONSUMPTION_SETPOINT = "emanager-power-consumption-setpoint";

// Heatpump
public static final String CHANNEL_HEAT_PUMP_ERROR_STATE = "heat-pump-error-state";
public static final String CHANNEL_HEAT_PUMP_ERROR_NUMBER = "heat-pump-error-number";
public static final String CHANNEL_HEAT_PUMP_STATE = "heat-pump-state";
public static final String CHANNEL_HEAT_PUMP_OPERATING_STATE = "heat-pump-operating-state";
public static final String CHANNEL_HEAT_PUMP_T_FLOW = "heat-pump-t-flow";
public static final String CHANNEL_HEAT_PUMP_T_RETURN = "heat-pump-t-return";
public static final String CHANNEL_HEAT_PUMP_VOL_SINK = "heat-pump-vol-sink";
public static final String CHANNEL_HEAT_PUMP_T_EQIN = "heat-pump-t-eqin";
public static final String CHANNEL_HEAT_PUMP_T_EQOUT = "heat-pump-t-eqout";
public static final String CHANNEL_HEAT_PUMP_VOL_SOURCE = "heat-pump-vol-source";
public static final String CHANNEL_HEAT_PUMP_COMPRESSOR_RATING = "heat-pump-compressor-rating";
public static final String CHANNEL_HEAT_PUMP_QP_HEATING = "heat-pump-qp-heating";
public static final String CHANNEL_HEAT_PUMP_FI_POWER_CONSUMPTION = "heat-pump-fi-power-consumption";
public static final String CHANNEL_HEAT_PUMP_COP = "heat-pump-cop";
public static final String CHANNEL_HEAT_PUMP_REQUEST_PASSWORD = "heat-pump-request-password";
public static final String CHANNEL_HEAT_PUMP_REQUEST_TYPE = "heat-pump-request-type";
public static final String CHANNEL_HEAT_PUMP_REQUEST_T_FLOW = "heat-pump-request-t-flow";
public static final String CHANNEL_HEAT_PUMP_REQUEST_T_RETURN = "heat-pump-request-t-return";
public static final String CHANNEL_HEAT_PUMP_REQUEST_HEAT_SINK = "heat-pump-request-heat-sink";
public static final String CHANNEL_HEAT_PUMP_RELAIS_STATE = "heat-pump-relais-state";
public static final String CHANNEL_HEAT_PUMP_VDAE = "heat-pump-vdae";
public static final String CHANNEL_HEAT_PUMP_VDAQ = "heat-pump-vdaq";

// Boiler
public static final String CHANNEL_BOILER_ERROR_NUMBER = "boiler-error-number";
public static final String CHANNEL_BOILER_OPERATING_STATE = "boiler-operating-state";
public static final String CHANNEL_BOILER_ACTUAL_HIGH_TEMPERATURE = "boiler-actual-high-temperature";
public static final String CHANNEL_BOILER_ACTUAL_LOW_TEMPERATURE = "boiler-actual-low-temperature";
public static final String CHANNEL_BOILER_MAXIMUM_BOILER_TEMPERATURE = "maximum-boiler-temperature";

// Buffer
public static final String CHANNEL_BUFFER_ERROR_NUMBER = "buffer-error-number";
public static final String CHANNEL_BUFFER_OPERATING_STATE = "buffer-operating-state";
public static final String CHANNEL_BUFFER_ACTUAL_HIGH_TEMPERATURE = "buffer-actual-high-temperature";
public static final String CHANNEL_BUFFER_ACTUAL_LOW_TEMPERATURE = "buffer-actual-low-temperature";
public static final String CHANNEL_BUFFER_ACTUAL_MODBUS_TEMPERATURE = "buffer-actual-modbus-temperature";
public static final String CHANNEL_BUFFER_REQUEST_TYPE = "buffer-request-type";
public static final String CHANNEL_BUFFER_REQUEST_FLOW_LINE_TEMPERATURE = "buffer-request-flow-line-temperature";
public static final String CHANNEL_BUFFER_REQUEST_RETURN_LINE_TEMPERATURE = "buffer-request-return-line-temperature";
public static final String CHANNEL_BUFFER_REQUEST_HEAT_SINK_TEMPERATURE = "buffer-request-heat-sink-temperature-difference";
public static final String CHANNEL_BUFFER_REQUEST_HEATING_CAPACITY = "buffer-request-heating-capacity";
public static final String CHANNEL_BUFFER_MAXIMUM_BUFFER_TEMPERATURE = "maximum-buffer-temperature";

// Solar
public static final String CHANNEL_SOLAR_ERROR_NUMBER = "solar-error-number";
public static final String CHANNEL_SOLAR_OPERATING_STATE = "solar-operating-state";
public static final String CHANNEL_SOLAR_COLLECTOR_TEMPERATURE = "solar-collector-temperature";
public static final String CHANNEL_SOLAR_BUFFER1_TEMPERATURE = "solar-buffer1-temperature";
public static final String CHANNEL_SOLAR_BUFFER2_TEMPERATURE = "solar-buffer2-temperature";
public static final String CHANNEL_SOLAR_MAXIMUM_BUFFER_TEMPERATURE = "solar-maximum-buffer-temperature";
public static final String CHANNEL_SOLAR_BUFFER_CHANGEOVER_TEMPERATURE = "solar-buffer-changeover-temperature";

// Heating Circuit
public static final String CHANNEL_HEATING_CIRCUIT_ERROR_NUMBER = "heating-circuit-error-number";
public static final String CHANNEL_HEATING_CIRCUIT_OPERATING_STATE = "heating-circuit-operating-state";
public static final String CHANNEL_HEATING_CIRCUIT_FLOW_LINE_TEMPERATURE = "heating-circuit-flow-line-temperature";
public static final String CHANNEL_HEATING_CIRCUIT_RETURN_LINE_TEMPERATURE = "heating-circuit-return-line-temperature";
public static final String CHANNEL_HEATING_CIRCUIT_ROOM_DEVICE_TEMPERATURE = "heating-circuit-room-device-temperature";
public static final String CHANNEL_HEATING_CIRCUIT_SETPOINT_FLOW_LINE_TEMPERATURE = "heating-circuit-setpoint-flow-line-temperature";
public static final String CHANNEL_HEATING_CIRCUIT_OPERATING_MODE = "heating-circuit-operating-mode";
public static final String CHANNEL_HEATING_CIRCUIT_TARGET_TEMPERATURE_FLOW_LINE = "heating-circuit-target-temperature-flow-line";
public static final String CHANNEL_HEATING_CIRCUIT_OFFSET_FLOW_LINE_TEMPERATURE = "heating-circuit-offset-flow-line-temperature";
public static final String CHANNEL_HEATING_CIRCUIT_ROOM_HEATING_TEMPERATURE = "heating-circuit-room-heating-temperature";
public static final String CHANNEL_HEATING_CIRCUIT_ROOM_COOLING_TEMPERATURE = "heating-circuit-room-cooling-temperature";
}
Loading
Loading