Skip to content

Commit

Permalink
[comfoair] Initial contribution for comfoair v2 binding (openhab#7052)
Browse files Browse the repository at this point in the history
* comfoair - first version

Signed-off-by: Hans Böhm <h.boehm@gmx.at>
Signed-off-by: Daan Meijer <daan@studioseptember.nl>
  • Loading branch information
boehan authored and DaanMeijer committed Sep 1, 2020
1 parent 24a01e4 commit 50243df
Show file tree
Hide file tree
Showing 27 changed files with 4,674 additions and 0 deletions.
1 change: 1 addition & 0 deletions CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
/bundles/org.openhab.binding.caddx/ @jossuar
/bundles/org.openhab.binding.chromecast/ @kaikreuzer
/bundles/org.openhab.binding.cm11a/ @BobRak
/bundles/org.openhab.binding.comfoair/ @boehan
/bundles/org.openhab.binding.coolmasternet/ @projectgus
/bundles/org.openhab.binding.coronastats/ @DerOetzi
/bundles/org.openhab.binding.daikin/ @caffineehacker
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 @@ -159,6 +159,11 @@
<artifactId>org.openhab.binding.cm11a</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.comfoair</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.coolmasternet</artifactId>
Expand Down
32 changes: 32 additions & 0 deletions bundles/org.openhab.binding.comfoair/.classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/classes" path="src/main/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="test" value="true"/>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>
23 changes: 23 additions & 0 deletions bundles/org.openhab.binding.comfoair/.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>org.openhab.binding.comfoair</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
</projectDescription>
13 changes: 13 additions & 0 deletions bundles/org.openhab.binding.comfoair/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/openhab2-addons
288 changes: 288 additions & 0 deletions bundles/org.openhab.binding.comfoair/README.md

Large diffs are not rendered by default.

17 changes: 17 additions & 0 deletions bundles/org.openhab.binding.comfoair/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: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 http://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>2.5.9-SNAPSHOT</version>
</parent>

<artifactId>org.openhab.binding.comfoair</artifactId>

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

</project>
10 changes: 10 additions & 0 deletions bundles/org.openhab.binding.comfoair/src/main/feature/feature.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<features name="org.openhab.binding.comfoair-${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-comfoair" description="ComfoAir Binding" version="${project.version}">
<feature>openhab-runtime-base</feature>
<feature>openhab-transport-serial</feature>
<bundle start-level="80">mvn:org.openhab.addons.bundles/org.openhab.binding.comfoair/${project.version}</bundle>
</feature>
</features>
Original file line number Diff line number Diff line change
@@ -0,0 +1,202 @@
/**
* Copyright (c) 2010-2020 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.comfoair.internal;

import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.smarthome.core.thing.ThingTypeUID;

/**
* The {@link ComfoAirBindingConstants} class defines common constants, which are
* used across the whole binding.
*
* @author Hans Böhm - Initial contribution
*/
@NonNullByDefault
public class ComfoAirBindingConstants {

private static final String BINDING_ID = "comfoair";

public static final ThingTypeUID THING_TYPE_COMFOAIR_GENERIC = new ThingTypeUID(BINDING_ID, "comfoair");

// Thing properties
// General properties
public static final String PROPERTY_SOFTWARE_MAIN_VERSION = "SOFTWARE_VERSION_MAIN";
public static final String PROPERTY_SOFTWARE_MINOR_VERSION = "SOFTWARE_VERSION_MINOR";
public static final String PROPERTY_DEVICE_NAME = "DEVICE_NAME";
// Installed options
public static final String PROPERTY_OPTION_PREHEATER = "OPTION_PREHEATER";
public static final String PROPERTY_OPTION_BYPASS = "OPTION_BYPASS";
public static final String PROPERTY_OPTION_RECU_TYPE = "DEVICE_TYPE";
public static final String PROPERTY_OPTION_RECU_SIZE = "DEVICE_SIZE";
public static final String PROPERTY_OPTION_CHIMNEY = "OPTION_CHIMNEY";
public static final String PROPERTY_OPTION_COOKERHOOD = "OPTION_COOKERHOOD";
public static final String PROPERTY_OPTION_HEATER = "OPTION_HEATER";
public static final String PROPERTY_OPTION_ENTHALPY = "OPTION_ENTHALPY";
public static final String PROPERTY_OPTION_EWT = "OPTION_EWT";
// Common option states
public static final String[] COMMON_OPTION_STATES = { "Not installed", "Installed" };

// Channel groups
public static final String CG_CONTROL_PREFIX = "bindingControl#";
public static final String CG_VENTILATION_PREFIX = "ventilation#";
public static final String CG_TEMPS_PREFIX = "temperatures#";
public static final String CG_TIMES_PREFIX = "times#";
public static final String CG_BYPASS_PREFIX = "bypass#";
public static final String CG_PREHEATER_PREFIX = "preheater#";
public static final String CG_EWT_PREFIX = "ewt#";
public static final String CG_HEATER_PREFIX = "heater#";
public static final String CG_COOKERHOOD_PREFIX = "cookerhood#";
public static final String CG_ENTHALPY_PREFIX = "enthalpy#";
public static final String CG_OPTIONS_PREFIX = "options#";
public static final String CG_MENUP1_PREFIX = "menuP1#";
public static final String CG_MENUP2_PREFIX = "menuP2#";
public static final String CG_MENUP9_PREFIX = "menuP9#";
public static final String CG_INPUTS_PREFIX = "inputs#";
public static final String CG_ANALOG1_PREFIX = "analog1#";
public static final String CG_ANALOG2_PREFIX = "analog2#";
public static final String CG_ANALOG3_PREFIX = "analog3#";
public static final String CG_ANALOG4_PREFIX = "analog4#";
public static final String CG_ANALOGRF_PREFIX = "analogRF#";
public static final String CG_ERRORS_PREFIX = "errors#";
public static final String CG_RESETS_PREFIX = "resets#";

// Channels
// Control channels
public static final String CHANNEL_ACTIVATE = "activate";
// Ventilation channels
public static final String CHANNEL_FAN_LEVEL = "fanLevel";
public static final String CHANNEL_FAN_OUT_0 = "fanOut0";
public static final String CHANNEL_FAN_OUT_1 = "fanOut1";
public static final String CHANNEL_FAN_OUT_2 = "fanOut2";
public static final String CHANNEL_FAN_OUT_3 = "fanOut3";
public static final String CHANNEL_FAN_IN_0 = "fanIn0";
public static final String CHANNEL_FAN_IN_1 = "fanIn1";
public static final String CHANNEL_FAN_IN_2 = "fanIn2";
public static final String CHANNEL_FAN_IN_3 = "fanIn3";
public static final String CHANNEL_FAN_IN_PERCENT = "fanInPercent";
public static final String CHANNEL_FAN_OUT_PERCENT = "fanOutPercent";
public static final String CHANNEL_FAN_IN_RPM = "fanInRPM";
public static final String CHANNEL_FAN_OUT_RPM = "fanOutRPM";
// Temperature channels
public static final String CHANNEL_TEMP_TARGET = "targetTemperature";
public static final String CHANNEL_TEMP_OUTDOOR_IN = "outdoorTemperatureIn";
public static final String CHANNEL_TEMP_OUTDOOR_OUT = "outdoorTemperatureOut";
public static final String CHANNEL_TEMP_INDOOR_IN = "indoorTemperatureIn";
public static final String CHANNEL_TEMP_INDOOR_OUT = "indoorTemperatureOut";
public static final String CHANNEL_IS_SENSOR_T1 = "isT1Sensor";
public static final String CHANNEL_IS_SENSOR_T2 = "isT2Sensor";
public static final String CHANNEL_IS_SENSOR_T3 = "isT3Sensor";
public static final String CHANNEL_IS_SENSOR_T4 = "isT4Sensor";
public static final String CHANNEL_IS_SENSOR_EWT = "isEWTSensor";
public static final String CHANNEL_IS_SENSOR_HEATER = "isHeaterSensor";
public static final String CHANNEL_IS_SENSOR_COOKERHOOD = "isCookerhoodSensor";
public static final String CHANNEL_TEMP_EWT = "ewtTemperature";
public static final String CHANNEL_TEMP_HEATER = "heaterTemperature";
public static final String CHANNEL_TEMP_COOKERHOOD = "cookerhoodTemperature";
// Time channels
public static final String CHANNEL_TIME_LEVEL0 = "level0Time";
public static final String CHANNEL_TIME_LEVEL1 = "level1Time";
public static final String CHANNEL_TIME_LEVEL2 = "level2Time";
public static final String CHANNEL_TIME_LEVEL3 = "level3Time";
public static final String CHANNEL_TIME_FREEZE = "freezeTime";
public static final String CHANNEL_TIME_PREHEATER = "preheaterTime";
public static final String CHANNEL_TIME_BYPASS = "bypassTime";
public static final String CHANNEL_TIME_FILTER = "filterHours";
// Bypass channels
public static final String CHANNEL_BYPASS_FACTOR = "bypassFactor";
public static final String CHANNEL_BYPASS_LEVEL = "bypassLevel";
public static final String CHANNEL_BYPASS_CORRECTION = "bypassCorrection";
public static final String CHANNEL_BYPASS_SUMMER = "bypassSummer";
// Preheater channels
public static final String CHANNEL_PREHEATER_VALVE = "preheaterValve";
public static final String CHANNEL_PREHEATER_FROST_PROTECT = "preheaterFrostProtect";
public static final String CHANNEL_PREHEATER_HEATING = "preheaterHeating";
public static final String CHANNEL_PREHEATER_FROST_TIME = "preheaterFrostTime";
public static final String CHANNEL_PREHEATER_SAFETY = "preheaterSafety";
// EWT channels
public static final String CHANNEL_EWT_TEMP_LOW = "ewtTemperatureLow";
public static final String CHANNEL_EWT_TEMP_HIGH = "ewtTemperatureHigh";
public static final String CHANNEL_EWT_SPEED = "ewtSpeed";
// Heater channels
public static final String CHANNEL_HEATER_POWER = "heaterPower";
public static final String CHANNEL_HEATER_POWER_I = "heaterPowerI";
public static final String CHANNEL_HEATER_TEMP_TARGET = "heaterTargetTemperature";
// Cookerhood channels
public static final String CHANNEL_COOKERHOOD_SPEED = "cookerhoodSpeed";
// Enthalpy channels
public static final String CHANNEL_ENTHALPY_TEMP = "enthalpyTemperature";
public static final String CHANNEL_ENTHALPY_HUMIDITY = "enthalpyHumidity";
public static final String CHANNEL_ENTHALPY_LEVEL = "enthalpyLevel";
public static final String CHANNEL_ENTHALPY_TIME = "enthalpyTime";
// Menu P1 channels
public static final String CHANNEL_MENU20_MODE = "menu20Mode";
public static final String CHANNEL_MENU21_MODE = "menu21Mode";
public static final String CHANNEL_MENU22_MODE = "menu22Mode";
public static final String CHANNEL_MENU23_MODE = "menu23Mode";
public static final String CHANNEL_MENU24_MODE = "menu24Mode";
public static final String CHANNEL_MENU25_MODE = "menu25Mode";
public static final String CHANNEL_MENU26_MODE = "menu26Mode";
public static final String CHANNEL_MENU27_MODE = "menu27Mode";
public static final String CHANNEL_MENU28_MODE = "menu28Mode";
public static final String CHANNEL_MENU29_MODE = "menu29Mode";
// Menu P2 channels
public static final String CHANNEL_BR_START_DELAY = "bathroomStartDelay";
public static final String CHANNEL_BR_END_DELAY = "bathroomEndDelay";
public static final String CHANNEL_L1_END_DELAY = "L1EndDelay";
public static final String CHANNEL_PULSE_VENTILATION = "pulseVentilation";
public static final String CHANNEL_FILTER_WEEKS = "filterWeeks";
public static final String CHANNEL_RF_SHORT_DELAY = "RFShortDelay";
public static final String CHANNEL_RF_LONG_DELAY = "RFLongDelay";
public static final String CHANNEL_COOKERHOOD_DELAY = "cookerhoodDelay";
// Menu P9 channels
public static final String CHANNEL_CHIMNEY_STATE = "chimneyState";
public static final String CHANNEL_BYPASS_STATE = "bypassState";
public static final String CHANNEL_EWT_STATE = "ewtState";
public static final String CHANNEL_HEATER_STATE = "heaterState";
public static final String CHANNEL_VCONTROL_STATE = "vControlState";
public static final String CHANNEL_FROST_STATE = "frostState";
public static final String CHANNEL_COOKERHOOD_STATE = "cookerhoodState";
public static final String CHANNEL_ENTHALPY_STATE = "enthalpyState";
// Inputs channels
public static final String CHANNEL_IS_L1_SWITCH = "isL1Switch";
public static final String CHANNEL_IS_L2_SWITCH = "isL2Switch";
public static final String CHANNEL_IS_BATHROOM_SWITCH = "isBathroomSwitch";
public static final String CHANNEL_IS_COOKERHOOD_SWITCH = "isCookerhoodSwitch";
public static final String CHANNEL_IS_EXTERNAL_FILTER = "isExternalFilter";
public static final String CHANNEL_IS_WTW = "isWTW";
public static final String CHANNEL_IS_BATHROOM2_SWITCH = "isBathroom2Switch";
// Analog channels
public static final String CHANNEL_IS_ANALOG = "isAnalog";
public static final String CHANNEL_ANALOG_MODE = "analogMode";
public static final String CHANNEL_ANALOG_NEGATIVE = "analogNegative";
public static final String CHANNEL_ANALOG_VOLT = "analogVolt";
public static final String CHANNEL_ANALOG_MIN = "analogMin";
public static final String CHANNEL_ANALOG_MAX = "analogMax";
public static final String CHANNEL_ANALOG_VALUE = "analogValue";
public static final String CHANNEL_IS_RF = "isRF";
public static final String CHANNEL_RF_MODE = "RFMode";
public static final String CHANNEL_RF_NEGATIVE = "RFNegative";
public static final String CHANNEL_RF_MIN = "RFMin";
public static final String CHANNEL_RF_MAX = "RFMax";
public static final String CHANNEL_RF_VALUE = "RFValue";
public static final String CHANNEL_ANALOG_PRIORITY = "analogPriority";
// Error channels
public static final String CHANNEL_FILTER_ERROR = "filterError";
public static final String CHANNEL_ERRORS_CURRENT = "errorsCurrent";
public static final String CHANNEL_ERRORS_LAST = "errorsLast";
public static final String CHANNEL_ERRORS_PRELAST = "errorsPrelast";
public static final String CHANNEL_ERRORS_PREPRELAST = "errorsPrePrelast";
// Reset channels
public static final String CHANNEL_FILTER_RESET = "filterReset";
public static final String CHANNEL_ERROR_RESET = "errorReset";
}
Loading

0 comments on commit 50243df

Please sign in to comment.