Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
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 @@ -328,6 +328,7 @@
/bundles/org.openhab.binding.radiobrowser/ @skinah
/bundles/org.openhab.binding.radiothermostat/ @mlobstein
/bundles/org.openhab.binding.regoheatpump/ @crnjan
/bundles/org.openhab.binding.remehaheating/ @FreddyFFM
/bundles/org.openhab.binding.remoteopenhab/ @lolodomo
/bundles/org.openhab.binding.renault/ @dougculnane
/bundles/org.openhab.binding.resol/ @ramack
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 @@ -1616,6 +1616,11 @@
<artifactId>org.openhab.binding.regoheatpump</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.remehaheating</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.remoteopenhab</artifactId>
Expand Down
13 changes: 13 additions & 0 deletions bundles/org.openhab.binding.remehaheating/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
145 changes: 145 additions & 0 deletions bundles/org.openhab.binding.remehaheating/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
# RemehaHeating Binding

This binding integrates Remeha Home heating systems with openHAB.
It connects to the Remeha cloud service using the same API as the official Remeha Home mobile app.

The binding supports monitoring and control of Remeha boilers that are connected to the Remeha Home cloud service.
This includes most modern Remeha boilers with internet connectivity.

Key features include:

- Real-time monitoring of room and outdoor temperatures
- Target temperature control
- Hot water (DHW) temperature monitoring and mode control
- Water pressure monitoring and status
- System error status monitoring

## Supported Things

This binding supports Remeha boilers that are connected to the Remeha Home cloud service.

- `boiler`: Represents a Remeha boiler with ThingTypeUID `remehaheating:boiler`

The binding has been tested with Remeha Tzerra boilers but should work with any Remeha boiler that supports the Remeha Home cloud service.

## Discovery

This binding does not support automatic discovery.
Boilers must be manually configured using your Remeha Home account credentials.

Each Remeha Home account typically manages one heating system, so you will need one Thing configuration per account.

## Binding Configuration

This binding does not require any global configuration.
All configuration is done at the Thing level using your Remeha Home account credentials.

## Thing Configuration

To configure a Remeha boiler, you need your Remeha Home account credentials.
These are the same credentials you use for the Remeha Home mobile app.

### `boiler` Thing Configuration

| Name | Type | Description | Default | Required | Advanced |
|-----------------|---------|------------------------------------------------|---------|----------|----------|
| email | text | Remeha Home account email address | N/A | yes | no |
| password | text | Remeha Home account password | N/A | yes | no |
| refreshInterval | integer | Interval the device is polled in seconds | 60 | no | yes |

The refresh interval should be set between 30 and 3600 seconds.
A shorter interval provides more up-to-date data but may increase API usage.

## Channels

The binding provides the following channels for monitoring and controlling your Remeha heating system:

| Channel | Type | Read/Write | Description |
|---------------------|-------------------|------------|------------------------------------------------|
| roomTemperature | Number:Temperature| Read | Current room temperature |
| targetTemperature | Number:Temperature| Read/Write | Target room temperature (5-30°C) |
| dhwTemperature | Number:Temperature| Read | Current hot water temperature |
| dhwTarget | Number:Temperature| Read | Target hot water temperature |
| dhwMode | String | Read/Write | DHW mode (anti-frost/schedule/continuous-comfort) |
| dhwStatus | String | Read | Hot water status |
| waterPressure | Number:Pressure | Read | System water pressure |
| waterPressureOK | Switch | Read | Water pressure status (ON=OK, OFF=Low) |
| outdoorTemperature | Number:Temperature| Read | Outdoor temperature |
| status | String | Read | Boiler error status |

## Full Example

### Thing Configuration

```java
Thing remehaheating:boiler:myboiler "Remeha Boiler" [
email="<your-email@example.com>",
password="<your-password>",
refreshInterval=60
]
```

### Item Configuration

```java
// Temperature monitoring
Number:Temperature RoomTemp "Room Temperature [%.1f °C]" { channel="remehaheating:boiler:myboiler:roomTemperature" }
Number:Temperature TargetTemp "Target Temperature [%.1f °C]" { channel="remehaheating:boiler:myboiler:targetTemperature" }
Number:Temperature OutdoorTemp "Outdoor Temperature [%.1f °C]" { channel="remehaheating:boiler:myboiler:outdoorTemperature" }

// Hot water
Number:Temperature DHWTemp "Hot Water Temperature [%.1f °C]" { channel="remehaheating:boiler:myboiler:dhwTemperature" }
Number:Temperature DHWTarget "Hot Water Target [%.1f °C]" { channel="remehaheating:boiler:myboiler:dhwTarget" }
String DHWMode "Hot Water Mode [%s]" { channel="remehaheating:boiler:myboiler:dhwMode" }
String DHWStatus "Hot Water Status [%s]" { channel="remehaheating:boiler:myboiler:dhwStatus" }

// System status
Number:Pressure WaterPressure "Water Pressure [%.1f bar]" { channel="remehaheating:boiler:myboiler:waterPressure" }
Switch WaterPressureOK "Water Pressure OK" { channel="remehaheating:boiler:myboiler:waterPressureOK" }
String BoilerStatus "Boiler Status [%s]" { channel="remehaheating:boiler:myboiler:status" }
```

### Sitemap Configuration

```perl
sitemap remeha label="Remeha Heating" {
Frame label="Temperature Control" {
Text item=RoomTemp
Setpoint item=TargetTemp minValue=5 maxValue=30 step=0.5
Text item=OutdoorTemp
}
Frame label="Hot Water" {
Text item=DHWTemp
Text item=DHWTarget
Selection item=DHWMode mappings=["anti-frost"="Anti-frost", "schedule"="Schedule", "continuous-comfort"="Continuous Comfort"]
Text item=DHWStatus
}
Frame label="System Status" {
Text item=WaterPressure
Text item=WaterPressureOK
Text item=BoilerStatus
}
}
```

## Authentication

This binding uses the same OAuth2 PKCE authentication flow as the official Remeha Home mobile app.
Your credentials are used only to obtain an access token and are not stored permanently.

The binding automatically handles token refresh and re-authentication as needed.

## Limitations

- Only the first appliance from your Remeha Home account is supported
- Only the first climate zone and hot water zone are monitored
- The binding requires an active internet connection to the Remeha cloud service
- API rate limiting may apply - avoid setting very short refresh intervals

## Troubleshooting

- Ensure your Remeha Home account credentials are correct
- Check that your boiler is online in the Remeha Home mobile app
- Verify your openHAB system has internet connectivity
- Check the openHAB logs for authentication or API errors
- Try increasing the refresh interval if you experience connection issues
17 changes: 17 additions & 0 deletions bundles/org.openhab.binding.remehaheating/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?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.remehaheating</artifactId>

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

</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<features name="org.openhab.binding.remehaheating-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.4.0">
<repository>mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features</repository>

<feature name="openhab-binding-remehaheating" description="RemehaHeating Binding" version="${project.version}">
<feature>openhab-runtime-base</feature>
<bundle start-level="80">mvn:org.openhab.addons.bundles/org.openhab.binding.remehaheating/${project.version}</bundle>
</feature>
</features>
Loading