Skip to content

Commit

Permalink
Add lambda heat pump based on modbus binding
Browse files Browse the repository at this point in the history
Signed-off-by: Christian Koch <[email protected]>
  • Loading branch information
chilobo committed Feb 28, 2025
1 parent c57f833 commit d6872b1
Show file tree
Hide file tree
Showing 57 changed files with 5,639 additions and 0 deletions.
1 change: 1 addition & 0 deletions CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,7 @@
/bundles/org.openhab.binding.modbus.e3dc/ @weymann
/bundles/org.openhab.binding.modbus.helioseasycontrols/ @bern77
/bundles/org.openhab.binding.modbus.kermi/ @KaaNee
/bundles/org.openhab.binding.modbus.lambda/ @chilobo
/bundles/org.openhab.binding.modbus.sbc/ @fwolter
/bundles/org.openhab.binding.modbus.stiebeleltron/ @pail23
/bundles/org.openhab.binding.modbus.studer/ @giovannimirulla
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
260 changes: 260 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.0.0-SNAPSHOT</version>
</parent>

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

<name>openHAB Add-ons :: Bundles :: Lambda Bundle</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,62 @@
/*
* 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 {

/**
* Refresh interval in seconds
*/
private int refresh = 30;

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

/**
* Subindex to calculate the base adress of the modbus registers
*/
private int subindex = 0;

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

public int getMaxTries() {
return maxTries;
}

public void setMaxTries(int maxTries) {
this.maxTries = maxTries;
}

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,61 @@
/*
* 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 {
/**
* Refresh interval in seconds
*/
private int refresh = 30;

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

/**
* Subindex to calculate the base adress of the modbus registers
*/
private int subindex = 0;

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

public int getMaxTries() {
return maxTries;
}

public void setMaxTries(int maxTries) {
this.maxTries = maxTries;
}

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,61 @@
/*
* 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 {
/**
* Refresh interval in seconds
*/
private int refresh = 30;

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

/**
* Subindex to calculate the base adress of the modbus registers
*/
private int subindex = 0;

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

public int getMaxTries() {
return maxTries;
}

public void setMaxTries(int maxTries) {
this.maxTries = maxTries;
}

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,63 @@
/*
* 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 {

/**
* Refresh interval in seconds
*/
private int refresh = 30;

private int maxTries = 3;

// backwards compatibility and tests

/**
* Subindex to calculate the base adress of the modbus registers
*/
private int subindex = 0;

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

public int getMaxTries() {
return maxTries;
}

public void setMaxTries(int maxTries) {
this.maxTries = maxTries;
}

public int getSubindex() {
return subindex;
}

public void setSubindex(int subindex) {
this.subindex = subindex;
}
}
Loading

0 comments on commit d6872b1

Please sign in to comment.