## Channels
The ComfoAir binding supports the following channels.
-Some channels are added dynamically based on installed device options.
-Available device options are shown in thing properties.
| Channel ID | Item Type | Label | Description | Read Only | Advanced |
|------------------------------------|--------------------------|---------------------------------|---------------------------------------------------------------------------------------------|-----------|----------|
| temperatures#isT2Sensor | Switch | Sensor T2 Available | Availability of temperature sensor T2 (indoor in) | true | yes |
| temperatures#isT3Sensor | Switch | Sensor T3 Available | Availability of temperature sensor T3 (indoor out) | true | yes |
| temperatures#isT4Sensor | Switch | Sensor T4 Available | Availability of temperature sensor T4 (outdoor out) | true | yes |
-| temperatures#isEWTSensor | Switch | EWT Sensor Available | Availability of EWT temperature sensor | true | yes |
+| temperatures#isEWTSensor | Switch | GHX Sensor Available | Availability of geothermal heat exchanger temperature sensor | true | yes |
| temperatures#isHeaterSensor | Switch | Heater Sensor Available | Availability of heater temperature sensor | true | yes |
| temperatures#isCookerhoodSensor | Switch | Cookerhood Sensor Available | Availability of cookerhood temperature sensor | true | yes |
-| temperatures#ewtTemperature | Number:Temperature | EWT Temperature | Temperature of geothermal heat exchanger sensor | true | yes |
+| temperatures#ewtTemperature | Number:Temperature | GHX Temperature | Temperature of geothermal heat exchanger sensor | true | yes |
| temperatures#heaterTemperature | Number:Temperature | Heater Temperature | Temperature of heater sensor | true | yes |
| temperatures#cookerhoodTemperature | Number:Temperature | Cookerhood Temperature | Temperature of cookerhood sensor | true | yes |
| **Uptimes** | | | | | |
| menuP2#RFLongDelay | Number | Menu P26 | End delay (RF long actuation) for ventilation level 3 (min) | false | yes |
| menuP2#cookerhoodDelay | Number | Menu P20 | End delay for cooker hood control (min) | false | yes |
| **Menu P9: Option States** | | | | | |
-| menuP9#chimneyState (dynamic) | Switch | Chimney Control State | State of the chimney control | true | yes |
-| menuP9#bypassState (dynamic) | Switch | Bypass State | State of the bypass (ON = open / OFF = closed) | true | yes |
-| menuP9#ewtState (dynamic) | Switch | EWT State | State of the EWT valve (ON = open / OFF = closed) | true | yes |
-| menuP9#heaterState (dynamic) | Switch | Heater State | State of the heater | true | yes |
+| menuP9#chimneyState | Switch | Chimney Control State | State of the chimney control | true | yes |
+| menuP9#bypassState | Switch | Bypass State | State of the bypass (ON = open / OFF = closed) | true | yes |
+| menuP9#ewtState | Switch | GHX State | State of the geothermal heat exchanger valve (ON = open / OFF = closed) | true | yes |
+| menuP9#heaterState | Switch | Heater State | State of the heater | true | yes |
| menuP9#vControlState | Switch | 0-10V Control State | State of the 0-10V control | true | yes |
-| menuP9#frostState (dynamic) | Switch | Antifrost State | State of the antifrost control | true | yes |
-| menuP9#cookerhoodState (dynamic) | Switch | Cookerhood State | State of the cookerhood control | true | yes |
-| menuP9#enthalpyState (dynamic) | Switch | Enthalpy State | State of the enthalpy module | true | yes |
+| menuP9#frostState | Switch | Antifrost State | State of the antifrost control | true | yes |
+| menuP9#cookerhoodState | Switch | Cookerhood State | State of the cookerhood control | true | yes |
+| menuP9#enthalpyState | Switch | Enthalpy State | State of the enthalpy module | true | yes |
| **Error States** | | | | | |
| errors#filterError | Switch | Filter Error | Filter full | true | no |
| errors#errorsCurrent | String | Errors Current | Current errors | true | no |
| errors#errorsLast | String | Errors Last | Last errors | true | yes |
| errors#errorsPrelast | String | Errors Prelast | Prelast errors | true | yes |
| errors#errorsPrePrelast | String | Errors Pre-Prelast | Pre-Prelast errors | true | yes |
-| **Bypass Values (dynamic)** | | | | | |
+| **Bypass Values** | | | | | |
| bypass#bypassFactor | Number | Bypass Factor | Bypass factor value | true | yes |
| bypass#bypassLevel | Number | Bypass Level | Bypass level state | true | yes |
| bypass#bypassCorrection | Number | Bypass Correction | Bypass correction state | true | yes |
| bypass#bypassSummer | Switch | Bypass Summer Mode | Bypass summer mode | true | yes |
-| **Preheater Values (dynamic)** | | | | | |
+| **Preheater Values** | | | | | |
| preheater#preheaterValve | Number | Preheater Valve | State of the preheater valve | true | yes |
| preheater#preheaterFrostProtect | Switch | Frost Protection | State of the frost protection | true | yes |
| preheater#preheaterHeating | Switch | Preheater | State of the preheater | true | yes |
| preheater#preheaterFrostTime | Number | Preheater Frost Time | Frost minutes | true | yes |
| preheater#preheaterSafety | Number | Preheater Frost Safety | Frost safety setting | true | yes |
-| **EWT Values (dynamic)** | | | | | |
-| ewt#ewtTemperatureLow | Number:Temperature | EWT Temperature (low) | Lower temperature of the geothermal heat exchanger | true | yes |
-| ewt#ewtTemperatureHigh | Number:Temperature | EWT Temperature (high) | Upper temperature of the geothermal heat exchanger | true | yes |
-| ewt#ewtSpeed | Number | EWT Speed Up (%) | Speed up of the geothermal heat exchanger | true | yes |
-| **Heater Values (dynamic)** | | | | | |
+| **GHX Values** | | | | | |
+| ewt#ewtTemperatureLow | Number:Temperature | GHX Temperature (low) | Lower temperature of the geothermal heat exchanger | true | yes |
+| ewt#ewtTemperatureHigh | Number:Temperature | GHX Temperature (high) | Upper temperature of the geothermal heat exchanger | true | yes |
+| ewt#ewtSpeed | Number | GHX Speed Up (%) | Speed up of the geothermal heat exchanger | true | yes |
+| **Heater Values** | | | | | |
| heater#heaterPower | Number | Heater Power | Heater power value | true | yes |
| heater#heaterPowerI | Number | Heater Power I-parameter | Heater power I-parameter value | true | yes |
| heater#heaterTargetTemperature | Number:Temperature | Heater Target Temperature | Target temperature of the heater | true | yes |
-| **Cookerhood Values (dynamic)** | | | | | |
+| **Cookerhood Values** | | | | | |
| cookerhood#cookerhoodSpeed | Number | Cookerhood Speed Up (%) | Speed up of the cookerhood | true | yes |
-| **Enthalpy Values (dynamic)** | | | | | |
+| **Enthalpy Values** | | | | | |
| enthalpy#enthalpyTemperature | Number:Temperature | Enthalpy Sensor Temperature | Temperature of the enthalpy sensor | true | yes |
| enthalpy#enthalpyHumidity | Number | Enthalpy Sensor Humidity | Humidity of the enthalpy sensor | true | yes |
| enthalpy#enthalpyLevel | Number | Enthalpy Sensor Level | Level of the enthalpy sensor | true | yes |
| enthalpy#enthalpyTime | Number | Enthalpy Sensor Timer | Timer state of the enthalpy sensor | true | yes |
+| **Option Settings** | | | | | |
+| options#isPreheater | Switch | Preheater | Preheater option installed | true | yes |
+| options#isBypass | Switch | Bypass | Bypass option installed | true | yes |
+| options#recuType | Number | ComfoAir Type | Type of the ComfoAir (1 = left / 2 = right) | true | yes |
+| options#recuSize | Number | ComfoAir Size | Size of the ComfoAir (1 = big / 2 = small) | true | yes |
+| options#isChimney | Switch | Chimney | Chimney option installed | true | yes |
+| options#isCookerhood | Switch | Cookerhood | Cookerhood option installed | true | yes |
+| options#isHeater | Switch | Heater | Heater option installed | true | yes |
+| options#isEnthalpy | Number | Enthalpy | Enthalpy option installed | true | yes |
+| options#isEWT | Number | Geothermal Heat Exchanger | Geothermal heat exchanger option installed | true | yes |
+| options#analogPriority | Number | Analog Priority | Priority of analog inputs for highest fan level | true | yes |
| **Inputs** | | | | | |
| inputs#isL1Switch | Switch | L1 Switch | Availability of L1 step switch | true | yes |
| inputs#isL2Switch | Switch | L2 Switch | Availability of L2 step switch | true | yes |
Number comfoairFanIn0 "Supply capacity - level 0 [%d %%]" <fan_in> (ComfoAir) {channel="comfoair:comfoair:myComfoAir:ventilation#fanIn0"}
Number comfoairFanOut0 "Exhaust capacity - level 0 [%d %%]" <fan_out> (ComfoAir) {channel="comfoair:comfoair:myComfoAir:ventilation#fanOut0"}
Switch comfoairBypassMode "Bypass [MAP(comfoair_bypass.map):%s]" <climate> (ComfoAir) {channel="comfoair:comfoair:myComfoAir:menuP9#bypassState"}
-Switch comfoairEWTMode "EWT [MAP(comfoair_on-off.map):%s]" <climate> (ComfoAir) {channel="comfoair:comfoair:myComfoAir:menuP9#ewtState"}
+Switch comfoairGHXMode "GHX [MAP(comfoair_on-off.map):%s]" <climate> (ComfoAir) {channel="comfoair:comfoair:myComfoAir:menuP9#ewtState"}
Switch comfoairChimneyMode "Fire programme [MAP(comfoair_on-off.map):%s]" <climate> (ComfoAir) {channel="comfoair:comfoair:myComfoAir:menuP9#chimneyState"}
Switch comfoairHeaterMode "Heater [MAP(comfoair_on-off.map):%s]" <climate> (ComfoAir) {channel="comfoair:comfoair:myComfoAir:menuP9#heaterState"}
Switch comfoairCookerHoodMode "Extractor hood [MAP(comfoair_on-off.map):%s]" <climate> (ComfoAir) {channel="comfoair:comfoair:myComfoAir:menuP9#cookerhoodState"}
Text item=comfoairIncomingFan valuecolor=["black"]
Text item=comfoairBypassMode valuecolor=["black"]
Text item=comfoairOutgoingFan valuecolor=["black"]
- Text item=comfoairEWTMode valuecolor=[OFF="silver", ON="black"]
+ Text item=comfoairGHXMode valuecolor=[OFF="silver", ON="black"]
Text item=comfoairEfficiency valuecolor=["black"]
Text item=comfoairFreezeMode valuecolor=[OFF="black", ON="red"]
Text item=comfoairFilterRuntime_Message valuecolor=["black"]
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_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_GHX_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 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_GHX = "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_GHX = "ewtTemperature";
public static final String CHANNEL_TEMP_HEATER = "heaterTemperature";
public static final String CHANNEL_TEMP_COOKERHOOD = "cookerhoodTemperature";
// Time channels
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";
+ // GHX channels
+ public static final String CHANNEL_GHX_TEMP_LOW = "ewtTemperatureLow";
+ public static final String CHANNEL_GHX_TEMP_HIGH = "ewtTemperatureHigh";
+ public static final String CHANNEL_GHX_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_ENTHALPY_HUMIDITY = "enthalpyHumidity";
public static final String CHANNEL_ENTHALPY_LEVEL = "enthalpyLevel";
public static final String CHANNEL_ENTHALPY_TIME = "enthalpyTime";
+ // Options channels
+ public static final String CHANNEL_OPTION_PREHEATER = "isPreheater";
+ public static final String CHANNEL_OPTION_BYPASS = "isBypass";
+ public static final String CHANNEL_OPTION_RECU_TYPE = "recuType";
+ public static final String CHANNEL_OPTION_RECU_SIZE = "recuSize";
+ public static final String CHANNEL_OPTION_CHIMNEY = "isChimney";
+ public static final String CHANNEL_OPTION_COOKERHOOD = "isCookerhood";
+ public static final String CHANNEL_OPTION_HEATER = "isHeater";
+ public static final String CHANNEL_OPTION_ENTHALPY = "isEnthalpy";
+ public static final String CHANNEL_OPTION_GHX = "isEWT";
+ public static final String CHANNEL_OPTION_PRIORITY = "analogPriority";
// Menu P1 channels
public static final String CHANNEL_MENU20_MODE = "menu20Mode";
public static final String CHANNEL_MENU21_MODE = "menu21Mode";
// 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_GHX_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_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";
BYPASS_STATE(ComfoAirBindingConstants.CG_MENUP9_PREFIX + ComfoAirBindingConstants.CHANNEL_BYPASS_STATE,
DataTypeBoolean.getInstance(), Constants.REQUEST_GET_STATES, Constants.REPLY_GET_STATES, new int[] { 8 },
0x02),
- EWT_STATE(ComfoAirBindingConstants.CG_MENUP9_PREFIX + ComfoAirBindingConstants.CHANNEL_EWT_STATE,
+ GHX_STATE(ComfoAirBindingConstants.CG_MENUP9_PREFIX + ComfoAirBindingConstants.CHANNEL_GHX_STATE,
DataTypeBoolean.getInstance(), Constants.REQUEST_GET_STATES, Constants.REPLY_GET_STATES, new int[] { 8 },
0x04),
HEATER_STATE(ComfoAirBindingConstants.CG_MENUP9_PREFIX + ComfoAirBindingConstants.CHANNEL_HEATER_STATE,
IS_T4_SENSOR(ComfoAirBindingConstants.CG_TEMPS_PREFIX + ComfoAirBindingConstants.CHANNEL_IS_SENSOR_T4,
DataTypeBoolean.getInstance(), Constants.REQUEST_GET_TEMPS, Constants.REPLY_GET_TEMPS, new int[] { 5 },
0x08),
- IS_EWT_SENSOR(ComfoAirBindingConstants.CG_TEMPS_PREFIX + ComfoAirBindingConstants.CHANNEL_IS_SENSOR_EWT,
+ IS_GHX_SENSOR(ComfoAirBindingConstants.CG_TEMPS_PREFIX + ComfoAirBindingConstants.CHANNEL_IS_SENSOR_GHX,
DataTypeBoolean.getInstance(), Constants.REQUEST_GET_TEMPS, Constants.REPLY_GET_TEMPS, new int[] { 5 },
0x10),
IS_HEATER_SENSOR(ComfoAirBindingConstants.CG_TEMPS_PREFIX + ComfoAirBindingConstants.CHANNEL_IS_SENSOR_HEATER,
ComfoAirBindingConstants.CG_TEMPS_PREFIX + ComfoAirBindingConstants.CHANNEL_IS_SENSOR_COOKERHOOD,
DataTypeBoolean.getInstance(), Constants.REQUEST_GET_TEMPS, Constants.REPLY_GET_TEMPS, new int[] { 5 },
0x40),
- EWT_TEMPERATURE(ComfoAirBindingConstants.CG_TEMPS_PREFIX + ComfoAirBindingConstants.CHANNEL_TEMP_EWT,
+ GHX_TEMPERATURE(ComfoAirBindingConstants.CG_TEMPS_PREFIX + ComfoAirBindingConstants.CHANNEL_TEMP_GHX,
DataTypeTemperature.getInstance(), Constants.REQUEST_GET_TEMPS, Constants.REPLY_GET_TEMPS, new int[] { 6 }),
HEATER_TEMPERATURE(ComfoAirBindingConstants.CG_TEMPS_PREFIX + ComfoAirBindingConstants.CHANNEL_TEMP_HEATER,
DataTypeTemperature.getInstance(), Constants.REQUEST_GET_TEMPS, Constants.REPLY_GET_TEMPS, new int[] { 7 }),
COOKERHOOD_TEMPERATURE(ComfoAirBindingConstants.CG_TEMPS_PREFIX + ComfoAirBindingConstants.CHANNEL_TEMP_COOKERHOOD,
DataTypeTemperature.getInstance(), Constants.REQUEST_GET_TEMPS, Constants.REPLY_GET_TEMPS, new int[] { 8 }),
- EWT_SPEED(ComfoAirBindingConstants.CG_EWT_PREFIX + ComfoAirBindingConstants.CHANNEL_EWT_SPEED,
- DataTypeNumber.getInstance(), Constants.REQUEST_SET_EWT, 5, 2,
- new ComfoAirCommandType[] { EWT_STATE, EWT_TEMPERATURE }, Constants.REQUEST_GET_EWT,
- Constants.REPLY_GET_EWT, new int[] { 2 }),
- EWT_TEMPERATURE_LOW(ComfoAirBindingConstants.CG_EWT_PREFIX + ComfoAirBindingConstants.CHANNEL_EWT_TEMP_LOW,
- DataTypeTemperature.getInstance(), Constants.REQUEST_SET_EWT, 5, 0, new ComfoAirCommandType[] { EWT_STATE },
- Constants.REQUEST_GET_EWT, Constants.REPLY_GET_EWT, new int[] { 0 }),
- EWT_TEMPERATURE_HIGH(ComfoAirBindingConstants.CG_EWT_PREFIX + ComfoAirBindingConstants.CHANNEL_EWT_TEMP_HIGH,
- DataTypeTemperature.getInstance(), Constants.REQUEST_SET_EWT, 5, 1, new ComfoAirCommandType[] { EWT_STATE },
- Constants.REQUEST_GET_EWT, Constants.REPLY_GET_EWT, new int[] { 1 }),
+ GHX_SPEED(ComfoAirBindingConstants.CG_GHX_PREFIX + ComfoAirBindingConstants.CHANNEL_GHX_SPEED,
+ DataTypeNumber.getInstance(), Constants.REQUEST_SET_GHX, 5, 2,
+ new ComfoAirCommandType[] { GHX_STATE, GHX_TEMPERATURE }, Constants.REQUEST_GET_GHX,
+ Constants.REPLY_GET_GHX, new int[] { 2 }),
+ GHX_TEMPERATURE_LOW(ComfoAirBindingConstants.CG_GHX_PREFIX + ComfoAirBindingConstants.CHANNEL_GHX_TEMP_LOW,
+ DataTypeTemperature.getInstance(), Constants.REQUEST_SET_GHX, 5, 0, new ComfoAirCommandType[] { GHX_STATE },
+ Constants.REQUEST_GET_GHX, Constants.REPLY_GET_GHX, new int[] { 0 }),
+ GHX_TEMPERATURE_HIGH(ComfoAirBindingConstants.CG_GHX_PREFIX + ComfoAirBindingConstants.CHANNEL_GHX_TEMP_HIGH,
+ DataTypeTemperature.getInstance(), Constants.REQUEST_SET_GHX, 5, 1, new ComfoAirCommandType[] { GHX_STATE },
+ Constants.REQUEST_GET_GHX, Constants.REPLY_GET_GHX, new int[] { 1 }),
COOKERHOOD_SPEED(ComfoAirBindingConstants.CG_COOKERHOOD_PREFIX + ComfoAirBindingConstants.CHANNEL_COOKERHOOD_SPEED,
- DataTypeNumber.getInstance(), Constants.REQUEST_SET_EWT, 5, 3,
- new ComfoAirCommandType[] { COOKERHOOD_STATE, COOKERHOOD_TEMPERATURE }, Constants.REQUEST_GET_EWT,
- Constants.REPLY_GET_EWT, new int[] { 3 }),
+ DataTypeNumber.getInstance(), Constants.REQUEST_SET_GHX, 5, 3,
+ new ComfoAirCommandType[] { COOKERHOOD_STATE, COOKERHOOD_TEMPERATURE }, Constants.REQUEST_GET_GHX,
+ Constants.REPLY_GET_GHX, new int[] { 3 }),
HEATER_POWER(ComfoAirBindingConstants.CG_HEATER_PREFIX + ComfoAirBindingConstants.CHANNEL_HEATER_POWER,
- DataTypeNumber.getInstance(), Constants.REQUEST_GET_EWT, Constants.REPLY_GET_EWT, new int[] { 4 }),
+ DataTypeNumber.getInstance(), Constants.REQUEST_GET_GHX, Constants.REPLY_GET_GHX, new int[] { 4 }),
HEATER_POWER_I(ComfoAirBindingConstants.CG_HEATER_PREFIX + ComfoAirBindingConstants.CHANNEL_HEATER_POWER_I,
- DataTypeNumber.getInstance(), Constants.REQUEST_GET_EWT, Constants.REPLY_GET_EWT, new int[] { 5 }),
+ DataTypeNumber.getInstance(), Constants.REQUEST_GET_GHX, Constants.REPLY_GET_GHX, new int[] { 5 }),
HEATER_TARGET_TEMPERATURE(
ComfoAirBindingConstants.CG_HEATER_PREFIX + ComfoAirBindingConstants.CHANNEL_HEATER_TEMP_TARGET,
- DataTypeTemperature.getInstance(), Constants.REQUEST_SET_EWT, 5, 4,
- new ComfoAirCommandType[] { HEATER_STATE, HEATER_POWER, HEATER_TEMPERATURE }, Constants.REQUEST_GET_EWT,
- Constants.REPLY_GET_EWT, new int[] { 6 }),
- IS_PREHEATER(ComfoAirBindingConstants.PROPERTY_OPTION_PREHEATER, DataTypeBoolean.getInstance(),
- Constants.REQUEST_SET_STATES, 8, 0,
+ DataTypeTemperature.getInstance(), Constants.REQUEST_SET_GHX, 5, 4,
+ new ComfoAirCommandType[] { HEATER_STATE, HEATER_POWER, HEATER_TEMPERATURE }, Constants.REQUEST_GET_GHX,
+ Constants.REPLY_GET_GHX, new int[] { 6 }),
+ IS_PREHEATER(ComfoAirBindingConstants.CG_OPTIONS_PREFIX + ComfoAirBindingConstants.CHANNEL_OPTION_PREHEATER,
+ DataTypeBoolean.getInstance(), Constants.REQUEST_SET_STATES, 8, 0,
new ComfoAirCommandType[] { OUTDOOR_TEMPERATURE_IN, INDOOR_TEMPERATURE_IN, PREHEATER_FROST_PROTECT,
PREHEATER_FROST_TIME, PREHEATER_HEATING, FROST_STATE, PREHEATER_OPTION, PREHEATER_TIME,
PREHEATER_VALVE },
Constants.REQUEST_GET_STATES, Constants.REPLY_GET_STATES, new int[] { 0 }),
- IS_BYPASS(ComfoAirBindingConstants.PROPERTY_OPTION_BYPASS, DataTypeBoolean.getInstance(),
- Constants.REQUEST_SET_STATES, 8, 1,
+ IS_BYPASS(ComfoAirBindingConstants.CG_OPTIONS_PREFIX + ComfoAirBindingConstants.CHANNEL_OPTION_BYPASS,
+ DataTypeBoolean.getInstance(), Constants.REQUEST_SET_STATES, 8, 1,
new ComfoAirCommandType[] { INDOOR_TEMPERATURE_IN, OUTDOOR_TEMPERATURE_OUT }, Constants.REQUEST_GET_STATES,
Constants.REPLY_GET_STATES, new int[] { 1 }),
- RECU_TYPE(ComfoAirBindingConstants.PROPERTY_OPTION_RECU_TYPE, DataTypeNumber.getInstance(),
- new int[] { 0x01, 0x02 }, Constants.REQUEST_SET_STATES, 8, 2,
+ RECU_TYPE(ComfoAirBindingConstants.CG_OPTIONS_PREFIX + ComfoAirBindingConstants.CHANNEL_OPTION_RECU_TYPE,
+ DataTypeNumber.getInstance(), new int[] { 0x01, 0x02 }, Constants.REQUEST_SET_STATES, 8, 2,
new ComfoAirCommandType[] { FAN_IN_PERCENT, FAN_OUT_PERCENT, INDOOR_TEMPERATURE_IN, INDOOR_TEMPERATURE_OUT,
OUTDOOR_TEMPERATURE_IN, OUTDOOR_TEMPERATURE_OUT },
Constants.REQUEST_GET_STATES, Constants.REPLY_GET_STATES, new int[] { 2 }),
- RECU_SIZE(ComfoAirBindingConstants.PROPERTY_OPTION_RECU_SIZE, DataTypeNumber.getInstance(),
- new int[] { 0x01, 0x02 }, Constants.REQUEST_SET_STATES, 8, 3,
+ RECU_SIZE(ComfoAirBindingConstants.CG_OPTIONS_PREFIX + ComfoAirBindingConstants.CHANNEL_OPTION_RECU_SIZE,
+ DataTypeNumber.getInstance(), new int[] { 0x01, 0x02 }, Constants.REQUEST_SET_STATES, 8, 3,
new ComfoAirCommandType[] { FAN_IN_PERCENT, FAN_OUT_PERCENT, FAN_IN_0, FAN_IN_1, FAN_IN_2, FAN_IN_3,
FAN_OUT_0, FAN_OUT_1, FAN_OUT_2, FAN_OUT_3 },
Constants.REQUEST_GET_STATES, Constants.REPLY_GET_STATES, new int[] { 3 }),
- IS_CHIMNEY(ComfoAirBindingConstants.PROPERTY_OPTION_CHIMNEY, DataTypeBoolean.getInstance(), new int[] { 0x01 },
- Constants.REQUEST_SET_STATES, 8, 4, Constants.EMPTY_TYPE_ARRAY, Constants.REQUEST_GET_STATES,
- Constants.REPLY_GET_STATES, new int[] { 4 }, 0x01),
- IS_COOKERHOOD(ComfoAirBindingConstants.PROPERTY_OPTION_COOKERHOOD, DataTypeBoolean.getInstance(),
- new int[] { 0x02 }, Constants.REQUEST_SET_STATES, 8, 4,
+ IS_CHIMNEY(ComfoAirBindingConstants.CG_OPTIONS_PREFIX + ComfoAirBindingConstants.CHANNEL_OPTION_CHIMNEY,
+ DataTypeBoolean.getInstance(), new int[] { 0x01 }, Constants.REQUEST_SET_STATES, 8, 4,
+ Constants.EMPTY_TYPE_ARRAY, Constants.REQUEST_GET_STATES, Constants.REPLY_GET_STATES, new int[] { 4 },
+ 0x01),
+ IS_COOKERHOOD(ComfoAirBindingConstants.CG_OPTIONS_PREFIX + ComfoAirBindingConstants.CHANNEL_OPTION_COOKERHOOD,
+ DataTypeBoolean.getInstance(), new int[] { 0x02 }, Constants.REQUEST_SET_STATES, 8, 4,
new ComfoAirCommandType[] { COOKERHOOD_DELAY, COOKERHOOD_STATE, COOKERHOOD_SPEED, COOKERHOOD_TEMPERATURE },
Constants.REQUEST_GET_STATES, Constants.REPLY_GET_STATES, new int[] { 4 }, 0x02),
- IS_HEATER(ComfoAirBindingConstants.PROPERTY_OPTION_HEATER, DataTypeBoolean.getInstance(), new int[] { 0x04 },
- Constants.REQUEST_SET_STATES, 8, 4,
+ IS_HEATER(ComfoAirBindingConstants.CG_OPTIONS_PREFIX + ComfoAirBindingConstants.CHANNEL_OPTION_HEATER,
+ DataTypeBoolean.getInstance(), new int[] { 0x04 }, Constants.REQUEST_SET_STATES, 8, 4,
new ComfoAirCommandType[] { HEATER_TARGET_TEMPERATURE, HEATER_POWER, HEATER_STATE, HEATER_POWER_I,
HEATER_TEMPERATURE },
Constants.REQUEST_GET_STATES, Constants.REPLY_GET_STATES, new int[] { 4 }, 0x04),
- IS_ENTHALPY(ComfoAirBindingConstants.PROPERTY_OPTION_ENTHALPY, DataTypeNumber.getInstance(),
- new int[] { 0x00, 0x01, 0x02 }, Constants.REQUEST_SET_STATES, 8, 6,
+ IS_ENTHALPY(ComfoAirBindingConstants.CG_OPTIONS_PREFIX + ComfoAirBindingConstants.CHANNEL_OPTION_ENTHALPY,
+ DataTypeNumber.getInstance(), new int[] { 0x00, 0x01, 0x02 }, Constants.REQUEST_SET_STATES, 8, 6,
new ComfoAirCommandType[] { ENTHALPY_TEMPERATURE, ENTHALPY_HUMIDITY, ENTHALPY_LEVEL, ENTHALPY_STATE,
ENTHALPY_TIME },
Constants.REQUEST_GET_STATES, Constants.REPLY_GET_STATES, new int[] { 9 }),
- IS_EWT(ComfoAirBindingConstants.PROPERTY_OPTION_EWT, DataTypeNumber.getInstance(), new int[] { 0x00, 0x01, 0x02 },
- Constants.REQUEST_SET_STATES, 8, 7,
- new ComfoAirCommandType[] { EWT_SPEED, EWT_TEMPERATURE_LOW, EWT_TEMPERATURE_HIGH, EWT_STATE,
- EWT_TEMPERATURE },
+ IS_GHX(ComfoAirBindingConstants.CG_OPTIONS_PREFIX + ComfoAirBindingConstants.CHANNEL_OPTION_GHX,
+ DataTypeNumber.getInstance(), new int[] { 0x00, 0x01, 0x02 }, Constants.REQUEST_SET_STATES, 8, 7,
+ new ComfoAirCommandType[] { GHX_SPEED, GHX_TEMPERATURE_LOW, GHX_TEMPERATURE_HIGH, GHX_STATE,
+ GHX_TEMPERATURE },
Constants.REQUEST_GET_STATES, Constants.REPLY_GET_STATES, new int[] { 10 }),
SOFTWARE_MAIN_VERSION(ComfoAirBindingConstants.PROPERTY_SOFTWARE_MAIN_VERSION, DataTypeNumber.getInstance(),
Constants.REQUEST_GET_FIRMWARE, Constants.REPLY_GET_FIRMWARE, new int[] { 0 }),
RF_VALUE(ComfoAirBindingConstants.CG_ANALOGRF_PREFIX + ComfoAirBindingConstants.CHANNEL_RF_VALUE,
DataTypeNumber.getInstance(), Constants.REQUEST_SET_ANALOGS, 19, 17, Constants.EMPTY_TYPE_ARRAY,
Constants.REQUEST_GET_ANALOGS, Constants.REPLY_GET_ANALOGS, new int[] { 17 }),
- ANALOG_MODE(ComfoAirBindingConstants.CG_ANALOGRF_PREFIX + ComfoAirBindingConstants.CHANNEL_ANALOG_PRIORITY,
+ ANALOG_MODE(ComfoAirBindingConstants.CG_OPTIONS_PREFIX + ComfoAirBindingConstants.CHANNEL_OPTION_PRIORITY,
DataTypeNumber.getInstance(), new int[] { 0x00, 0x01 }, Constants.REQUEST_SET_ANALOGS, 19, 18,
Constants.EMPTY_TYPE_ARRAY, Constants.REQUEST_GET_ANALOGS, Constants.REPLY_GET_ANALOGS, new int[] { 18 }),
ANALOG1_VOLT(ComfoAirBindingConstants.CG_ANALOG1_PREFIX + ComfoAirBindingConstants.CHANNEL_ANALOG_VOLT,
public static final int REPLY_GET_PREHEATER = 0xe2;
public static final int REQUEST_GET_RF = 0xe5;
public static final int REPLY_GET_RF = 0xe6;
- public static final int REQUEST_GET_EWT = 0xeb;
- public static final int REPLY_GET_EWT = 0xec;
- public static final int REQUEST_SET_EWT = 0xed;
+ public static final int REQUEST_GET_GHX = 0xeb;
+ public static final int REPLY_GET_GHX = 0xec;
+ public static final int REQUEST_SET_GHX = 0xed;
public static final String[] EMPTY_STRING_ARRAY = new String[0];
public static final int[] EMPTY_INT_ARRAY = new int[0];
*/
package org.openhab.binding.comfoair.internal;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import org.openhab.core.thing.ThingStatus;
import org.openhab.core.thing.ThingStatusDetail;
import org.openhab.core.thing.binding.BaseThingHandler;
-import org.openhab.core.thing.binding.builder.ThingBuilder;
import org.openhab.core.types.Command;
import org.openhab.core.types.RefreshType;
import org.openhab.core.types.State;
if (comfoAirConnector != null) {
updateStatus(ThingStatus.ONLINE);
pullDeviceProperties();
- Map<String, String> properties = thing.getProperties();
-
- List<Channel> toBeRemovedChannels = new ArrayList<>();
- if (properties.get(ComfoAirBindingConstants.PROPERTY_OPTION_PREHEATER)
- .equals(ComfoAirBindingConstants.COMMON_OPTION_STATES[0])) {
- toBeRemovedChannels.addAll(getThing()
- .getChannelsOfGroup(ComfoAirBindingConstants.CG_PREHEATER_PREFIX.replaceAll("#$", "")));
- Channel stateChannel = getThing().getChannel(ComfoAirBindingConstants.CG_MENUP9_PREFIX
- + ComfoAirBindingConstants.CHANNEL_FROST_STATE);
- if (stateChannel != null) {
- toBeRemovedChannels.add(stateChannel);
- }
- }
- if (properties.get(ComfoAirBindingConstants.PROPERTY_OPTION_BYPASS)
- .equals(ComfoAirBindingConstants.COMMON_OPTION_STATES[0])) {
- toBeRemovedChannels.addAll(getThing()
- .getChannelsOfGroup(ComfoAirBindingConstants.CG_BYPASS_PREFIX.replaceAll("#$", "")));
- Channel stateChannel = getThing().getChannel(ComfoAirBindingConstants.CG_MENUP9_PREFIX
- + ComfoAirBindingConstants.CHANNEL_BYPASS_STATE);
- if (stateChannel != null) {
- toBeRemovedChannels.add(stateChannel);
- }
- }
- if (properties.get(ComfoAirBindingConstants.PROPERTY_OPTION_CHIMNEY)
- .equals(ComfoAirBindingConstants.COMMON_OPTION_STATES[0])) {
- Channel stateChannel = getThing().getChannel(ComfoAirBindingConstants.CG_MENUP9_PREFIX
- + ComfoAirBindingConstants.CHANNEL_CHIMNEY_STATE);
- if (stateChannel != null) {
- toBeRemovedChannels.add(stateChannel);
- }
- }
- if (properties.get(ComfoAirBindingConstants.PROPERTY_OPTION_COOKERHOOD)
- .equals(ComfoAirBindingConstants.COMMON_OPTION_STATES[0])) {
- toBeRemovedChannels.addAll(getThing().getChannelsOfGroup(
- ComfoAirBindingConstants.CG_COOKERHOOD_PREFIX.replaceAll("#$", "")));
- Channel stateChannel = getThing().getChannel(ComfoAirBindingConstants.CG_MENUP9_PREFIX
- + ComfoAirBindingConstants.CHANNEL_COOKERHOOD_STATE);
- if (stateChannel != null) {
- toBeRemovedChannels.add(stateChannel);
- }
- }
- if (properties.get(ComfoAirBindingConstants.PROPERTY_OPTION_HEATER)
- .equals(ComfoAirBindingConstants.COMMON_OPTION_STATES[0])) {
- toBeRemovedChannels.addAll(getThing()
- .getChannelsOfGroup(ComfoAirBindingConstants.CG_HEATER_PREFIX.replaceAll("#$", "")));
- Channel stateChannel = getThing().getChannel(ComfoAirBindingConstants.CG_MENUP9_PREFIX
- + ComfoAirBindingConstants.CHANNEL_HEATER_STATE);
- if (stateChannel != null) {
- toBeRemovedChannels.add(stateChannel);
- }
- }
- if (properties.get(ComfoAirBindingConstants.PROPERTY_OPTION_ENTHALPY)
- .equals(ComfoAirBindingConstants.COMMON_OPTION_STATES[0])) {
- toBeRemovedChannels.addAll(getThing()
- .getChannelsOfGroup(ComfoAirBindingConstants.CG_ENTHALPY_PREFIX.replaceAll("#$", "")));
- Channel stateChannel = getThing().getChannel(ComfoAirBindingConstants.CG_MENUP9_PREFIX
- + ComfoAirBindingConstants.CHANNEL_ENTHALPY_STATE);
- if (stateChannel != null) {
- toBeRemovedChannels.add(stateChannel);
- }
- }
- if (properties.get(ComfoAirBindingConstants.PROPERTY_OPTION_EWT)
- .equals(ComfoAirBindingConstants.COMMON_OPTION_STATES[0])) {
- toBeRemovedChannels.addAll(getThing()
- .getChannelsOfGroup(ComfoAirBindingConstants.CG_EWT_PREFIX.replaceAll("#$", "")));
- Channel stateChannel = getThing().getChannel(
- ComfoAirBindingConstants.CG_MENUP9_PREFIX + ComfoAirBindingConstants.CHANNEL_EWT_STATE);
- if (stateChannel != null) {
- toBeRemovedChannels.add(stateChannel);
- }
- }
- ThingBuilder builder = editThing().withoutChannels(toBeRemovedChannels);
- updateThing(builder.build());
List<Channel> channels = this.thing.getChannels();
preRequestCmd = ComfoAirCommandType.Constants.REQUEST_GET_STATES;
preReplyCmd = ComfoAirCommandType.Constants.REPLY_GET_STATES;
break;
- case ComfoAirCommandType.Constants.REQUEST_SET_EWT:
- preRequestCmd = ComfoAirCommandType.Constants.REQUEST_GET_EWT;
- preReplyCmd = ComfoAirCommandType.Constants.REPLY_GET_EWT;
+ case ComfoAirCommandType.Constants.REQUEST_SET_GHX:
+ preRequestCmd = ComfoAirCommandType.Constants.REQUEST_GET_GHX;
+ preReplyCmd = ComfoAirCommandType.Constants.REPLY_GET_GHX;
break;
default:
preRequestCmd = requestCmd;
String[] namedProperties = new String[] { ComfoAirBindingConstants.PROPERTY_SOFTWARE_MAIN_VERSION,
ComfoAirBindingConstants.PROPERTY_SOFTWARE_MINOR_VERSION,
ComfoAirBindingConstants.PROPERTY_DEVICE_NAME };
- String[] optionProperties = new String[] { ComfoAirBindingConstants.PROPERTY_OPTION_PREHEATER,
- ComfoAirBindingConstants.PROPERTY_OPTION_BYPASS, ComfoAirBindingConstants.PROPERTY_OPTION_RECU_TYPE,
- ComfoAirBindingConstants.PROPERTY_OPTION_RECU_SIZE,
- ComfoAirBindingConstants.PROPERTY_OPTION_CHIMNEY,
- ComfoAirBindingConstants.PROPERTY_OPTION_COOKERHOOD,
- ComfoAirBindingConstants.PROPERTY_OPTION_HEATER, ComfoAirBindingConstants.PROPERTY_OPTION_ENTHALPY,
- ComfoAirBindingConstants.PROPERTY_OPTION_EWT };
for (String prop : namedProperties) {
ComfoAirCommand readCommand = ComfoAirCommandType.getReadCommand(prop);
}
}
}
-
- ComfoAirCommand optionsReadCommand = new ComfoAirCommand(ComfoAirBindingConstants.PROPERTY_OPTION_PREHEATER,
- ComfoAirCommandType.Constants.REQUEST_GET_STATES, ComfoAirCommandType.Constants.REPLY_GET_STATES,
- ComfoAirCommandType.Constants.EMPTY_INT_ARRAY, null, null);
- int[] response = comfoAirConnector.sendCommand(optionsReadCommand,
- ComfoAirCommandType.Constants.EMPTY_INT_ARRAY);
- if (response.length > 0) {
- for (String prop : optionProperties) {
- ComfoAirCommandType comfoAirCommandType = ComfoAirCommandType.getCommandTypeByKey(prop);
- String value = "";
-
- if (comfoAirCommandType != null) {
- ComfoAirDataType dataType = comfoAirCommandType.getDataType();
- int intValue = dataType.calculateNumberValue(response, comfoAirCommandType);
-
- switch (prop) {
- case ComfoAirBindingConstants.PROPERTY_OPTION_RECU_TYPE:
- value = intValue == 1 ? "LEFT" : "RIGHT";
- break;
- case ComfoAirBindingConstants.PROPERTY_OPTION_RECU_SIZE:
- value = intValue == 1 ? "BIG" : "SMALL";
- break;
- case ComfoAirBindingConstants.PROPERTY_OPTION_ENTHALPY:
- if (intValue == 1) {
- value = ComfoAirBindingConstants.COMMON_OPTION_STATES[1];
- } else if (intValue == 2) {
- value = "Installed w\\o sensor";
- } else {
- value = ComfoAirBindingConstants.COMMON_OPTION_STATES[0];
- }
- break;
- case ComfoAirBindingConstants.PROPERTY_OPTION_EWT:
- if (intValue == 1) {
- value = "Regulated";
- } else if (intValue == 2) {
- value = "Unregulated";
- } else {
- value = ComfoAirBindingConstants.COMMON_OPTION_STATES[0];
- }
- break;
- default:
- value = intValue > 0 ? ComfoAirBindingConstants.COMMON_OPTION_STATES[1]
- : ComfoAirBindingConstants.COMMON_OPTION_STATES[0];
- break;
- }
- }
- properties.put(prop, value);
- }
- }
thing.setProperties(properties);
}
}
return ComfoAirCommandType.Constants.EMPTY_INT_ARRAY;
}
break;
- case ComfoAirCommandType.Constants.REQUEST_SET_EWT:
+ case ComfoAirCommandType.Constants.REQUEST_SET_GHX:
newRequestData = new int[5];
if (preRequestData.length > 0 && newRequestData.length <= preRequestData.length) {
default int calculateNumberValue(int[] data, ComfoAirCommandType commandType) {
int[] readReplyDataPos = commandType.getReadReplyDataPos();
+ int readReplyDataBits = commandType.getReadReplyDataBits();
+
int value = 0;
if (readReplyDataPos != null) {
- int base = 0;
+ if (readReplyDataBits == 0) {
+ int base = 0;
- for (int i = readReplyDataPos.length - 1; i >= 0; i--) {
- if (readReplyDataPos[i] < data.length) {
- value += data[readReplyDataPos[i]] << base;
- base += 8;
- } else {
- return -1;
+ for (int i = readReplyDataPos.length - 1; i >= 0; i--) {
+ if (readReplyDataPos[i] < data.length) {
+ value += data[readReplyDataPos[i]] << base;
+ base += 8;
+ } else {
+ return -1;
+ }
}
+ } else {
+ value = (data[readReplyDataPos[0]] & readReplyDataBits) == readReplyDataBits ? 1 : 0;
}
} else {
value = -1;
} else {
int[] readReplyDataPos = commandType.getReadReplyDataPos();
if (readReplyDataPos != null && readReplyDataPos[0] < data.length) {
- if (commandType.getReadCommand() == ComfoAirCommandType.Constants.REQUEST_GET_EWT) {
+ if (commandType.getReadCommand() == ComfoAirCommandType.Constants.REQUEST_GET_GHX) {
return new QuantityType<>((double) data[readReplyDataPos[0]], SIUnits.CELSIUS);
} else {
return new QuantityType<>((((double) data[readReplyDataPos[0]]) / 2) - 20, SIUnits.CELSIUS);
QuantityType<?> celsius = ((QuantityType<?>) value).toUnit(SIUnits.CELSIUS);
if (celsius != null) {
- if (commandType.getReadCommand() == ComfoAirCommandType.Constants.REQUEST_GET_EWT) {
+ if (commandType.getReadCommand() == ComfoAirCommandType.Constants.REQUEST_GET_GHX) {
template[commandType.getChangeDataPos()] = celsius.intValue();
} else {
template[commandType.getChangeDataPos()] = (int) (celsius.doubleValue() + 20) * 2;
# binding
binding.comfoair.comfoair.name = ComfoAir Binding
-binding.comfoair.comfoair.description = ComfoAir Wohnraumlüftung
+binding.comfoair.comfoair.description = ComfoAir Wohnraumlüftung
# thing types
-thing-type.comfoair.comfoair.label = ComfoAir Wohnraumlüftung
-thing-type.comfoair.comfoair.description = Serielle Verbindung zu einer ComfoAir-kompatiblen Lüftungsanlage
+thing-type.comfoair.comfoair.label = ComfoAir Wohnraumlüftung
+thing-type.comfoair.comfoair.description = Serielle Verbindung zu einer ComfoAir-kompatiblen Lüftungsanlage
# thing type configuration
thing-type.config.comfoair.comfoair.serialPort.label = Serieller Port
-thing-type.config.comfoair.comfoair.serialPort.description = Serieller Port über den die Lüftungsanlage verbunden ist
+thing-type.config.comfoair.comfoair.serialPort.description = Serieller Port über den die Lüftungsanlage verbunden ist
thing-type.config.comfoair.comfoair.refreshInterval.label = Aktualisierungsinterval
thing-type.config.comfoair.comfoair.refreshInterval.description = Aktualisierungsinterval in Sekunden
+# channel group type
+channel-group-type.comfoair.bindingControl.label = Binding-Kontrolle
+channel-group-type.comfoair.ventilation.label = Lüftungswerte
+channel-group-type.comfoair.temperatures.label = Temperaturwerte
+channel-group-type.comfoair.times.label = Laufzeiten
+channel-group-type.comfoair.bypass.label = Bypasswerte
+channel-group-type.comfoair.preheater.label = Vorheizerwerte
+channel-group-type.comfoair.ghx.label = Erdwärmetauscherwerte
+channel-group-type.comfoair.heater.label = Nachheizerwerte
+channel-group-type.comfoair.cookerhood.label = Küchenhaubenwerte
+channel-group-type.comfoair.enthalpy.label = Enthalpietauscherwerte
+channel-group-type.comfoair.options.label = Moduleinstellungen
+channel-group-type.comfoair.menuP1.label = Menü P1: Status Regelungen
+channel-group-type.comfoair.menuP2.label = Menü P2: Einstellung Zeitverzögerungen
+channel-group-type.comfoair.menuP9.label = Menü P9: Status Zusatzregelungen
+channel-group-type.comfoair.inputs.label = Eingänge
+channel-group-type.comfoair.analog.label = Analoge Eingänge
+channel-group-type.comfoair.analogRF.label = RF Eingänge
+channel-group-type.comfoair.errors.label = Fehlerstatus
+channel-group-type.comfoair.resets.label = Reset
+
# channel type
channel-type.comfoair.activate.label = Steuerung aktivieren
-channel-type.comfoair.activate.description = Kontrolle aktivieren (über openHAB) oder deaktivieren (zurück auf CCEase)
-channel-type.comfoair.fan_evel.label = Lüftungsstufe
-channel-type.comfoair.fan_evel.description = Lüftungsstufe
+channel-type.comfoair.activate.description = Kontrolle aktivieren (über openHAB) oder deaktivieren (zurück auf CCEase)
+channel-type.comfoair.fan_evel.label = Lüftungsstufe
+channel-type.comfoair.fan_evel.description = Lüftungsstufe
+channel-type.comfoair.fan_evel.state.option.1 = Abwesend
+channel-type.comfoair.fan_evel.state.option.2 = Stufe 1
+channel-type.comfoair.fan_evel.state.option.3 = Stufe 2
+channel-type.comfoair.fan_evel.state.option.4 = Stufe 3
channel-type.comfoair.target_temperature.label = Zieltemperatur
channel-type.comfoair.target_temperature.description = Ziel- bzw. Komforttemperatur
channel-type.comfoair.filter_error.label = Filterfehler
channel-type.comfoair.filter_error.description = Filter voll
-channel-type.comfoair.filter_reset.label = Filterzähler Zurücksetzen
-channel-type.comfoair.filter_reset.description = Zurücksetzen der Filterlaufzeit
-channel-type.comfoair.error_reset.label = Fehler Zurücksetzen
-channel-type.comfoair.error_reset.description = Zurücksetzen der Fehlermeldungen
+channel-type.comfoair.filter_reset.label = Filterzähler Zurücksetzen
+channel-type.comfoair.filter_reset.description = Zurücksetzen der Filterlaufzeit
+channel-type.comfoair.filter_reset.state.option.1 = Reset
+channel-type.comfoair.error_reset.label = Fehler Zurücksetzen
+channel-type.comfoair.error_reset.description = Zurücksetzen der Fehlermeldungen
+channel-type.comfoair.error_reset.state.option.1 = Reset
channel-type.comfoair.fan_out_0.label = Abluftstufe 0 (abwesend)
-channel-type.comfoair.fan_out_0.description = Lüftungsleistung (%) des Abluftventilators auf Stufe 0
+channel-type.comfoair.fan_out_0.description = Lüftungsleistung (%) des Abluftventilators auf Stufe 0
channel-type.comfoair.fan_out_1.label = Abluftstufe 1
-channel-type.comfoair.fan_out_1.description = Lüftungsleistung (%) des Abluftventilators auf Stufe 1
+channel-type.comfoair.fan_out_1.description = Lüftungsleistung (%) des Abluftventilators auf Stufe 1
channel-type.comfoair.fan_out_2.label = Abluftstufe 2
-channel-type.comfoair.fan_out_2.description = Lüftungsleistung (%) des Abluftventilators auf Stufe 2
+channel-type.comfoair.fan_out_2.description = Lüftungsleistung (%) des Abluftventilators auf Stufe 2
channel-type.comfoair.fan_out_3.label = Abluftstufe 3
-channel-type.comfoair.fan_out_3.description = Lüftungsleistung (%) des Abluftventilators auf Stufe 3
+channel-type.comfoair.fan_out_3.description = Lüftungsleistung (%) des Abluftventilators auf Stufe 3
channel-type.comfoair.fan_in_0.label = Zuluftstufe 0 (abwesend)
-channel-type.comfoair.fan_in_0.description = Lüftungsleistung (%) des Zuluftventilators auf Stufe 0
+channel-type.comfoair.fan_in_0.description = Lüftungsleistung (%) des Zuluftventilators auf Stufe 0
channel-type.comfoair.fan_in_1.label = Zuluftstufe 1
-channel-type.comfoair.fan_in_1.description = Lüftungsleistung (%) des Zuluftventilators auf Stufe 1
+channel-type.comfoair.fan_in_1.description = Lüftungsleistung (%) des Zuluftventilators auf Stufe 1
channel-type.comfoair.fan_in_2.label = Zuluftstufe 2
-channel-type.comfoair.fan_in_2.description = Lüftungsleistung (%) des Zuluftventilators auf Stufe 2
+channel-type.comfoair.fan_in_2.description = Lüftungsleistung (%) des Zuluftventilators auf Stufe 2
channel-type.comfoair.fan_in_3.label = Zuluftstufe 3
-channel-type.comfoair.fan_in_3.description = Lüftungsleistung (%) des Zuluftventilators auf Stufe 3
+channel-type.comfoair.fan_in_3.description = Lüftungsleistung (%) des Zuluftventilators auf Stufe 3
channel-type.comfoair.fan_in_percent.label = Zuluftventilator (%)
channel-type.comfoair.fan_in_percent.description = Aktuelle Geschwindigkeit (%) des Zuluftventilators
channel-type.comfoair.fan_out_percent.label = Abluftventilator (%)
channel-type.comfoair.fan_in_RPM.description = Aktuelle Drehzahl des Zuluftventilators
channel-type.comfoair.fan_out_RPM.label = Abluftventilator (U/min)
channel-type.comfoair.fan_out_RPM.description = Aktuelle Drehzahl des Abluftventilators
-channel-type.comfoair.outdoor_temperature_in.label = Außenlufttemperatur
-channel-type.comfoair.outdoor_temperature_in.description = Temperatur der Außenzuluft
+channel-type.comfoair.outdoor_temperature_in.label = Außenlufttemperatur
+channel-type.comfoair.outdoor_temperature_in.description = Temperatur der Außenzuluft
channel-type.comfoair.outdoor_temperature_out.label = Fortlufttemperatur
-channel-type.comfoair.outdoor_temperature_out.description = Temperatur der Außenabluft
+channel-type.comfoair.outdoor_temperature_out.description = Temperatur der Außenabluft
channel-type.comfoair.indoor_temperature_in.label = Zulufttemperatur
channel-type.comfoair.indoor_temperature_in.description = Temperatur der Raumzuluft
channel-type.comfoair.indoor_temperature_out.label = Ablufttemperatur
channel-type.comfoair.indoor_temperature_out.description = Temperatur der Raumabluft
-channel-type.comfoair.is_T1_sensor.label = Sensor T1 Verfügbarkeit
-channel-type.comfoair.is_T1_sensor.description = Verfügbarkeit des Temperatursensors T1 (Außenluft)
-channel-type.comfoair.is_T2_sensor.label = Sensor T2 Verfügbarkeit
-channel-type.comfoair.is_T2_sensor.description = Verfügbarkeit des Temperatursensors T2 (Zuluft)
-channel-type.comfoair.is_T3_sensor.label = Sensor T3 Verfügbarkeit
-channel-type.comfoair.is_T3_sensor.description = Verfügbarkeit des Temperatursensors T3 (Abluft)
-channel-type.comfoair.is_T4_sensor.label = Sensor T4 Verfügbarkeit
-channel-type.comfoair.is_T4_sensor.description = Verfügbarkeit des Temperatursensors T4 (Fortluft)
-channel-type.comfoair.is_EWT_sensor.label = Sensor EWT Verfügbarkeit
-channel-type.comfoair.is_EWT_sensor.description = Verfügbarkeit des EWT-Temperatursensors
-channel-type.comfoair.is_heater_sensor.label = Sensor Nachheizung Verfügbarkeit
-channel-type.comfoair.is_heater_sensor.description = Verfügbarkeit des Nachheizung-Temperatursensors
-channel-type.comfoair.is_cookerhood_sensor.label = Sensor Dunstabzugshaube Verfügbarkeit
-channel-type.comfoair.is_cookerhood_sensor.description = Verfügbarkeit des Dunstabzugshauben-Temperatursensors
+channel-type.comfoair.is_T1_sensor.label = Sensor T1 Verfügbarkeit
+channel-type.comfoair.is_T1_sensor.description = Verfügbarkeit des Temperatursensors T1 (Außenluft)
+channel-type.comfoair.is_T2_sensor.label = Sensor T2 Verfügbarkeit
+channel-type.comfoair.is_T2_sensor.description = Verfügbarkeit des Temperatursensors T2 (Zuluft)
+channel-type.comfoair.is_T3_sensor.label = Sensor T3 Verfügbarkeit
+channel-type.comfoair.is_T3_sensor.description = Verfügbarkeit des Temperatursensors T3 (Abluft)
+channel-type.comfoair.is_T4_sensor.label = Sensor T4 Verfügbarkeit
+channel-type.comfoair.is_T4_sensor.description = Verfügbarkeit des Temperatursensors T4 (Fortluft)
+channel-type.comfoair.is_GHX_sensor.label = Sensor EWT Verfügbarkeit
+channel-type.comfoair.is_GHX_sensor.description = Verfügbarkeit des Erdwärmetauscher-Temperatursensors
+channel-type.comfoair.is_heater_sensor.label = Sensor Nachheizung Verfügbarkeit
+channel-type.comfoair.is_heater_sensor.description = Verfügbarkeit des Nachheizung-Temperatursensors
+channel-type.comfoair.is_cookerhood_sensor.label = Sensor Dunstabzugshaube Verfügbarkeit
+channel-type.comfoair.is_cookerhood_sensor.description = Verfügbarkeit des Dunstabzugshauben-Temperatursensors
channel-type.comfoair.chimney_state.label = Schornsteinfegerregelung Status
channel-type.comfoair.chimney_state.description = Status der Schornsteinfegerregelung
channel-type.comfoair.bypass_state.label = Bypass Status
channel-type.comfoair.bypass_state.description = Status der Bypassklappe (ON = offen / OFF = geschlossen)
-channel-type.comfoair.ewt_state.label = EWT Status
-channel-type.comfoair.ewt_state.description = Status des EWT-Ventils (ON = offen / OFF = geschlossen)
+channel-type.comfoair.ghx_state.label = EWT Status
+channel-type.comfoair.ghx_state.description = Status des Erdwärmetauscher-Ventils (ON = offen / OFF = geschlossen)
channel-type.comfoair.heater_state.label = Nacherhitzer Status
channel-type.comfoair.heater_state.description = Status des Nacherhitzers
channel-type.comfoair.v_control_state.label = 0-10V-Regelung Status
channel-type.comfoair.cookerhood_state.description = Status der Dunstabzugshaubenregelung
channel-type.comfoair.enthalpy_state.label = Enthalpietauscher Status
channel-type.comfoair.enthalpy_state.description = Status des Enthalpietauschers
-channel-type.comfoair.ewt_temperature.label = EWT Temperatur
-channel-type.comfoair.ewt_temperature.description = Temperatur des Erdwärmetauschers
+channel-type.comfoair.ghx_temperature.label = Erdwärmetauscher Temperatur
+channel-type.comfoair.ghx_temperature.description = Temperatur des Erdwärmetauschers
channel-type.comfoair.heater_temperature.label = Nacherhitzer Temperatur
channel-type.comfoair.heater_temperature.description = Temperatur des Nacherhitzers
channel-type.comfoair.cookerhood_temperature.label = Dunstabzugshaube Temperatur
channel-type.comfoair.preheater_time.label = Vorheizung Laufzeit
channel-type.comfoair.preheater_time.description = Betriebsstunden der Vorheizung
channel-type.comfoair.bypass_time.label = Bypass Laufzeit
-channel-type.comfoair.bypass_time.description = Öffnungsstunden der Bypassklappe
+channel-type.comfoair.bypass_time.description = Öffnungsstunden der Bypassklappe
channel-type.comfoair.filter_hours.label = Filter Laufzeit
channel-type.comfoair.filter_hours.description = Betriebsstunden seit Filterwechsel
channel-type.comfoair.bypass_factor.label = Bypass Faktor
channel-type.comfoair.bypass_correction.label = Bypass Korrektur
channel-type.comfoair.bypass_correction.description = Status der Bypasskorrektur
channel-type.comfoair.bypass_summer.label = Bypass Sommermodus
-channel-type.comfoair.bypass_summer.description = Aktivität des Sommermodus
+channel-type.comfoair.bypass_summer.description = Aktivität des Sommermodus
channel-type.comfoair.preheater_valve.label = Vorheizer Klappe
channel-type.comfoair.preheater_valve.description = Status der Vorheizerklappe
channel-type.comfoair.preheater_frost_protect.label = Frostschutz Status
channel-type.comfoair.preheater_frost_time.description = Gesamtfrostdauer in Minuten
channel-type.comfoair.preheater_safety.label = Frostsicherheit
channel-type.comfoair.preheater_safety.description = Einstellung der Frostsicherheit
-channel-type.comfoair.ewt_temperature_low.label = EWT Temperatur (niedrig)
-channel-type.comfoair.ewt_temperature_low.description = Untere Temperatur des Erdwärmetauschers
-channel-type.comfoair.ewt_temperature_high.label = EWT Temperatur (hoch)
-channel-type.comfoair.ewt_temperature_high.description = Obere Temperatur des Erdwärmetauschers
-channel-type.comfoair.ewt_speed.label = EWT Hochlauf (%)
-channel-type.comfoair.ewt_speed.description = Hochlauf des Erdwärmetauschers
+channel-type.comfoair.ghx_temperature_low.label = Erdwärmetauscher Temperatur (niedrig)
+channel-type.comfoair.ghx_temperature_low.description = Untere Temperatur des Erdwärmetauschers
+channel-type.comfoair.ghx_temperature_high.label = Erdwärmetauscher Temperatur (hoch)
+channel-type.comfoair.ghx_temperature_high.description = Obere Temperatur des Erdwärmetauschers
+channel-type.comfoair.ghx_speed.label = Erdwärmetauscher Hochlauf (%)
+channel-type.comfoair.ghx_speed.description = Hochlauf des Erdwärmetauschers
channel-type.comfoair.heater_power.label = Nachheizung Leistung
channel-type.comfoair.heater_power.description = Leistung der Nachheizung
channel-type.comfoair.heater_power_I.label = Nachheizung Leistung I-Parameter
channel-type.comfoair.enthalpy_level.description = Koeffizient des Enthalpietauscher
channel-type.comfoair.enthalpy_time.label = Enthalpietauscher Timer
channel-type.comfoair.enthalpy_time.description = Timerstatus des Enthalpietauschers
+channel-type.comfoair.is_preheater.label = Frostschutzelement
+channel-type.comfoair.is_preheater.description = Frostschutzelement installiert
+channel-type.comfoair.is_bypass.label = Bypass
+channel-type.comfoair.is_bypass.description = Bypass installiert
+channel-type.comfoair.recu_type.label = Comfoair Typ
+channel-type.comfoair.recu_type.description = Typ der ComfoAir (1 = links / 2 = rechts)
+channel-type.comfoair.recu_type.state.option.1 = Links
+channel-type.comfoair.recu_type.state.option.2 = Rechts
+channel-type.comfoair.recu_size.label = Comfoair Luftmenge
+channel-type.comfoair.recu_size.description = Luftmengeneinstellung der ComfoAir (1 = hohe Luftmenge / 2 = normale Luftmenge)
+channel-type.comfoair.recu_size.state.option.1 = hohe Luftmenge
+channel-type.comfoair.recu_size.state.option.2 = normale Luftmenge
+channel-type.comfoair.is_chimney.label = Schornsteinfegerregelung
+channel-type.comfoair.is_chimney.description = Schornsteinfegerregelung aktiviert
+channel-type.comfoair.is_cookerhood.label = Dunstabzughaube
+channel-type.comfoair.is_cookerhood.description = Dunstabzughaube installiert
+channel-type.comfoair.is_heater.label = Nacherhitzer
+channel-type.comfoair.is_heater.description = Nacherhitzer installiert
+channel-type.comfoair.is_enthalpy.label = Enthalpietauscher
+channel-type.comfoair.is_enthalpy.description = Enthalpietauscher installiert
+channel-type.comfoair.is_enthalpy.state.option.0 = Nicht installiert
+channel-type.comfoair.is_enthalpy.state.option.1 = Mit Sensor
+channel-type.comfoair.is_enthalpy.state.option.2 = Ohne Sensor
+channel-type.comfoair.is_ghx.label = Erdwärmetauscher
+channel-type.comfoair.is_ghx.description = Erdwärmetauscher installiert
+channel-type.comfoair.is_ghx.state.option.0 = Nicht installiert
+channel-type.comfoair.is_ghx.state.option.1 = Reguliert
+channel-type.comfoair.is_ghx.state.option.2 = Unreguliert
channel-type.comfoair.is_L1_switch.label = L1-Schalter
-channel-type.comfoair.is_L1_switch.description = Verfügbarkeit des L1-Schalters
+channel-type.comfoair.is_L1_switch.description = Verfügbarkeit des L1-Schalters
channel-type.comfoair.is_L2_switch.label = L2-Schalter
-channel-type.comfoair.is_L2_switch.description = Verfügbarkeit des L2-Schalters
+channel-type.comfoair.is_L2_switch.description = Verfügbarkeit des L2-Schalters
channel-type.comfoair.is_bathroom_switch.label = Badezimmerschalter
-channel-type.comfoair.is_bathroom_switch.description = Verfügbarkeit eines Badezimmerchalters
+channel-type.comfoair.is_bathroom_switch.description = Verfügbarkeit eines Badezimmerchalters
channel-type.comfoair.is_cookerhood_switch.label = Dunstabzugshaubenschalter
-channel-type.comfoair.is_cookerhood_switch.description = Verfügbarkeit eines Dunstabzugshaubenschalters
+channel-type.comfoair.is_cookerhood_switch.description = Verfügbarkeit eines Dunstabzugshaubenschalters
channel-type.comfoair.is_external_filter.label = Externer Filter
-channel-type.comfoair.is_external_filter.description = Verfügbarkeit eines externen Filters
-channel-type.comfoair.is_wtw.label = Wärmerückgewinnung
-channel-type.comfoair.is_wtw.description = Verfügbarkeit der Wärmerückgewinnung
+channel-type.comfoair.is_external_filter.description = Verfügbarkeit eines externen Filters
+channel-type.comfoair.is_wtw.label = Wärmerückgewinnung
+channel-type.comfoair.is_wtw.description = Verfügbarkeit der Wärmerückgewinnung
channel-type.comfoair.is_bathroom2_switch.label = Badezimmerschalter 2
-channel-type.comfoair.is_bathroom2_switch.description = Verfügbarkeit eines zweiten Badezimmerchalters (luxe)
-channel-type.comfoair.menu20_mode.label = Menü 20 Status (P10)
-channel-type.comfoair.menu20_mode.description = Menü 20 zurzeit aktiv? (P10)
-channel-type.comfoair.menu21_mode.label = Menü 21 Status (P11)
-channel-type.comfoair.menu21_mode.description = Menü 21 zurzeit aktiv? (P11)
-channel-type.comfoair.menu22_mode.label = Menü 22 Status (P12)
-channel-type.comfoair.menu22_mode.description = Menü 22 zurzeit aktiv? (P12)
-channel-type.comfoair.menu23_mode.label = Menü 23 Status (P13)
-channel-type.comfoair.menu23_mode.description = Menü 23 zurzeit aktiv? (P13)
-channel-type.comfoair.menu24_mode.label = Menü 24 Status (P14)
-channel-type.comfoair.menu24_mode.description = Menü 24 zurzeit aktiv? (P14)
-channel-type.comfoair.menu25_mode.label = Menü 25 Status (P15)
-channel-type.comfoair.menu25_mode.description = Menü 25 zurzeit aktiv? (P15)
-channel-type.comfoair.menu26_mode.label = Menü 26 Status (P16)
-channel-type.comfoair.menu26_mode.description = Menü 26 zurzeit aktiv? (P16)
-channel-type.comfoair.menu27_mode.label = Menü 27 Status (P17)
-channel-type.comfoair.menu27_mode.description = Menü 27 zurzeit aktiv? (P17)
-channel-type.comfoair.menu28_mode.label = MMenü 28 Status (P18)
-channel-type.comfoair.menu28_mode.description = Menü 28 zurzeit aktiv? (P18)
-channel-type.comfoair.menu29_mode.label = Menü 29 Status (P19)
-channel-type.comfoair.menu29_mode.description = Menü 29 zurzeit aktiv? (P19)
-channel-type.comfoair.cookerhood_delay.label = Ausschaltverzögerung Dunstabzugshaube (P20)
-channel-type.comfoair.cookerhood_delay.description = Ausschaltverzögerung für die Dunstabzugshaubenregelung (min)
-channel-type.comfoair.bathroom_start_delay.label = Einschaltverzögerung Badezimmerschalter (P21)
-channel-type.comfoair.bathroom_start_delay.description = Einschaltverzögerung für den Badezimmerschalter (min)
-channel-type.comfoair.bathroom_end_delay.label = Ausschaltverzögerung Badezimmerschalter (P22)
-channel-type.comfoair.bathroom_end_delay.description = Ausschaltverzögerung für den Badezimmerschalter (min)
-channel-type.comfoair.L1_end_delay.label = Ausschaltverzögerung L1-Schalter (P23)
-channel-type.comfoair.L1_end_delay.description = Ausschaltverzögerung für den L1-Schalter (min)
+channel-type.comfoair.is_bathroom2_switch.description = Verfügbarkeit eines zweiten Badezimmerchalters (luxe)
+channel-type.comfoair.menu20_mode.label = Menü 20 Status (P10)
+channel-type.comfoair.menu20_mode.description = Menü 20 zurzeit aktiv? (P10)
+channel-type.comfoair.menu21_mode.label = Menü 21 Status (P11)
+channel-type.comfoair.menu21_mode.description = Menü 21 zurzeit aktiv? (P11)
+channel-type.comfoair.menu22_mode.label = Menü 22 Status (P12)
+channel-type.comfoair.menu22_mode.description = Menü 22 zurzeit aktiv? (P12)
+channel-type.comfoair.menu23_mode.label = Menü 23 Status (P13)
+channel-type.comfoair.menu23_mode.description = Menü 23 zurzeit aktiv? (P13)
+channel-type.comfoair.menu24_mode.label = Menü 24 Status (P14)
+channel-type.comfoair.menu24_mode.description = Menü 24 zurzeit aktiv? (P14)
+channel-type.comfoair.menu25_mode.label = Menü 25 Status (P15)
+channel-type.comfoair.menu25_mode.description = Menü 25 zurzeit aktiv? (P15)
+channel-type.comfoair.menu26_mode.label = Menü 26 Status (P16)
+channel-type.comfoair.menu26_mode.description = Menü 26 zurzeit aktiv? (P16)
+channel-type.comfoair.menu27_mode.label = Menü 27 Status (P17)
+channel-type.comfoair.menu27_mode.description = Menü 27 zurzeit aktiv? (P17)
+channel-type.comfoair.menu28_mode.label = Menü 28 Status (P18)
+channel-type.comfoair.menu28_mode.description = Menü 28 zurzeit aktiv? (P18)
+channel-type.comfoair.menu29_mode.label = Menü 29 Status (P19)
+channel-type.comfoair.menu29_mode.description = Menü 29 zurzeit aktiv? (P19)
+channel-type.comfoair.cookerhood_delay.label = Ausschaltverzögerung Dunstabzugshaube (P20)
+channel-type.comfoair.cookerhood_delay.description = Ausschaltverzögerung für die Dunstabzugshaubenregelung (min)
+channel-type.comfoair.bathroom_start_delay.label = Einschaltverzögerung Badezimmerschalter (P21)
+channel-type.comfoair.bathroom_start_delay.description = Einschaltverzögerung für den Badezimmerschalter (min)
+channel-type.comfoair.bathroom_end_delay.label = Ausschaltverzögerung Badezimmerschalter (P22)
+channel-type.comfoair.bathroom_end_delay.description = Ausschaltverzögerung für den Badezimmerschalter (min)
+channel-type.comfoair.L1_end_delay.label = Ausschaltverzögerung L1-Schalter (P23)
+channel-type.comfoair.L1_end_delay.description = Ausschaltverzögerung für den L1-Schalter (min)
channel-type.comfoair.filter_weeks.label = Filterlaufzeit (P24)
channel-type.comfoair.filter_weeks.description = Laufzeit bis "Filter verschmutzt"-Meldung (weeks)
-channel-type.comfoair.RF_short_delay.label = Ausschaltverzögerung RF Kurz (P25)
-channel-type.comfoair.RF_short_delay.description = Ausschaltverzögerung für Lüftungsstufe 3 bei kurzer Betätigung des RF-Schalters (min)
-channel-type.comfoair.RF_long_delay.label = Ausschaltverzögerung RF Lang (P26)
-channel-type.comfoair.RF_long_delay.description = Ausschaltverzögerung für Lüftungsstufe 3 bei langer Betätigung des RF-Schalters (min)
-channel-type.comfoair.pulse_ventilation.label = Zeit Stoßlüftung (P27)
-channel-type.comfoair.pulse_ventilation.description = Dauer für die Stoßlüftung (min)
-channel-type.comfoair.is_analog.label = Verfügbarkeit Analoger Eingang
-channel-type.comfoair.is_analog.description = Verfügbarkeit eines analogen Eingangs
-channel-type.comfoair.is_RF.label = Verfügbarkeit RF Eingang
-channel-type.comfoair.is_RF.description = Verfügbarkeit eines RF-Eingangs
+channel-type.comfoair.RF_short_delay.label = Ausschaltverzögerung RF Kurz (P25)
+channel-type.comfoair.RF_short_delay.description = Ausschaltverzögerung für Lüftungsstufe 3 bei kurzer Betätigung des RF-Schalters (min)
+channel-type.comfoair.RF_long_delay.label = Ausschaltverzögerung RF Lang (P26)
+channel-type.comfoair.RF_long_delay.description = Ausschaltverzögerung für Lüftungsstufe 3 bei langer Betätigung des RF-Schalters (min)
+channel-type.comfoair.pulse_ventilation.label = Zeit Stoßlüftung (P27)
+channel-type.comfoair.pulse_ventilation.description = Dauer für die Stoßlüftung (min)
+channel-type.comfoair.is_analog.label = Verfügbarkeit Analoger Eingang
+channel-type.comfoair.is_analog.description = Verfügbarkeit eines analogen Eingangs
+channel-type.comfoair.is_RF.label = Verfügbarkeit RF Eingang
+channel-type.comfoair.is_RF.description = Verfügbarkeit eines RF-Eingangs
channel-type.comfoair.analog_mode.label = Status Analoger Eingang
channel-type.comfoair.analog_mode.description = Status des analogen Eingangs
channel-type.comfoair.RF_mode.label = Status RF Eingang
channel-type.comfoair.RF_max.description = Maximaleinstellung des RF-Eingangs
channel-type.comfoair.RF_value.label = RF Eingang Zielwert
channel-type.comfoair.RF_value.description = Zielwert des RF-Eingangs
-channel-type.comfoair.analog_priority.label = Controller Priorität
-channel-type.comfoair.analog_priority.description = Priorität der analogen Eingänge für die höchste Lufteinstellung
+channel-type.comfoair.analog_priority.label = Controller Priorität
+channel-type.comfoair.analog_priority.description = Priorität der analogen Eingänge für die höchste Lufteinstellung
+channel-type.comfoair.analog_priority.state.option.0 = Analoge Eingänge
+channel-type.comfoair.analog_priority.state.option.1 = Zeitplan
channel-type.comfoair.errors_current.label = Fehler Aktuell
channel-type.comfoair.errors_current.description = Aktuelle Fehler
channel-type.comfoair.errors_last.label = Fehler Letzte
<channel-group id="times" typeId="times"/>
<channel-group id="bypass" typeId="bypass"/>
<channel-group id="preheater" typeId="preheater"/>
- <channel-group id="ewt" typeId="ewt"/>
+ <channel-group id="ewt" typeId="ghx"/>
<channel-group id="heater" typeId="heater"/>
<channel-group id="cookerhood" typeId="cookerhood"/>
<channel-group id="enthalpy" typeId="enthalpy"/>
+ <channel-group id="options" typeId="options"/>
<channel-group id="menuP1" typeId="menuP1"/>
<channel-group id="menuP2" typeId="menuP2"/>
<channel-group id="menuP9" typeId="menuP9"/>
<channel id="isT2Sensor" typeId="is_T2_sensor"/>
<channel id="isT3Sensor" typeId="is_T3_sensor"/>
<channel id="isT4Sensor" typeId="is_T4_sensor"/>
- <channel id="isEWTSensor" typeId="is_EWT_sensor"/>
+ <channel id="isEWTSensor" typeId="is_ghx_sensor"/>
<channel id="isHeaterSensor" typeId="is_heater_sensor"/>
<channel id="isCookerhoodSensor" typeId="is_cookerhood_sensor"/>
- <channel id="ewtTemperature" typeId="ewt_temperature"/>
+ <channel id="ewtTemperature" typeId="ghx_temperature"/>
<channel id="heaterTemperature" typeId="heater_temperature"/>
<channel id="cookerhoodTemperature" typeId="cookerhood_temperature"/>
</channels>
</channels>
</channel-group-type>
- <channel-group-type id="ewt">
- <label>EWT Values</label>
+ <channel-group-type id="ghx">
+ <label>Geothermal Heat Exchanger Values</label>
<channels>
- <channel id="ewtTemperatureLow" typeId="ewt_temperature_low"/>
- <channel id="ewtTemperatureHigh" typeId="ewt_temperature_high"/>
- <channel id="ewtSpeed" typeId="ewt_speed"/>
+ <channel id="ewtTemperatureLow" typeId="ghx_temperature_low"/>
+ <channel id="ewtTemperatureHigh" typeId="ghx_temperature_high"/>
+ <channel id="ewtSpeed" typeId="ghx_speed"/>
</channels>
</channel-group-type>
</channels>
</channel-group-type>
+ <channel-group-type id="options">
+ <label>Option Settings</label>
+ <channels>
+ <channel id="isPreheater" typeId="is_preheater"/>
+ <channel id="isBypass" typeId="is_bypass"/>
+ <channel id="recuType" typeId="recu_type"/>
+ <channel id="recuSize" typeId="recu_size"/>
+ <channel id="isChimney" typeId="is_chimney"/>
+ <channel id="isCookerhood" typeId="is_cookerhood"/>
+ <channel id="isHeater" typeId="is_heater"/>
+ <channel id="isEnthalpy" typeId="is_enthalpy"/>
+ <channel id="isEWT" typeId="is_ghx"/>
+ <channel id="analogPriority" typeId="analog_priority"/>
+ </channels>
+ </channel-group-type>
+
<channel-group-type id="menuP1">
<label>Menu P1: Control States</label>
<channels>
<channels>
<channel id="chimneyState" typeId="chimney_state"/>
<channel id="bypassState" typeId="bypass_state"/>
- <channel id="ewtState" typeId="ewt_state"/>
+ <channel id="ewtState" typeId="ghx_state"/>
<channel id="heaterState" typeId="heater_state"/>
<channel id="vControlState" typeId="v_control_state"/>
<channel id="frostState" typeId="frost_state"/>
<channel id="RFMin" typeId="RF_min"/>
<channel id="RFMax" typeId="RF_max"/>
<channel id="RFValue" typeId="RF_value"/>
- <channel id="analogPriority" typeId="analog_priority"/>
</channels>
</channel-group-type>
<state readOnly="true"/>
</channel-type>
- <channel-type id="is_EWT_sensor" advanced="true">
+ <channel-type id="is_ghx_sensor" advanced="true">
<item-type>Switch</item-type>
- <label>EWT Sensor Available</label>
- <description>Availability of EWT temperature sensor</description>
+ <label>GHX Sensor Available</label>
+ <description>Availability of geothermal heat exchanger temperature sensor</description>
<category>Temperature</category>
<state readOnly="true"/>
</channel-type>
<state readOnly="true"/>
</channel-type>
- <channel-type id="ewt_state" advanced="true">
+ <channel-type id="ghx_state" advanced="true">
<item-type>Switch</item-type>
- <label>EWT State</label>
- <description>State of the EWT valve (ON = open / OFF = closed)</description>
+ <label>Geothermal Heat exchanger State</label>
+ <description>State of the geothermal heat exchanger valve (ON = open / OFF = closed)</description>
<category>Switch</category>
<state readOnly="true"/>
</channel-type>
<state readOnly="true"/>
</channel-type>
- <channel-type id="ewt_temperature" advanced="true">
+ <channel-type id="ghx_temperature" advanced="true">
<item-type>Number:Temperature</item-type>
- <label>EWT Temperature</label>
+ <label>GHX Temperature</label>
<description>Temperature of geothermal heat exchanger sensor</description>
<category>Temperature</category>
<state readOnly="true" pattern="%.1f %unit%"/>
<state readOnly="true"/>
</channel-type>
- <channel-type id="ewt_temperature_low" advanced="true">
+ <channel-type id="ghx_temperature_low" advanced="true">
<item-type>Number:Temperature</item-type>
- <label>EWT Temperature (low)</label>
+ <label>GHX Temperature (low)</label>
<description>Lower temperature of the geothermal heat exchanger</description>
<category>Temperature</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
- <channel-type id="ewt_temperature_high" advanced="true">
+ <channel-type id="ghx_temperature_high" advanced="true">
<item-type>Number:Temperature</item-type>
- <label>EWT Temperature (high)</label>
+ <label>GHX Temperature (high)</label>
<description>Upper temperature of the geothermal heat exchanger</description>
<category>Temperature</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
- <channel-type id="ewt_speed" advanced="true">
+ <channel-type id="ghx_speed" advanced="true">
<item-type>Number</item-type>
- <label>EWT Speed Up (%)</label>
+ <label>GHX Speed Up (%)</label>
<description>Speed up of the geothermal heat exchanger</description>
<category>Number</category>
<state readOnly="true"/>
<state readOnly="true"/>
</channel-type>
+ <channel-type id="is_preheater" advanced="true">
+ <item-type>Switch</item-type>
+ <label>Preheater</label>
+ <description>Preheater option installed</description>
+ <category>Switch</category>
+ <state readOnly="false"/>
+ </channel-type>
+
+ <channel-type id="is_bypass" advanced="true">
+ <item-type>Switch</item-type>
+ <label>Bypass</label>
+ <description>Bypass option installed</description>
+ <category>Switch</category>
+ <state readOnly="false"/>
+ </channel-type>
+
+ <channel-type id="recu_type" advanced="true">
+ <item-type>Number</item-type>
+ <label>Comfoair Type</label>
+ <description>Type of the ComfoAir (1 = left / 2 = right)</description>
+ <category>Number</category>
+ <state readOnly="false">
+ <options>
+ <option value="1">Left</option>
+ <option value="2">Right</option>
+ </options>
+ </state>
+ </channel-type>
+
+ <channel-type id="recu_size" advanced="true">
+ <item-type>Number</item-type>
+ <label>Comfoair Size</label>
+ <description>Size of the ComfoAir (1 = big / 2 = small)</description>
+ <category>Number</category>
+ <state readOnly="false">
+ <options>
+ <option value="1">Big</option>
+ <option value="2">Small</option>
+ </options>
+ </state>
+ </channel-type>
+
+ <channel-type id="is_chimney" advanced="true">
+ <item-type>Switch</item-type>
+ <label>Chimney</label>
+ <description>Chimney option installed</description>
+ <category>Switch</category>
+ <state readOnly="false"/>
+ </channel-type>
+
+ <channel-type id="is_cookerhood" advanced="true">
+ <item-type>Switch</item-type>
+ <label>Cookerhood</label>
+ <description>Cookerhood option installed</description>
+ <category>Switch</category>
+ <state readOnly="false"/>
+ </channel-type>
+
+ <channel-type id="is_heater" advanced="true">
+ <item-type>Switch</item-type>
+ <label>Heater</label>
+ <description>Heater option installed</description>
+ <category>Switch</category>
+ <state readOnly="false"/>
+ </channel-type>
+
+ <channel-type id="is_enthalpy" advanced="true">
+ <item-type>Number</item-type>
+ <label>Enthalpy</label>
+ <description>Enthalpy option installed</description>
+ <category>Number</category>
+ <state readOnly="false">
+ <options>
+ <option value="0">Not installed</option>
+ <option value="1">With sensor</option>
+ <option value="2">Without sensor</option>
+ </options>
+ </state>
+ </channel-type>
+
+ <channel-type id="is_ghx" advanced="true">
+ <item-type>Number</item-type>
+ <label>Geothermal Heat Exchanger</label>
+ <description>Geothermal heat exchanger option installed</description>
+ <category>Number</category>
+ <state readOnly="false">
+ <options>
+ <option value="0">Not installed</option>
+ <option value="1">Regulated</option>
+ <option value="2">Not regulated</option>
+ </options>
+ </state>
+ </channel-type>
+
<channel-type id="is_L1_switch" advanced="true">
<item-type>Switch</item-type>
<label>L1 Switch</label>
<channel-type id="analog_priority" advanced="true">
<item-type>Number</item-type>
<label>Analog Priority</label>
- <description>Priority of control</description>
+ <description>Priority of analog inputs for highest fan level</description>
<category>Number</category>
<state readOnly="false">
<options>