Skip to content

Commit 7fb7c65

Browse files
authored
[haassohnpelletstove] Initial contribution (openhab#10595)
Signed-off-by: Christian Feininger <[email protected]>
1 parent e74cb82 commit 7fb7c65

17 files changed

+1173
-0
lines changed

CODEOWNERS

+1
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@
9797
/bundles/org.openhab.binding.gpstracker/ @gbicskei
9898
/bundles/org.openhab.binding.gree/ @markus7017
9999
/bundles/org.openhab.binding.groheondus/ @FlorianSW
100+
/bundles/org.openhab.binding.haassohnpelletstove/ @chingon007
100101
/bundles/org.openhab.binding.harmonyhub/ @digitaldan
101102
/bundles/org.openhab.binding.haywardomnilogic/ @matchews
102103
/bundles/org.openhab.binding.hdanywhere/ @kgoderis

bom/openhab-addons/pom.xml

+5
Original file line numberDiff line numberDiff line change
@@ -471,6 +471,11 @@
471471
<artifactId>org.openhab.binding.groheondus</artifactId>
472472
<version>${project.version}</version>
473473
</dependency>
474+
<dependency>
475+
<groupId>org.openhab.addons.bundles</groupId>
476+
<artifactId>org.openhab.binding.haassohnpelletstove</artifactId>
477+
<version>${project.version}</version>
478+
</dependency>
474479
<dependency>
475480
<groupId>org.openhab.addons.bundles</groupId>
476481
<artifactId>org.openhab.binding.harmonyhub</artifactId>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
This content is produced and maintained by the openHAB project.
2+
3+
* Project home: https://www.openhab.org
4+
5+
== Declared Project Licenses
6+
7+
This program and the accompanying materials are made available under the terms
8+
of the Eclipse Public License 2.0 which is available at
9+
https://www.eclipse.org/legal/epl-2.0/.
10+
11+
== Source Code
12+
13+
https://github.com/openhab/openhab-addons
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# Haas Sohn Pellet Stove Binding
2+
3+
The binding for Haassohnpelletstove communicates with a Haas and Sohn Pelletstove through the optional
4+
WIFI module. More information about the WIFI module can be found here: https://www.haassohn.com/de/ihr-plus/WLAN-Funktion
5+
6+
## Supported Things
7+
8+
| Things | Description | Thing Type |
9+
|--------|--------------|------------|
10+
| haassohnpelletstove | Control of a Haas & Sohn Pellet Stove| oven|
11+
12+
13+
## Thing Configuration
14+
15+
In general two parameters are required. The IP-Address of the WIFI-Modul of the Stove in the local Network and the Access PIN of the Stove.
16+
The PIN can be found directly at the stove under the Menue/Network/WLAN-PIN
17+
18+
```
19+
Thing haassohnpelletstove:oven:myOven "Pelletstove" [ hostIP="192.168.0.23", hostPIN="1234"]
20+
```
21+
22+
## Channels
23+
24+
The following channels are yet supported:
25+
26+
27+
| Channel | Type | Access| Description|
28+
|---------|-------|-------|------------|
29+
| power| Switch | read/write|Turn the stove on/off|
30+
|channelIsTemp|Number:Temperature|read|Receives the actual temperature of the stove|
31+
|channelSpTemp|Number:Temperature|read/write|Receives and sets the target temperature of the stove|
32+
|channelMode|String|read|Receives the actual mode the stove is in like heating, cooling, error, ....|
33+
|channelEcoMode|Switch|read/write|Turn the eco mode of the stove on/off|
34+
|channelIngitions|Number|read|Amount of ignitions of the stove|
35+
|channelMaintenanceIn|Number:Mass|read|States the next maintenance in kg|
36+
|channelCleaningIn|String|read|States the next cleaning window in hours:minutes as string|
37+
|channelConsumption|Number:Mass|read|Total consumption of the stove|
38+
|channelOnTime|Number|read|Operation hours of the stove|
39+
40+
## Full Example
41+
42+
demo.items:
43+
44+
```
45+
Number:Temperature isTemp { channel="oven:channelIsTemp" }
46+
Number:Temperature spTemp { channel="oven:channelSpTemp" }
47+
String mode { channel="oven:channelMode" }
48+
Switch power { channel="oven:power" }
49+
```
50+
51+
## Google Assistant configuration
52+
53+
See also: https://www.openhab.org/docs/ecosystem/google-assistant/
54+
55+
googleassistantdemo.items
56+
57+
```
58+
Group g_FeuerThermostat "FeuerThermostat" {ga="Thermostat" }
59+
Number StatusFeuer "Status Feuer" (g_FeuerThermostat) { ga="thermostatMode" }
60+
Number ZieltemperaturFeuer "ZieltemperaturFeuer" (g_FeuerThermostat) {ga="thermostatTemperatureSetpoint"}
61+
Number TemperaturFeuer "TemperaturFeuer" (g_FeuerThermostat) {ga="thermostatTemperatureAmbient"}
62+
```
63+
64+
## Tested Hardware
65+
66+
The binding was successfully tested with the following ovens:
67+
68+
- HSP 7 DIANA
69+
- HSP6 434.08
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
3+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4+
5+
<modelVersion>4.0.0</modelVersion>
6+
7+
<parent>
8+
<groupId>org.openhab.addons.bundles</groupId>
9+
<artifactId>org.openhab.addons.reactor.bundles</artifactId>
10+
<version>3.1.0-SNAPSHOT</version>
11+
</parent>
12+
13+
<artifactId>org.openhab.binding.haassohnpelletstove</artifactId>
14+
15+
<name>openHAB Add-ons :: Bundles :: Haas + Sohn Pelletstove Binding</name>
16+
17+
</project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<features name="org.openhab.binding.haassohnpelletstove-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.4.0">
3+
<repository>mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features</repository>
4+
5+
<feature name="openhab-binding-haassohnpelletstove" description="Haas + Sohn Pelletstove Binding" version="${project.version}">
6+
<feature>openhab-runtime-base</feature>
7+
<bundle start-level="80">mvn:org.openhab.addons.bundles/org.openhab.binding.haassohnpelletstove/${project.version}</bundle>
8+
</feature>
9+
</features>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
/**
2+
* Copyright (c) 2010-2021 Contributors to the openHAB project
3+
*
4+
* See the NOTICE file(s) distributed with this work for additional
5+
* information.
6+
*
7+
* This program and the accompanying materials are made available under the
8+
* terms of the Eclipse Public License 2.0 which is available at
9+
* http://www.eclipse.org/legal/epl-2.0
10+
*
11+
* SPDX-License-Identifier: EPL-2.0
12+
*/
13+
package org.openhab.binding.haassohnpelletstove.internal;
14+
15+
import org.eclipse.jdt.annotation.NonNullByDefault;
16+
import org.openhab.core.thing.ThingTypeUID;
17+
18+
/**
19+
* The {@link HaasSohnpelletstoveBindingConstants} class defines common constants, which are
20+
* used across the whole binding.
21+
*
22+
* @author Christian Feininger - Initial contribution
23+
*/
24+
@NonNullByDefault
25+
public class HaasSohnpelletstoveBindingConstants {
26+
27+
private static final String BINDING_ID = "haassohnpelletstove";
28+
29+
public static final ThingTypeUID THING_TYPE_OVEN = new ThingTypeUID(BINDING_ID, "oven");
30+
31+
public static final String CHANNELISTEMP = "channelIsTemp";
32+
public static final String CHANNELMODE = "channelMode";
33+
public static final String CHANNELSPTEMP = "channelSpTemp";
34+
public static final String CHANNELPOWER = "power";
35+
public static final String CHANNELECOMODE = "channelEcoMode";
36+
public static final String CHANNELIGNITIONS = "channelIgnitions";
37+
public static final String CHANNELMAINTENANCEIN = "channelMaintenanceIn";
38+
public static final String CHANNELCLEANINGIN = "channelCleaningIn";
39+
public static final String CHANNELCONSUMPTION = "channelConsumption";
40+
public static final String CHANNELONTIME = "channelOnTime";
41+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/**
2+
* Copyright (c) 2010-2021 Contributors to the openHAB project
3+
*
4+
* See the NOTICE file(s) distributed with this work for additional
5+
* information.
6+
*
7+
* This program and the accompanying materials are made available under the
8+
* terms of the Eclipse Public License 2.0 which is available at
9+
* http://www.eclipse.org/legal/epl-2.0
10+
*
11+
* SPDX-License-Identifier: EPL-2.0
12+
*/
13+
package org.openhab.binding.haassohnpelletstove.internal;
14+
15+
import org.eclipse.jdt.annotation.NonNullByDefault;
16+
import org.eclipse.jdt.annotation.Nullable;
17+
18+
/**
19+
* The {@link HaasSohnpelletstoveConfiguration} class contains fields mapping thing configuration parameters.
20+
*
21+
* @author Christian Feininger - Initial contribution
22+
*/
23+
@NonNullByDefault
24+
public class HaasSohnpelletstoveConfiguration {
25+
26+
public @Nullable String hostIP = null;
27+
public @Nullable String hostPIN = null;
28+
public int refreshRate = 30;
29+
}

0 commit comments

Comments
 (0)