-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Espen Fossen <espenaf@junta.no>
- Loading branch information
Showing
56 changed files
with
4,604 additions
and
0 deletions.
There are no files selected for viewing
Validating CODEOWNERS rules …
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,175 @@ | ||
# NoboHub Binding | ||
|
||
This binding controls the Glen Dimplex Nobø Hub using the Nobø Hub API v1.1 that can be found <a href="https://www.glendimplex.se/media/15650/nobo-hub-api-v-1-1-integration-for-advanced-users.pdf">here</a> | ||
|
||
![Nobo Hub](doc/nobohub.jpg) | ||
|
||
It lets you read and change temperature and profile settings for zones, and read and set active overrides to change the | ||
global mode of the hub. | ||
|
||
This binding is tested with the following devices: | ||
|
||
* Thermostats for different electrical panel heaters | ||
* Thermostats for heating in floors | ||
* Nobø Switch SW 4 | ||
|
||
## Thermostats | ||
|
||
Not all thermostats are made equal. | ||
|
||
* NCU-1R: Comfort temperature setting on device overrides values from Hub. Making Comfort settings in the Hub useless. | ||
* NCU-2R: Synchronizes temperature settings to and from the Hub. | ||
|
||
## Supported Things | ||
|
||
Nobø Hub is the hub that communicates with switches and thermostats. | ||
|
||
## Discovery | ||
|
||
The hub will be automatically discovered. Before it can be used, you will have to update the configuration | ||
with the last three digits of its serial number. | ||
|
||
When the hub is configured with the correct serial number, it will autodetect zones and components (thermostats and switches). | ||
|
||
## Binding Configuration | ||
|
||
``` | ||
# Configuration for Nobø Hub | ||
# | ||
# Serial number of the Nobø hub to communicate with, 12 numbers. | ||
serialNumber=103000xxxxxx | ||
# Host name or IP address of the Nobø hub | ||
hostName=10.0.0.10 | ||
``` | ||
|
||
## Channels | ||
|
||
### Hub | ||
|
||
| channel | type | description | | ||
|---------------------|--------|-----------------------------------------------------| | ||
| activeOverrideName | String | The name of the active override | | ||
|
||
### Zone | ||
|
||
| channel | type | description | | ||
|------------------------------|--------|--------------------------------------------| | ||
| activeWeekProfileName | String | The name of the active week profile | | ||
| activeWeekProfile | Number | The active week profile id | | ||
| comfortTemperature | Number | The configured comfort temperature | | ||
| ecoTemperature | Number | The configured eco temparature | | ||
| currentTemperature | Number | The current temperature in the zone | | ||
| calculatedWeekProfileStatus | String | The current override based on week profile | | ||
|
||
CurrentTemperature only works if the zone has a device that reports it (e.g. a switch). | ||
|
||
### Component | ||
|
||
| channel | type | description | | ||
|---------------------|--------|------------------------------------------| | ||
| currentTemperature | Number | The current temperature of the component | | ||
|
||
Not all devices report this. | ||
|
||
## Full Example | ||
|
||
### nobo.things | ||
|
||
``` | ||
Bridge nobohub:nobohub:controller "Nobø Hub" [ hostName="192.168.1.10", serialNumber="SERIAL_NUMBER" ] { | ||
Thing zone 1 "Zone - Kitchen" [ id=1 ] | ||
Thing component SERIAL_NUMBER_COMPONENT "Heater - Kitchen" [ serialNumber="SERIAL_NUMBER_COMPONENT" ] | ||
} | ||
``` | ||
|
||
### nobo.items | ||
|
||
``` | ||
// Hub | ||
String Nobo_Hub_GlobalOverride "Global Override %s" <heating> {channel="nobohub:nobohub:controller:activeOverrideName"} | ||
// Panel Heater | ||
Number PanelHeater_CurrentTemperatur "Setpoint [%.1f °C]" <temperature> {channel="nobohub:component:controller:SERIAL_NUMBER_COMPONENT:currentTemperature"} | ||
// Zone | ||
String Zone_ActiveWeekProfileName "Active week profile name [%s]" <calendar> {channel="nobohub:zone:controller:1:activeWeekProfileName"} | ||
Number Zone_ActiveWeekProfile "Active week profile [%d]" <calendar> {channel="nobohub:zone:controller:1:activeWeekProfile"} | ||
String Zone_ActiveStatus "Active status %s]" <heating> {channel="nobohub:zone:controller:1:calculatedWeekProfileStatus"} | ||
Number Zone_ComfortTemperatur "Comfort temperature [%.1f °C]" <temperature> {channel="nobohub:zone:controller:1:comfortTemperature"} | ||
Number Zone_EcoTemperatur "Eco temperature [%.1f °C]" <temperature> {channel="nobohub:zone:controller:1:ecoTemperature"} | ||
Number Zone_CurrentTemperatur "Current temperature [%.1f °C]" <temperature> {channel="nobohub:zone:controller:1:currentTemperature"} | ||
``` | ||
|
||
### nobo.sitemap | ||
|
||
``` | ||
sitemap nobo label="Nobø " { | ||
Frame label="Hub"{ | ||
Switch item=Nobo_Hub_GlobalOverride | ||
} | ||
Frame label="Main Bedroom"{ | ||
Switch item=Zone_ActiveStatus | ||
Text item=Zone_ActiveWeekProfileName | ||
Text item=Zone_ActiveWeekProfile | ||
Selection item=Zone_ActiveWeekProfile | ||
Setpoint item=Zone_ComfortTemperatur minValue=7 maxValue=30 step=1 icon="temperature" | ||
Setpoint item=Zone_EcoTemperatur minValue=7 maxValue=30 step=1 icon="temperature" | ||
Text item=Zone_CurrentTemperatur | ||
Text item=PanelHeater_CurrentTemperatur | ||
} | ||
} | ||
``` | ||
|
||
## Organize your setup | ||
|
||
Nobø Hub uses a combination of status types (Normal, Comfort, Eco, Away), profiles types (Comfort, Eco, Away, Off), | ||
predfined temperature types (Comfort, Eco, Away), zones and override settings to organize and enable different features. | ||
This makes it possible to control the heaters in many different scenarios and combinations. The following is a suggested | ||
way of organizing the binding with the Hub for a good level of control and flexibility. | ||
|
||
If you own panels with a physical Comfort temperature override, you need to use the Eco temperature type for setting | ||
level used by the day based profiles. If not, you can use either Comfort or Eco to set wanted leve. | ||
|
||
Start på creating the following profiles in the Nobø Hub App: | ||
|
||
OFF Set to status off all day, every day. | ||
ON Set to status [Comfort|Eco] all day, every day | ||
Eco Set to status Eco all day, every day | ||
Away Set to status Away all way, every day | ||
Weekday 06->16 Set to status [Comfort|Eco] between 06->16 every weekday, otherwise set to [Away|Off] | ||
Weekday 06->23 Set to status [Comfort|Eco] between 06->23 every weekday, otherwise set to [Away|Off] | ||
Weekend 06->16 Set to status [Comfort|Eco] between 06->16 in the weekend, otherwise set to [Away|Off] | ||
Weekend 06->23 Set to status [Comfort|Eco] between 06->23 in the weekend, otherwise set to [Away|Off] | ||
Every day 06->16 Set to status [Comfort|Eco] between 06->16 every day, otherwise set to [Away|Off] | ||
Every day 06->23 Set to status [Comfort|Eco] between 06->23 every day, otherwise set to [Away|Off] | ||
|
||
Next set [Comfort|Eco] level for each zone to your requirements. For a more advanced setup, you can create a rule which | ||
both sets temperature level and profile. | ||
|
||
Then create a sitemap with a Selection pointing to the Week Profile item. The binding will now automatically update all | ||
available week profile options in the selection button: | ||
|
||
### nobo.sitemap | ||
|
||
``` | ||
sitemap nobo label="Nobø " { | ||
Frame label="Main Bedroom"{ | ||
Selection item=MainBedroom_Zone_WeekProfile | ||
} | ||
} | ||
``` | ||
|
||
## Bugs and logging | ||
|
||
If you find any bugs or unwanted behaviour, please contact the maintainer. To help the maintainer it would be great | ||
if you could send logs with a description of what is wrong. To turn on logging, go to the Keraf console and run | ||
|
||
log:set DEBUG org.openhab.binding.nobohub | ||
|
||
To see the log: | ||
|
||
log:tail |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" | ||
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>3.3.0-SNAPSHOT</version> | ||
</parent> | ||
|
||
<artifactId>org.openhab.binding.nobohub</artifactId> | ||
|
||
<name>openHAB Add-ons :: Bundles :: NoboHub Binding</name> | ||
|
||
</project> |
9 changes: 9 additions & 0 deletions
9
bundles/org.openhab.binding.nobohub/src/main/feature/feature.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.nobohub-${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-nobohub" description="NoboHub Binding" version="${project.version}"> | ||
<feature>openhab-runtime-base</feature> | ||
<bundle start-level="80">mvn:org.openhab.addons.bundles/org.openhab.binding.nobohub/${project.version}</bundle> | ||
</feature> | ||
</features> |
31 changes: 31 additions & 0 deletions
31
...ng.nobohub/src/main/java/org/openhab/binding/nobohub/internal/ComponentConfiguration.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
/** | ||
* Copyright (c) 2010-2022 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.nobohub.internal; | ||
|
||
import org.eclipse.jdt.annotation.NonNullByDefault; | ||
import org.eclipse.jdt.annotation.Nullable; | ||
|
||
/** | ||
* The {@link ComponentConfiguration} class contains fields mapping thing configuration parameters. | ||
* | ||
* @author Jørgen Austvik - Initial contribution | ||
*/ | ||
@NonNullByDefault | ||
public class ComponentConfiguration { | ||
|
||
/** | ||
* Serial number of the component. | ||
*/ | ||
@Nullable | ||
public String serialNumber; | ||
} |
Oops, something went wrong.