[somfytahoma] Added support for the Hitachi Yutaki devices (#12302)

Signed-off-by: Ondrej Pecta <opecta@gmail.com>
This commit is contained in:
Ondrej Pecta 2022-02-23 08:45:14 +01:00 committed by GitHub
parent c0ebdbdb6b
commit 957b69277d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 1017 additions and 79 deletions

View File

@ -41,6 +41,7 @@ Any home automation system based on the OverKiz API is potentially supported.
- action groups (scenarios which can execute predefined Tahoma group of steps, e.g. send to all roller shutters DOWN command, one by one)
- thermostats (read status and battery level)
- water heater system (monitor and control)
- Yutaki heat pump consisting of heat pump, heating control and hot water tank (controls and a lot of states; it is tested with components RAS-4WHNPE, RWM-4.ONE, DHWT-300S-3.0H2E)
Both Somfy Tahoma and Somfy Connexoon gateways have been confirmed working.
@ -60,82 +61,116 @@ Please see the example below.
## Channels
| Thing | Channel | Note |
|-------------------------------------------------------------------------------|------------------------------|-----------------------------------------------------------------------------------------------------------------------------|
| bridge | N.A | bridge does not expose any channel |
| gateway | status | status of your gateway |
| gateway | scenarios | used to run the scenarios defined in the cloud portal |
| gate | gate_command | used for controlling your gate (open, close, stop, pedestrian) |
| gate | gate_state | get state of your gate (open, closed, pedestrian) |
| gate | gate_position | get position (0-100%) of your gate (where supported) |
| roller shutter, screen, venetian blind, garage door, awning, pergola, curtain | control | device controller which reacts to commands UP/DOWN/ON/OFF/OPEN/CLOSE/MY/STOP + closure 0-100 |
| window | control | device controller which reacts to commands UP/DOWN/ON/OFF/OPEN/CLOSE/STOP + closure 0-100 |
| silent roller shutter | silent_control | similar to control channel but in silent mode |
| venetian blind, adjustable slats roller shutter, bioclimatic pergola | orientation | percentual orientation of the blind's slats, it can have value 0-100. For IO Homecontrol devices only (non RTS) |
| venetian blind, adjustable slats roller shutter | closure_orientation | percentual closure and orientation of the blind's slats, it can have value 0-100. For IO Homecontrol devices only (non RTS) |
| adjustable slats roller shutter | rocker | used for setting the rocker position of the roller shutter, the only position allowing the slats control |
| bioclimatic pergola | slats | slats state (open/closed) |
| bioclimatic pergola | pergola_command | used for controlling biclimatic pergola (closeSlats, openSlats, stop) |
| action group | execute_action | switch which reacts to ON command and triggers the predefined Tahoma action |
| onoff, light | switch | reacts to standard ON/OFF commands |
| dimmer light | light_intensity | sets/gets intensity of the dimmer light or ON/OFF |
| smoke sensor, occupancy sensor, contact sensor & water sensor | contact | normal value is CLOSE, changes to OPEN when detection triggered |
| smoke sensor, occupancy sensor, contact sensor & water sensor | sensor_defect | indicates the health of the sensor (dead, lowBatter, maintenanceRequired, noDefect) |
| smoke sensor | radio_battery | maintenance radio part battery state (low, normal) |
| smoke sensor | sensor_battery | maintenance sensor part battery state (absence, low, normal) |
| smoke sensor | short_check | triggering the smoke sensor's short check |
| smoke sensor | long_check | triggering the smoke sensor's long check |
| light sensor | luminance | light luminance value in luxes |
| electricity sensor | energy_consumption | energy consumption value in watts |
| humidity sensor | humidity | current relative humidity |
| dock | battery_status | indicates running on battery (yes/no) |
| dock | battery_level | remaining battery percentage |
| dock | siren_status | used for controlling and getting siren state (on, off, cyclic) |
| dock | short_beep | testing of dock's siren - short beep |
| dock | long_beep | testing of dock's siren - long beep |
| siren | battery | battery level full/low/normal/verylow |
| siren | onoff | controlling siren status ON/OFF |
| siren | memorized_volume | setting memorized volume (normal/highest) |
| pod | cyclic_button | pod cyclic button state |
| pod | battery_status | pod battery status state |
| pod | lighting_led_pod_mode | lighting LED pod mod state |
| interior alarm | alarm_command | used for sending commands to Somfy alarm device |
| interior alarm | intrusion_control | used for alarm external intrusion controlling |
| interior alarm, myfox alarm | alarm_state | state of the Somfy alarm |
| interior alarm | target_alarm_state | target state of the Somfy alarm |
| interior alarm, myfox alarm | intrusion_state | intrusion state of the Somfy alarm |
| external alarm | active_zones_state | state of external alarm active zones |
| door lock | lock | switch representing unlocked/locked state |
| door lock | open | switch representing open/close state |
| on/off heating system | target_heating_level | target heating level (off, eco, comfort, frostprotection) |
| heating system | current_temperature | current temperature of the heating system |
| heating system | current_state | current state of the heating system |
| heating system, valve heating system, thermostat | target_temperature | target temperature of the heating system |
| heating system, valve heating system, thermostat | battery_level | battery level of the heating system |
| valve heating system, thermostat | derogation_heating_mode | derogation heating mode of the thermostat (away, freeze, manual, ...) |
| valve heating system, thermostat | derogated_target_temperature | target temperature of the heating system |
| valve heating system | current_heating_mode | current heating mode of the thermostatic valve |
| valve heating system | open_closed_valve | current open/closed state of the thermostatic valve |
| valve heating system | operating mode | operating mode of the thermostatic valve |
| thermostat | heating_mode | standard heating mode of the thermostat (away, freeze, manual, ...) |
| thermostat | derogation_activation | derogation activation state (inactive, active) |
| exterior heating system | heating_level | heating level of the exterior heating system or ON/OFF |
| temperature sensor | temperature | temperature reported by the sensor |
| myfox camera, myfox alarm | cloud_status | cloud connection status |
| myfox camera | shutter | controlling of the camera shutter |
| myfox alarm | myfox_alarm_command | used for sending commands to Somfy Myfox alarm device |
| waterheatersystem | middlewater_temperature | Number:Temperature indicating the temperature of the water at the middle of the heater |
| waterheatersystem | boost_mode | Switch allowing to enable or disable the booster. When switching to ON, by default, the Boost duration will be set for 1 day.|
| waterheatersystem | away_mode | Defines if away mode is On or Off (no water heating) |
| waterheatersystem | away_mode_duration | Defines if away mode the duration in days. |
| waterheatersystem | boost_mode_duration | The duration of the Boost mode in days. Valid from 1 to 7. |
| waterheatersystem | power_heatpump | Current consumption/power of the heatpump in Watts. |
| waterheatersystem | power_heatelec | Current consumption/power of the electric resistance in Watts. |
| waterheatersystem | showers | Virtual channel, representing the number of desired showers - between 3 to 5. It actually switches the desired temperature to 50.0, 54.5 or 62.0 Celcius degrees. Please note that in ECO mode, only 3 and 4 showers are allowed. |
| waterheatersystem | heat_pump_operating_time | Number of hours the heatpump has been operating |
| waterheatersystem | electric_booster_operating_time | number of hours the electric booster has been operating. |
| waterheatersystem | mode | The current mode of the boiler. Can be: autoMode / manualEcoInactive / manualEcoActive |
| waterheatersystem | target_temperature | Water target temperature in degrees. Read only. Temperature desired is managed through mode and showers channels. |
| Thing | Channel | Note |
|-------------------------------------------------------------------------------|---------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| bridge | N.A | bridge does not expose any channel |
| gateway | status | status of your gateway |
| gateway | scenarios | used to run the scenarios defined in the cloud portal |
| gate | gate_command | used for controlling your gate (open, close, stop, pedestrian) |
| gate | gate_state | get state of your gate (open, closed, pedestrian) |
| gate | gate_position | get position (0-100%) of your gate (where supported) |
| roller shutter, screen, venetian blind, garage door, awning, pergola, curtain | control | device controller which reacts to commands UP/DOWN/ON/OFF/OPEN/CLOSE/MY/STOP + closure 0-100 |
| window | control | device controller which reacts to commands UP/DOWN/ON/OFF/OPEN/CLOSE/STOP + closure 0-100 |
| silent roller shutter | silent_control | similar to control channel but in silent mode |
| venetian blind, adjustable slats roller shutter, bioclimatic pergola | orientation | percentual orientation of the blind's slats, it can have value 0-100. For IO Homecontrol devices only (non RTS) |
| venetian blind, adjustable slats roller shutter | closure_orientation | percentual closure and orientation of the blind's slats, it can have value 0-100. For IO Homecontrol devices only (non RTS) |
| adjustable slats roller shutter | rocker | used for setting the rocker position of the roller shutter, the only position allowing the slats control |
| bioclimatic pergola | slats | slats state (open/closed) |
| bioclimatic pergola | pergola_command | used for controlling biclimatic pergola (closeSlats, openSlats, stop) |
| action group | execute_action | switch which reacts to ON command and triggers the predefined Tahoma action |
| onoff, light | switch | reacts to standard ON/OFF commands |
| dimmer light | light_intensity | sets/gets intensity of the dimmer light or ON/OFF |
| smoke sensor, occupancy sensor, contact sensor & water sensor | contact | normal value is CLOSE, changes to OPEN when detection triggered |
| smoke sensor, occupancy sensor, contact sensor & water sensor | sensor_defect | indicates the health of the sensor (dead, lowBatter, maintenanceRequired, noDefect) |
| smoke sensor | radio_battery | maintenance radio part battery state (low, normal) |
| smoke sensor | sensor_battery | maintenance sensor part battery state (absence, low, normal) |
| smoke sensor | short_check | triggering the smoke sensor's short check |
| smoke sensor | long_check | triggering the smoke sensor's long check |
| light sensor | luminance | light luminance value in luxes |
| electricity sensor | energy_consumption | energy consumption value in watts |
| humidity sensor | humidity | current relative humidity |
| dock | battery_status | indicates running on battery (yes/no) |
| dock | battery_level | remaining battery percentage |
| dock | siren_status | used for controlling and getting siren state (on, off, cyclic) |
| dock | short_beep | testing of dock's siren - short beep |
| dock | long_beep | testing of dock's siren - long beep |
| siren | battery | battery level full/low/normal/verylow |
| siren | onoff | controlling siren status ON/OFF |
| siren | memorized_volume | setting memorized volume (normal/highest) |
| pod | cyclic_button | pod cyclic button state |
| pod | battery_status | pod battery status state |
| pod | lighting_led_pod_mode | lighting LED pod mod state |
| interior alarm | alarm_command | used for sending commands to Somfy alarm device |
| interior alarm | intrusion_control | used for alarm external intrusion controlling |
| interior alarm, myfox alarm | alarm_state | state of the Somfy alarm |
| interior alarm | target_alarm_state | target state of the Somfy alarm |
| interior alarm, myfox alarm | intrusion_state | intrusion state of the Somfy alarm |
| external alarm | active_zones_state | state of external alarm active zones |
| door lock | lock | switch representing unlocked/locked state |
| door lock | open | switch representing open/close state |
| on/off heating system | target_heating_level | target heating level (off, eco, comfort, frostprotection) |
| heating system | current_temperature | current temperature of the heating system |
| heating system | current_state | current state of the heating system |
| heating system, valve heating system, thermostat | target_temperature | target temperature of the heating system |
| heating system, valve heating system, thermostat | battery_level | battery level of the heating system |
| valve heating system, thermostat | derogation_heating_mode | derogation heating mode of the thermostat (away, freeze, manual, ...) |
| valve heating system, thermostat | derogated_target_temperature | target temperature of the heating system |
| valve heating system | current_heating_mode | current heating mode of the thermostatic valve |
| valve heating system | open_closed_valve | current open/closed state of the thermostatic valve |
| valve heating system | operating mode | operating mode of the thermostatic valve |
| thermostat | heating_mode | standard heating mode of the thermostat (away, freeze, manual, ...) |
| thermostat | derogation_activation | derogation activation state (inactive, active) |
| exterior heating system | heating_level | heating level of the exterior heating system or ON/OFF |
| temperature sensor | temperature | temperature reported by the sensor |
| myfox camera, myfox alarm | cloud_status | cloud connection status |
| myfox camera | shutter | controlling of the camera shutter |
| myfox alarm | myfox_alarm_command | used for sending commands to Somfy Myfox alarm device |
| waterheatersystem | middlewater_temperature | Number:Temperature indicating the temperature of the water at the middle of the heater |
| waterheatersystem | boost_mode | Switch allowing to enable or disable the booster. When switching to ON, by default, the Boost duration will be set for 1 day. |
| waterheatersystem | away_mode | Defines if away mode is On or Off (no water heating) |
| waterheatersystem | away_mode_duration | Defines if away mode the duration in days. |
| waterheatersystem | boost_mode_duration | The duration of the Boost mode in days. Valid from 1 to 7. |
| waterheatersystem | power_heatpump | Current consumption/power of the heatpump in Watts. |
| waterheatersystem | power_heatelec | Current consumption/power of the electric resistance in Watts. |
| waterheatersystem | showers | Virtual channel, representing the number of desired showers - between 3 to 5. It actually switches the desired temperature to 50.0, 54.5 or 62.0 Celcius degrees. Please note that in ECO mode, only 3 and 4 showers are allowed. |
| waterheatersystem | heat_pump_operating_time | Number of hours the heatpump has been operating |
| waterheatersystem | electric_booster_operating_time | number of hours the electric booster has been operating. |
| waterheatersystem | mode | The current mode of the boiler. Can be: autoMode / manualEcoInactive / manualEcoActive |
| waterheatersystem | target_temperature | Water target temperature in degrees. Read only. Temperature desired is managed through mode and showers channels. |
| hitachi (yutaki) air to water heating zone, dhw, main component | alarm_number | error number in case of malfunction |
| hitachi (yutaki) air to water heating zone | circuit_control | controls the air-to-water-component (Run, Stop) |
| hitachi (yutaki) air to water heating zone | circuit_status | actual state of the air-to-water-component (Run, Stop) |
| hitachi (yutaki) air to water heating zone | holiday_mode | switch to activate the holiday mode |
| hitachi (yutaki) air to water heating zone | yutaki_mode | actual mode of the heat pump (Eco, Comfort) |
| hitachi (yutaki) air to water heating zone | yutaki_target_mode | sets the mode of the heat pump (Eco, Comfort) |
| hitachi (yutaki) air to water heating zone | zone_mode | sets the zone mode (Auto, Manual) |
| hitachi (yutaki) domestic hot water | anti_legionella | controls the anti legionella mode (Run, Stop) |
| hitachi (yutaki) domestic hot water | anti_legionella_temp | controls the anti legionella temperature |
| hitachi (yutaki) domestic hot water | target_boost_mode | controls the boost mode (No request, Enabled, Disabled) |
| hitachi (yutaki) domestic hot water | boost_mode | boost mode status (Enabled, Disabled) |
| hitachi (yutaki) domestic hot water | dhw | controls the hot water tank (Run, Stop) |
| hitachi (yutaki) domestic hot water | dhw_mode | controls the dhw mode (Standard, High demand) |
| hitachi (yutaki) domestic hot water | dhw_setting_temp | controls the target temperature for hot water |
| hitachi (yutaki) domestic hot water | dhw_temp | current temperature of hot water |
| hitachi (yutaki) air to water main component | auto_manu_mode | controls auto/manual mode (Auto, Manual) |
| hitachi (yutaki) air to water main component | block_menu_control | controls the block menu (No, Block) |
| hitachi (yutaki) air to water main component | comm_alarm_bit_status | alarm bit status (No, Yes) |
| hitachi (yutaki) air to water main component | compressor_running_current | stage of the current compressor running (0, 0.1, 0.2, 0.3, 0.4) |
| hitachi (yutaki) air to water main component | eco_mode_offset | offset for the ECO-Mode |
| hitachi (yutaki) air to water main component | eco_mode_target_offset | controls the offset for the ECO-Mode (0-10 degrees) |
| hitachi (yutaki) air to water main component | liquid_temp | current liquid temperature |
| hitachi (yutaki) air to water main component | liquid_temp_thmi | current liquid temperature THMI |
| hitachi (yutaki) air to water main component | operation | current operation state (Alarm, Off, Heat/Cool thermo on, Heat/Cool thermo off, DHW off, Heat/Cool demand off, Swp off) |
| hitachi (yutaki) air to water main component | outdoor_temp | current outdoor temperature |
| hitachi (yutaki) air to water main component | space_mode | controls space mode (Eco, Comfort) |
| hitachi (yutaki) air to water main component | unit_control | controls unit (Run, Stop) |
| hitachi (yutaki) air to water main component | unit_mode_control | controls unit mode (Heat, Cool) |
| hitachi (yutaki) air to water main component | unit_mode_status | unit mode state (Heat, Cool) |
| hitachi (yutaki) air to water main component | water_inlet_temp | current water inlet temperature |
| hitachi (yutaki) air to water main component | water_outlet_temp | current water outlet temperature |
| hitachi (yutaki) air to water main component | water_outlet_hp_temp | current water outlet hp temperature |
| hitachi (yutaki) air to water main component | water_temp_setting | target heating water temperature |
| hitachi (yutaki) air to water main component | yutaki_operating_mode | yutaki operating mode (Auto, Holidays, Normal, Timer) |
To run a scenario inside a rule for example, the ID of the scenario will be required.
You can list all the scenarios IDs with the following console command: `somfytahoma <bridgeUID> scenarios`.

View File

@ -163,6 +163,15 @@ public class SomfyTahomaBindingConstants {
// Thermostat
public static final ThingTypeUID THING_TYPE_THERMOSTAT = new ThingTypeUID(BINDING_ID, "thermostat");
// HitachiAirToWaterHeatingZone
public static final ThingTypeUID THING_TYPE_HITACHI_ATWHZ = new ThingTypeUID(BINDING_ID, "hitachiatwhz");
// HitachDHW
public static final ThingTypeUID THING_TYPE_HITACHI_DHW = new ThingTypeUID(BINDING_ID, "hitachidhw");
// HitachiAirToWaterMainComponent
public static final ThingTypeUID THING_TYPE_HITACHI_ATWMC = new ThingTypeUID(BINDING_ID, "hitachiatwmc");
// List of all Channel ids
public static final String RSSI = "rssi";
@ -297,6 +306,45 @@ public class SomfyTahomaBindingConstants {
// Myfox Camera
public static final String SHUTTER = "shutter";
// Hitachi Air To Water Heating Zone
public static final String ZONE_MODE = "zone_mode";
public static final String CIRCUIT_CONTROL = "circuit_control";
public static final String CIRCUIT_STATUS = "circuit_status";
public static final String YUTAKI_TARGET_MODE = "yutaki_target_mode";
public static final String YUTAKI_MODE = "yutaki_mode";
public static final String HOLIDAY_MODE = "holiday_mode";
// Hitachi Air To Water Main Component
public static final String AUTO_MANU_MODE = "auto_manu_mode";
public static final String UNIT_CONTROL = "unit_control";
public static final String UNIT_MODE_STATUS = "unit_mode_status";
public static final String UNIT_MODE_CONTROL = "unit_mode_control";
public static final String BLOCK_MENU_CONTROL = "block_menu_control";
public static final String SPACE_MODE = "space_mode";
public static final String ECO_MODE_TARGET_OFFSET = "eco_mode_target_offset";
public static final String COMM_ALARM_BIT_STATUS = "comm_alarm_bit_status";
public static final String OPERATION = "operation";
public static final String OUTDOOR_TEMP = "outdoor_temp";
public static final String WATER_INLET_TEMP = "water_inlet_temp";
public static final String WATER_OUTLET_TEMP = "water_outlet_temp";
public static final String ECO_MODE_OFFSET = "eco_mode_offset";
public static final String WATER_OUTLET_HP_TEMP = "water_outlet_hp_temp";
public static final String LIQUID_TEMP = "liquid_temp";
public static final String LIQUID_TEMP_THMI = "liquid_temp_thmi";
public static final String COMPRESSOR_RUNNING_CURRENT = "compressor_running_current";
public static final String WATER_TEMP_SETTING = "water_temp_setting";
public static final String YUTAKI_OPERATING_MODE = "yutaki_operating_mode";
// Hitachi DHW
public static final String DHW_MODE = "dhw_mode";
public static final String ANTI_LEGIONELLA_TEMP = "anti_legionella_temp";
public static final String DHW = "dhw";
public static final String ANTI_LEGIONELLA = "anti_legionella";
public static final String DHW_SETTING_TEMP = "dhw_setting_temp";
public static final String DHW_TEMP = "dhw_temp";
public static final String TARGET_BOOST_MODE = "target_boost_mode";
public static final String ALARM_NUMBER = "alarm_number";
// Constants
public static final String COZYTOUCH_PORTAL = "ha110-1.overkiz.com";
public static final String TAHOMA_PORTAL = "www.tahomalink.com";
@ -420,11 +468,13 @@ public class SomfyTahomaBindingConstants {
public static final String CLASS_ADJUSTABLE_SLATS_ROLLER_SHUTTER = "AdjustableSlatsRollerShutter";
public static final String CLASS_CAMERA = "Camera";
public static final String CLASS_WATER_HEATING_SYSTEM = "WaterHeatingSystem";
public static final String CLASS_HITACHI_HEATING_SYSTEM = "HitachiHeatingSystem";
// unsupported uiClasses
public static final String THING_PROTOCOL_GATEWAY = "ProtocolGateway";
public static final String THING_REMOTE_CONTROLLER = "RemoteController";
public static final String THING_NETWORK_COMPONENT = "NetworkComponent";
public static final String THING_GENERIC = "Generic";
// Event states
public static final String FAILED_EVENT = "FAILED";
@ -442,7 +492,8 @@ public class SomfyTahomaBindingConstants {
THING_TYPE_ADJUSTABLE_SLATS_ROLLERSHUTTER, THING_TYPE_MYFOX_CAMERA, THING_TYPE_ROLLERSHUTTER_UNO,
THING_TYPE_WATERSENSOR, THING_TYPE_HUMIDITYSENSOR, THING_TYPE_MYFOX_ALARM, THING_TYPE_THERMOSTAT,
THING_TYPE_DIMMER_LIGHT, THING_TYPE_EXTERIOR_HEATING_SYSTEM, THING_TYPE_VALVE_HEATING_SYSTEM,
THING_TYPE_BIOCLIMATIC_PERGOLA, THING_TYPE_WATERHEATINGSYSTEM));
THING_TYPE_BIOCLIMATIC_PERGOLA, THING_TYPE_WATERHEATINGSYSTEM, THING_TYPE_HITACHI_ATWHZ,
THING_TYPE_HITACHI_DHW, THING_TYPE_HITACHI_ATWMC));
// somfy gateways
public static Map<Integer, String> gatewayTypes = new HashMap<Integer, String>() {

View File

@ -31,6 +31,9 @@ import org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaExteriorHeati
import org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaExternalAlarmHandler;
import org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaGateHandler;
import org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaGatewayHandler;
import org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaHitachiATWHZHandler;
import org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaHitachiATWMCHandler;
import org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaHitachiDHWHandler;
import org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaHumiditySensorHandler;
import org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaInternalAlarmHandler;
import org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaLightSensorHandler;
@ -187,6 +190,12 @@ public class SomfyTahomaHandlerFactory extends BaseThingHandlerFactory {
return new SomfyTahomaThermostatHandler(thing);
} else if (thingTypeUID.equals(THING_TYPE_WATERHEATINGSYSTEM)) {
return new SomfyTahomaWaterHeatingSystemHandler(thing);
} else if (thingTypeUID.equals(THING_TYPE_HITACHI_ATWHZ)) {
return new SomfyTahomaHitachiATWHZHandler(thing);
} else if (thingTypeUID.equals(THING_TYPE_HITACHI_DHW)) {
return new SomfyTahomaHitachiDHWHandler(thing);
} else if (thingTypeUID.equals(THING_TYPE_HITACHI_ATWMC)) {
return new SomfyTahomaHitachiATWMCHandler(thing);
} else {
return null;
}

View File

@ -326,10 +326,26 @@ public class SomfyTahomaItemDiscoveryService extends AbstractDiscoveryService
logUnsupportedDevice(device);
}
break;
case CLASS_HITACHI_HEATING_SYSTEM:
if ("HitachiAirToWaterHeatingZone".equals(device.getWidget())) {
// widget: HitachiAirToWaterHeatingZone
deviceDiscovered(device, THING_TYPE_HITACHI_ATWHZ, place);
} else if ("HitachiAirToWaterMainComponent".equals(device.getWidget())) {
// widget: HitachiAirToWaterMainComponent
deviceDiscovered(device, THING_TYPE_HITACHI_ATWMC, place);
} else if ("HitachiDHW".equals(device.getWidget())) {
// widget: HitachiDHW
deviceDiscovered(device, THING_TYPE_HITACHI_DHW, place);
} else {
logUnsupportedDevice(device);
}
break;
case THING_PROTOCOL_GATEWAY:
case THING_REMOTE_CONTROLLER:
// widget: AlarmRemoteController
case THING_NETWORK_COMPONENT:
case THING_GENERIC:
// widget: unknown
break;
default:

View File

@ -0,0 +1,72 @@
/**
* 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.somfytahoma.internal.handler;
import static org.openhab.binding.somfytahoma.internal.SomfyTahomaBindingConstants.*;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.openhab.core.library.types.StringType;
import org.openhab.core.thing.ChannelUID;
import org.openhab.core.thing.Thing;
import org.openhab.core.types.Command;
import org.openhab.core.types.RefreshType;
/**
* The {@link SomfyTahomaHitachiATWHZHandler} is responsible for handling commands,
* which are sent to one of the channels of the Hitachi Air To Water Heating Zone thing.
*
* @author Ondrej Pecta - Initial contribution
*/
@NonNullByDefault
public class SomfyTahomaHitachiATWHZHandler extends SomfyTahomaBaseThingHandler {
public SomfyTahomaHitachiATWHZHandler(Thing thing) {
super(thing);
stateNames.put(ZONE_MODE, "modbus:AutoManuModeZone1State");
stateNames.put(CIRCUIT_CONTROL, "modbus:ControlCircuit1State");
stateNames.put(CIRCUIT_STATUS, "modbus:StatusCircuit1State");
stateNames.put(YUTAKI_TARGET_MODE, "modbus:YutakiTargetModeState");
stateNames.put(YUTAKI_MODE, "modbus:YutakiModeState");
stateNames.put(HOLIDAY_MODE, "modbus:HolidayModeZone1State");
stateNames.put(ALARM_NUMBER, "modbus:AlarmNumberState");
}
@Override
public void handleCommand(ChannelUID channelUID, Command command) {
super.handleCommand(channelUID, command);
if (command instanceof RefreshType) {
return;
} else {
if (command instanceof StringType) {
switch (channelUID.getId()) {
case ZONE_MODE:
sendCommand("setAutoManuMode", "[\"" + command + "\"]");
break;
case CIRCUIT_CONTROL:
sendCommand("setControlCircuit1", "[\"" + command + "\"]");
break;
case YUTAKI_TARGET_MODE:
sendCommand("setTargetMode", "[\"" + command + "\"]");
break;
case HOLIDAY_MODE:
sendCommand("setHolidayMode", "[\"" + command + "\"]");
break;
default:
getLogger().debug("This channel doesn't accept any commands");
}
} else {
getLogger().debug("This thing accepts only String commands");
}
}
}
}

View File

@ -0,0 +1,111 @@
/**
* 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.somfytahoma.internal.handler;
import static org.openhab.binding.somfytahoma.internal.SomfyTahomaBindingConstants.*;
import java.math.BigDecimal;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.openhab.core.library.types.DecimalType;
import org.openhab.core.library.types.QuantityType;
import org.openhab.core.library.types.StringType;
import org.openhab.core.thing.ChannelUID;
import org.openhab.core.thing.Thing;
import org.openhab.core.types.Command;
import org.openhab.core.types.RefreshType;
/**
* The {@link SomfyTahomaHitachiATWMCHandler} is responsible for handling commands,
* which are sent to one of the channels of the Hitachi Air To Water Main Component thing.
*
* @author Ondrej Pecta - Initial contribution
*/
@NonNullByDefault
public class SomfyTahomaHitachiATWMCHandler extends SomfyTahomaBaseThingHandler {
public SomfyTahomaHitachiATWMCHandler(Thing thing) {
super(thing);
stateNames.put(AUTO_MANU_MODE, "core:AutoManuModeState");
stateNames.put(UNIT_CONTROL, "modbus:ControlUnitState");
stateNames.put(UNIT_MODE_STATUS, "modbus:StatusUnitModeState");
stateNames.put(UNIT_MODE_CONTROL, "modbus:ControlUnitModeState");
stateNames.put(BLOCK_MENU_CONTROL, "modbus:ControlBlockMenuState");
stateNames.put(SPACE_MODE, "modbus:SpaceModeState");
stateNames.put(ECO_MODE_TARGET_OFFSET, "modbus:EcoModeOffsetTargetState");
stateNames.put(COMM_ALARM_BIT_STATUS, "modbus:StatusCommunicationAlarmBitState");
stateNames.put(OPERATION, "modbus:OperationState");
stateNames.put(OUTDOOR_TEMP, "modbus:OutdoorAmbientTemperatureState");
stateNames.put(WATER_INLET_TEMP, "modbus:WaterInletUnitTemperatureState");
stateNames.put(WATER_OUTLET_TEMP, "modbus:WaterOutletUnitTemperatureState");
stateNames.put(ECO_MODE_OFFSET, "modbus:EcoModeOffsetState");
stateNames.put(WATER_OUTLET_HP_TEMP, "modbus:WaterOutletHpTemperatureState");
stateNames.put(LIQUID_TEMP_THMI, "modbus:LiquidTemperatureTHMIState");
stateNames.put(LIQUID_TEMP, "modbus:LiquidTemperatureState");
stateNames.put(COMPRESSOR_RUNNING_CURRENT, "modbus:CompressorRunningCurrentState");
stateNames.put(WATER_TEMP_SETTING, "modbus:WaterTemperatureSettingState");
stateNames.put(YUTAKI_OPERATING_MODE, "modbus:YutakiVirtualOperatingModeState");
stateNames.put(ALARM_NUMBER, "modbus:AlarmNumberState");
}
@Override
public void handleCommand(ChannelUID channelUID, Command command) {
super.handleCommand(channelUID, command);
if (command instanceof RefreshType) {
return;
} else {
switch (channelUID.getId()) {
case AUTO_MANU_MODE:
if (command instanceof StringType) {
sendCommand("setGlobalAutoManuMode", "[\"" + command + "\"]");
}
break;
case UNIT_CONTROL:
if (command instanceof StringType) {
sendCommand("setControlUnit", "[\"" + command + "\"]");
}
break;
case UNIT_MODE_CONTROL:
if (command instanceof StringType) {
sendCommand("setControlUnitMode", "[\"" + command + "\"]");
}
break;
case BLOCK_MENU_CONTROL:
if (command instanceof StringType) {
sendCommand("setControlBlockMenu", "[\"" + command + "\"]");
}
break;
case SPACE_MODE:
if (command instanceof StringType) {
sendCommand("setSpaceMode", "[\"" + command + "\"]");
}
break;
case ECO_MODE_TARGET_OFFSET:
sendTempCommand("setEcoModeOffset", command);
break;
default:
getLogger().debug("This channel doesn't accept any commands");
}
}
}
private void sendTempCommand(String cmd, Command command) {
if (command instanceof DecimalType || command instanceof QuantityType) {
BigDecimal temperature = toTemperature(command);
if (temperature != null) {
String param = "[" + temperature.toPlainString() + "]";
sendCommand(cmd, param);
}
}
}
}

View File

@ -0,0 +1,98 @@
/**
* 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.somfytahoma.internal.handler;
import static org.openhab.binding.somfytahoma.internal.SomfyTahomaBindingConstants.*;
import java.math.BigDecimal;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.openhab.core.library.types.DecimalType;
import org.openhab.core.library.types.QuantityType;
import org.openhab.core.library.types.StringType;
import org.openhab.core.thing.ChannelUID;
import org.openhab.core.thing.Thing;
import org.openhab.core.types.Command;
import org.openhab.core.types.RefreshType;
/**
* The {@link SomfyTahomaHitachiDHWHandler} is responsible for handling commands,
* which are sent to one of the channels of the Hitachi DHW thing.
*
* @author Ondrej Pecta - Initial contribution
*/
@NonNullByDefault
public class SomfyTahomaHitachiDHWHandler extends SomfyTahomaBaseThingHandler {
public SomfyTahomaHitachiDHWHandler(Thing thing) {
super(thing);
stateNames.put(DHW_MODE, "modbus:DHWModeState");
stateNames.put(DHW, "modbus:StatusDHWState");
stateNames.put(ANTI_LEGIONELLA, "modbus:StatusAntiLegionellaState");
stateNames.put(ANTI_LEGIONELLA_TEMP, "modbus:StatusAntiLegionellaSettingTemperatureState");
stateNames.put(DHW_SETTING_TEMP, "modbus:StatusDHWSettingTemperatureState");
stateNames.put(DHW_TEMP, "core:DHWTemperatureState");
stateNames.put(TARGET_BOOST_MODE, "modbus:YutakiTargetBoostModeState");
stateNames.put(BOOST_MODE, "modbus:YutakiBoostModeState");
stateNames.put(ALARM_NUMBER, "modbus:AlarmNumberState");
}
@Override
public void handleCommand(ChannelUID channelUID, Command command) {
super.handleCommand(channelUID, command);
if (command instanceof RefreshType) {
return;
} else {
switch (channelUID.getId()) {
case DHW:
if (command instanceof StringType) {
sendCommand("setControlDHW", "[\"" + command + "\"]");
}
break;
case DHW_MODE:
if (command instanceof StringType) {
sendCommand("setDHWMode", "[\"" + command + "\"]");
}
break;
case ANTI_LEGIONELLA:
if (command instanceof StringType) {
sendCommand("setControlAntiLegionella", "[\"" + command + "\"]");
}
break;
case TARGET_BOOST_MODE:
if (command instanceof StringType) {
sendCommand("setTargetBoostMode", "[\"" + command + "\"]");
}
break;
case DHW_SETTING_TEMP:
sendTempCommand("setControlDHWSettingTemperature", command);
break;
case ANTI_LEGIONELLA_TEMP:
sendTempCommand("setControlAntiLegionellaSettingTemperature", command);
break;
default:
getLogger().debug("This channel doesn't accept any commands");
}
}
}
private void sendTempCommand(String cmd, Command command) {
if (command instanceof DecimalType || command instanceof QuantityType) {
BigDecimal temperature = toTemperature(command);
if (temperature != null) {
String param = "[" + temperature.toPlainString() + "]";
sendCommand(cmd, param);
}
}
}
}

View File

@ -26,6 +26,9 @@ thing-type.somfytahoma.garagedoor.label = Somfy Garage Door
thing-type.somfytahoma.gate.label = Somfy Heating System with On/Off
thing-type.somfytahoma.gateway.label = Somfy Tahoma Gateway
thing-type.somfytahoma.heatingsystem.label = Z-Wave Heating System
thing-type.somfytahoma.hitachiatwhz.label = Hitachi Air To Water Heating Zone
thing-type.somfytahoma.hitachiatwmc.label = Hitachi Air To Water Main Component
thing-type.somfytahoma.hitachidhw.label = Hitachi DHW
thing-type.somfytahoma.humiditysensor.label = Somfy Humidity Sensor
thing-type.somfytahoma.internalalarm.label = Somfy Internal Alarm
thing-type.somfytahoma.light.label = Somfy Light Switch
@ -94,8 +97,20 @@ channel-type.somfytahoma.alarm_command.state.option.on = ARM
channel-type.somfytahoma.alarm_command.state.option.off = DISARM
channel-type.somfytahoma.alarm_command.state.option.alarmPartial1 = ARM_PARTIAL_1
channel-type.somfytahoma.alarm_command.state.option.alarmPartial2 = ARM_PARTIAL_2
channel-type.somfytahoma.alarm_number.label = Alarm Number State
channel-type.somfytahoma.alarm_number.description = Hitachi alarm number state
channel-type.somfytahoma.alarm_state.label = Alarm State
channel-type.somfytahoma.alarm_state.description = A state of the Somfy Alarm
channel-type.somfytahoma.anti_legionella.label = Anti Legionella
channel-type.somfytahoma.anti_legionella.description = Anti legionella control
channel-type.somfytahoma.anti_legionella.state.option.run = Run
channel-type.somfytahoma.anti_legionella.state.option.stop = Stop
channel-type.somfytahoma.anti_legionella_temp.label = Anti Legionella Temperature
channel-type.somfytahoma.anti_legionella_temp.description = Anti legionella temperature control
channel-type.somfytahoma.auto_manu_mode.label = Auto/Manu Mode
channel-type.somfytahoma.auto_manu_mode.description = Auto/Manu mode control
channel-type.somfytahoma.auto_manu_mode.state.option.auto = Auto
channel-type.somfytahoma.auto_manu_mode.state.option.manu = Manual
channel-type.somfytahoma.away_mode.label = Away
channel-type.somfytahoma.away_mode.description = Away Mode (ON or OFF)
channel-type.somfytahoma.away_mode_duration.label = Away Mode Duration
@ -104,14 +119,32 @@ channel-type.somfytahoma.battery.label = Battery State
channel-type.somfytahoma.battery.description = Battery Condition State (full, low, normal, verylow)
channel-type.somfytahoma.battery_status.label = Battery Status State
channel-type.somfytahoma.battery_status.description = Battery Status State
channel-type.somfytahoma.block_menu_control.label = Block Menu
channel-type.somfytahoma.block_menu_control.description = Block menu control
channel-type.somfytahoma.block_menu_control.state.option.block = Block
channel-type.somfytahoma.block_menu_control.state.option.no = No
channel-type.somfytahoma.boost_mode.label = Boost
channel-type.somfytahoma.boost_mode.description = Boost Mode (ON or OFF)
channel-type.somfytahoma.boost_mode_duration.label = Boost Mode Duration
channel-type.somfytahoma.boost_mode_duration.description = Duration for Boost Mode
channel-type.somfytahoma.circuit_control.label = Circuit Control
channel-type.somfytahoma.circuit_control.description = Circuit control
channel-type.somfytahoma.circuit_control.state.option.run = Run
channel-type.somfytahoma.circuit_control.state.option.stop = Stop
channel-type.somfytahoma.circuit_status.label = Circuit Status
channel-type.somfytahoma.circuit_status.description = Circuit status state
channel-type.somfytahoma.circuit_status.state.option.run = Run
channel-type.somfytahoma.circuit_status.state.option.stop = Stop
channel-type.somfytahoma.closure_orientation.label = Set Closure And Orientation
channel-type.somfytahoma.closure_orientation.description = A channel for setting closure and orientation of the blind
channel-type.somfytahoma.cloud_status.label = Cloud Status State
channel-type.somfytahoma.cloud_status.description = Cloud status state of the camera
channel-type.somfytahoma.comm_alarm_bit_status.label = Communication Alarm Bit Status
channel-type.somfytahoma.comm_alarm_bit_status.description = Communication alarm bit status state
channel-type.somfytahoma.comm_alarm_bit_status.state.option.alarm = Alarm
channel-type.somfytahoma.comm_alarm_bit_status.state.option.no = No
channel-type.somfytahoma.compressor_running_current.label = Compressor Running Current
channel-type.somfytahoma.compressor_running_current.description = Compressor running current state
channel-type.somfytahoma.contact.label = Contact
channel-type.somfytahoma.contact.description = A contact having OPEN/CLOSE state
channel-type.somfytahoma.control.label = Control
@ -136,6 +169,22 @@ channel-type.somfytahoma.derogation_heating_mode.command.option.comfort = Home
channel-type.somfytahoma.derogation_heating_mode.command.option.frost\ protection = Frost protection
channel-type.somfytahoma.derogation_heating_mode.command.option.manual = Manual
channel-type.somfytahoma.derogation_heating_mode.command.option.eco = Night
channel-type.somfytahoma.dhw.label = DHW Control
channel-type.somfytahoma.dhw.description = Domestic hot water control
channel-type.somfytahoma.dhw.state.option.run = Run
channel-type.somfytahoma.dhw.state.option.stop = Stop
channel-type.somfytahoma.dhw_mode.label = DHW Mode
channel-type.somfytahoma.dhw_mode.description = DHW mode control
channel-type.somfytahoma.dhw_mode.state.option.standard = Standard
channel-type.somfytahoma.dhw_mode.state.option.high\ demand = High Demand
channel-type.somfytahoma.dhw_setting_temp.label = DHW Temperature Setting
channel-type.somfytahoma.dhw_setting_temp.description = DHW temperature setting control
channel-type.somfytahoma.dhw_temp.label = DHW Temperature
channel-type.somfytahoma.dhw_temp.description = DHW temperature state
channel-type.somfytahoma.eco_mode_offset.label = Eco Mode Offset
channel-type.somfytahoma.eco_mode_offset.description = Eco mode offset state
channel-type.somfytahoma.eco_mode_target_offset.label = Eco Mode Target Offset
channel-type.somfytahoma.eco_mode_target_offset.description = Eco mode target offset control
channel-type.somfytahoma.electric_booster_operating_time.label = Electric Bosster Operating Time
channel-type.somfytahoma.electric_booster_operating_time.description = Time the Electric Bosster has been operating in hours
channel-type.somfytahoma.energy_consumption.label = Energy Consumption
@ -160,6 +209,8 @@ channel-type.somfytahoma.heating_level.label = Heating Level
channel-type.somfytahoma.heating_level.description = The level of the heating
channel-type.somfytahoma.heating_mode.label = Heating Mode
channel-type.somfytahoma.heating_mode.description = Heating mode of the Somfy thermostat
channel-type.somfytahoma.holiday_mode.label = Holiday Mode
channel-type.somfytahoma.holiday_mode.description = Holiday mode control
channel-type.somfytahoma.humidity.label = Relative Humidity
channel-type.somfytahoma.humidity.description = The current relative humidity
channel-type.somfytahoma.intrusion_control.label = Intrusion Control
@ -174,6 +225,10 @@ channel-type.somfytahoma.light_intensity.label = Light Intensity
channel-type.somfytahoma.light_intensity.description = The intensity of the light
channel-type.somfytahoma.lighting_led_pod_mode.label = Lighting Led Pod Mod State
channel-type.somfytahoma.lighting_led_pod_mode.description = Lighting Led Pod Mod State
channel-type.somfytahoma.liquid_temp.label = Liquid Temperature
channel-type.somfytahoma.liquid_temp.description = Liquid temperature state
channel-type.somfytahoma.liquid_temp_thmi.label = Liquid Temperature THMI
channel-type.somfytahoma.liquid_temp_thmi.description = Liquid temperature THMI state
channel-type.somfytahoma.lock.label = Lock
channel-type.somfytahoma.lock.description = A lock having ON/OFF state (unlocked/locked)
channel-type.somfytahoma.long_beep.label = Dock Long Beep Test
@ -197,8 +252,22 @@ channel-type.somfytahoma.open_closed_valve.label = Valve Open/Closed state
channel-type.somfytahoma.open_closed_valve.description = Current open/closed state of the Somfy thermostatic valve
channel-type.somfytahoma.operating_mode.label = Operating mode
channel-type.somfytahoma.operating_mode.description = Operating mode of the Somfy thermostatic valve
channel-type.somfytahoma.operation.label = Operation State
channel-type.somfytahoma.operation.description = Operation state
channel-type.somfytahoma.operation.state.option.alarm = Alarm
channel-type.somfytahoma.operation.state.option.cool\ demand-off = Cool demand off
channel-type.somfytahoma.operation.state.option.cool\ thermo-off = Cool thermo off
channel-type.somfytahoma.operation.state.option.cool\ thermo-on = Cool thermo on
channel-type.somfytahoma.operation.state.option.dhw-off = DHW off
channel-type.somfytahoma.operation.state.option.heat\ demand-off = Heat demand off
channel-type.somfytahoma.operation.state.option.heat\ thermo-off = Heat thermo off
channel-type.somfytahoma.operation.state.option.heat\ thermo-on = Heat thermo on
channel-type.somfytahoma.operation.state.option.off = Off
channel-type.somfytahoma.operation.state.option.swp-off = Swp off
channel-type.somfytahoma.orientation.label = Orientation
channel-type.somfytahoma.orientation.description = Orientation of the device slats
channel-type.somfytahoma.outdoor_temp.label = Outdoor Temperature
channel-type.somfytahoma.outdoor_temp.description = Outdoor ambient temperature state
channel-type.somfytahoma.pergola_command.label = Command
channel-type.somfytahoma.pergola_command.description = A channel used for sending commands to Somfy Bioclimatic Pergola device
channel-type.somfytahoma.pergola_command.state.option.closeSlats = Close slats
@ -233,8 +302,17 @@ channel-type.somfytahoma.siren_status.state.option.off = OFF
channel-type.somfytahoma.siren_status.state.option.cyclic = CYCLIC
channel-type.somfytahoma.slats.label = Slats
channel-type.somfytahoma.slats.description = Slats having OPEN/CLOSED state
channel-type.somfytahoma.space_mode.label = Space Mode
channel-type.somfytahoma.space_mode.description = Space mode control
channel-type.somfytahoma.space_mode.state.option.comfort = Comfort
channel-type.somfytahoma.space_mode.state.option.eco = Eco
channel-type.somfytahoma.status.label = Status
channel-type.somfytahoma.status.description = Status for SomfyTahoma
channel-type.somfytahoma.target_boost_mode.label = Boost Mode
channel-type.somfytahoma.target_boost_mode.description = Boost mode control
channel-type.somfytahoma.target_boost_mode.state.option.no\ request = No Request
channel-type.somfytahoma.target_boost_mode.state.option.enabled = Enabled
channel-type.somfytahoma.target_boost_mode.state.option.disabled = Disabled
channel-type.somfytahoma.target_heating_level.label = Target Heating Level
channel-type.somfytahoma.target_heating_level.description = A channel used for getting/setting the target heating level (on/off, frostprotection, confort, eco)
channel-type.somfytahoma.target_heating_level.state.option.frostprotection = FROSTPROTECTION
@ -245,8 +323,50 @@ channel-type.somfytahoma.target_temperature.label = Target Temperature
channel-type.somfytahoma.target_temperature.description = The target temperature of the heating system
channel-type.somfytahoma.temperature.label = Temperature
channel-type.somfytahoma.temperature.description = The temperature value of the sensor
channel-type.somfytahoma.unit_control.label = Unit Control
channel-type.somfytahoma.unit_control.description = Unit control
channel-type.somfytahoma.unit_control.state.option.run = Run
channel-type.somfytahoma.unit_control.state.option.stop = Stop
channel-type.somfytahoma.unit_mode_control.label = Unit Mode
channel-type.somfytahoma.unit_mode_control.description = Unit mode control
channel-type.somfytahoma.unit_mode_control.state.option.cool = Cool
channel-type.somfytahoma.unit_mode_control.state.option.heat = Heat
channel-type.somfytahoma.unit_mode_status.label = Unit Mode Status
channel-type.somfytahoma.unit_mode_status.description = Unit mode status state
channel-type.somfytahoma.unit_mode_status.state.option.cool = Cool
channel-type.somfytahoma.unit_mode_status.state.option.heat = Heat
channel-type.somfytahoma.water_heater_mode.label = Mode
channel-type.somfytahoma.water_heater_mode.description = Describes the water heater mode
channel-type.somfytahoma.water_heater_mode.state.option.manualEcoActive = Manual - Eco
channel-type.somfytahoma.water_heater_mode.state.option.manualEcoInactive = Manual
channel-type.somfytahoma.water_heater_mode.state.option.autoMode = Auto
channel-type.somfytahoma.water_inlet_temp.label = Water Inlet Temperature
channel-type.somfytahoma.water_inlet_temp.description = Water inlet temperature state
channel-type.somfytahoma.water_outlet_hp_temp.label = Water Outlet Hp Temperature
channel-type.somfytahoma.water_outlet_hp_temp.description = Water outlet hp temperature state
channel-type.somfytahoma.water_outlet_temp.label = Water Outlet Temperature
channel-type.somfytahoma.water_outlet_temp.description = Water outlet temperature state
channel-type.somfytahoma.water_temp_setting.label = Water Temperature Setting
channel-type.somfytahoma.water_temp_setting.description = Water temperature setting state
channel-type.somfytahoma.yutaki_boost_mode.label = Boost Mode
channel-type.somfytahoma.yutaki_boost_mode.description = Boost mode state
channel-type.somfytahoma.yutaki_boost_mode.state.option.enabled = Enabled
channel-type.somfytahoma.yutaki_boost_mode.state.option.disabled = Disabled
channel-type.somfytahoma.yutaki_mode.label = Yutaki Mode
channel-type.somfytahoma.yutaki_mode.description = Yutaki mode state
channel-type.somfytahoma.yutaki_mode.state.option.comfort = Comfort
channel-type.somfytahoma.yutaki_mode.state.option.eco = Eco
channel-type.somfytahoma.yutaki_operating_mode.label = Yutaki Operating Mode
channel-type.somfytahoma.yutaki_operating_mode.description = Yutaki operating mode state
channel-type.somfytahoma.yutaki_operating_mode.state.option.auto = Auto
channel-type.somfytahoma.yutaki_operating_mode.state.option.holidays = Holidays
channel-type.somfytahoma.yutaki_operating_mode.state.option.normal = Normal
channel-type.somfytahoma.yutaki_operating_mode.state.option.timer = Timer
channel-type.somfytahoma.yutaki_target_mode.label = Yutaki Target Mode
channel-type.somfytahoma.yutaki_target_mode.description = Yutaki target mode control
channel-type.somfytahoma.yutaki_target_mode.state.option.comfort = Comfort
channel-type.somfytahoma.yutaki_target_mode.state.option.eco = Eco
channel-type.somfytahoma.zone_mode.label = Zone Mode
channel-type.somfytahoma.zone_mode.description = Zone mode control
channel-type.somfytahoma.zone_mode.state.option.auto = Auto
channel-type.somfytahoma.zone_mode.state.option.manu = Manual

View File

@ -158,7 +158,9 @@
<channel-type id="target_heating_level">
<item-type>String</item-type>
<label>Target Heating Level</label>
<description>A channel used for getting/setting the target heating level (on/off, frostprotection, confort, eco)</description>
<description>A channel used for getting/setting the target heating level (on/off, frostprotection, confort,
eco)
</description>
<state>
<options>
<option value="frostprotection">FROSTPROTECTION</option>
@ -466,7 +468,6 @@
<state pattern="%d" readOnly="true"/>
</channel-type>
<channel-type id="water_heater_mode">
<item-type>String</item-type>
<label>Mode</label>
@ -506,5 +507,340 @@
<description>Away Mode (ON or OFF)</description>
</channel-type>
<channel-type id="zone_mode">
<item-type>String</item-type>
<label>Zone Mode</label>
<description>Zone mode control</description>
<state>
<options>
<option value="auto">Auto</option>
<option value="manu">Manual</option>
</options>
</state>
</channel-type>
<channel-type id="circuit_control">
<item-type>String</item-type>
<label>Circuit Control</label>
<description>Circuit control</description>
<state>
<options>
<option value="run">Run</option>
<option value="stop">Stop</option>
</options>
</state>
</channel-type>
<channel-type id="circuit_status">
<item-type>String</item-type>
<label>Circuit Status</label>
<description>Circuit status state</description>
<state readOnly="true">
<options>
<option value="run">Run</option>
<option value="stop">Stop</option>
</options>
</state>
</channel-type>
<channel-type id="yutaki_target_mode">
<item-type>String</item-type>
<label>Yutaki Target Mode</label>
<description>Yutaki target mode control</description>
<state>
<options>
<option value="comfort">Comfort</option>
<option value="eco">Eco</option>
</options>
</state>
</channel-type>
<channel-type id="yutaki_mode">
<item-type>String</item-type>
<label>Yutaki Mode</label>
<description>Yutaki mode state</description>
<state readOnly="true">
<options>
<option value="comfort">Comfort</option>
<option value="eco">Eco</option>
</options>
</state>
</channel-type>
<channel-type id="holiday_mode">
<item-type>Switch</item-type>
<label>Holiday Mode</label>
<description>Holiday mode control</description>
</channel-type>
<channel-type id="dhw">
<item-type>String</item-type>
<label>DHW Control</label>
<description>Domestic hot water control</description>
<state>
<options>
<option value="run">Run</option>
<option value="stop">Stop</option>
</options>
</state>
</channel-type>
<channel-type id="anti_legionella">
<item-type>String</item-type>
<label>Anti Legionella</label>
<description>Anti legionella control</description>
<state>
<options>
<option value="run">Run</option>
<option value="stop">Stop</option>
</options>
</state>
</channel-type>
<channel-type id="dhw_setting_temp">
<item-type>Number:Temperature</item-type>
<label>DHW Temperature Setting</label>
<description>DHW temperature setting control</description>
<state pattern="%d %unit%"/>
</channel-type>
<channel-type id="dhw_temp">
<item-type>Number:Temperature</item-type>
<label>DHW Temperature</label>
<description>DHW temperature state</description>
<state pattern="%d %unit%" readOnly="true"/>
</channel-type>
<channel-type id="target_boost_mode">
<item-type>String</item-type>
<label>Boost Mode</label>
<description>Boost mode control</description>
<state>
<options>
<option value="no request">No Request</option>
<option value="enabled">Enabled</option>
<option value="disabled">Disabled</option>
</options>
</state>
</channel-type>
<channel-type id="yutaki_boost_mode">
<item-type>String</item-type>
<label>Boost Mode</label>
<description>Boost mode state</description>
<state readOnly="true">
<options>
<option value="enabled">Enabled</option>
<option value="disabled">Disabled</option>
</options>
</state>
</channel-type>
<channel-type id="auto_manu_mode">
<item-type>String</item-type>
<label>Auto/Manu Mode</label>
<description>Auto/Manu mode control</description>
<state>
<options>
<option value="auto">Auto</option>
<option value="manu">Manual</option>
</options>
</state>
</channel-type>
<channel-type id="unit_control">
<item-type>String</item-type>
<label>Unit Control</label>
<description>Unit control</description>
<state>
<options>
<option value="run">Run</option>
<option value="stop">Stop</option>
</options>
</state>
</channel-type>
<channel-type id="unit_mode_status">
<item-type>String</item-type>
<label>Unit Mode Status</label>
<description>Unit mode status state</description>
<state readOnly="true">
<options>
<option value="cool">Cool</option>
<option value="heat">Heat</option>
</options>
</state>
</channel-type>
<channel-type id="unit_mode_control">
<item-type>String</item-type>
<label>Unit Mode</label>
<description>Unit mode control</description>
<state>
<options>
<option value="cool">Cool</option>
<option value="heat">Heat</option>
</options>
</state>
</channel-type>
<channel-type id="block_menu_control">
<item-type>String</item-type>
<label>Block Menu</label>
<description>Block menu control</description>
<state>
<options>
<option value="block">Block</option>
<option value="no">No</option>
</options>
</state>
</channel-type>
<channel-type id="space_mode">
<item-type>String</item-type>
<label>Space Mode</label>
<description>Space mode control</description>
<state>
<options>
<option value="comfort">Comfort</option>
<option value="eco">Eco</option>
</options>
</state>
</channel-type>
<channel-type id="eco_mode_target_offset">
<item-type>Number:Temperature</item-type>
<label>Eco Mode Target Offset</label>
<description>Eco mode target offset control</description>
<state pattern="%d %unit%"></state>
</channel-type>
<channel-type id="eco_mode_offset">
<item-type>Number:Temperature</item-type>
<label>Eco Mode Offset</label>
<description>Eco mode offset state</description>
<state pattern="%d %unit%" readOnly="true"></state>
</channel-type>
<channel-type id="comm_alarm_bit_status">
<item-type>String</item-type>
<label>Communication Alarm Bit Status</label>
<description>Communication alarm bit status state</description>
<state readOnly="true">
<options>
<option value="alarm">Alarm</option>
<option value="no">No</option>
</options>
</state>
</channel-type>
<channel-type id="operation">
<item-type>String</item-type>
<label>Operation State</label>
<description>Operation state</description>
<state readOnly="true">
<options>
<option value="alarm">Alarm</option>
<option value="cool demand-off">Cool demand off</option>
<option value="cool thermo-off">Cool thermo off</option>
<option value="cool thermo-on">Cool thermo on</option>
<option value="dhw-off">DHW off</option>
<option value="heat demand-off">Heat demand off</option>
<option value="heat thermo-off">Heat thermo off</option>
<option value="heat thermo-on">Heat thermo on</option>
<option value="off">Off</option>
<option value="swp-off">Swp off</option>
</options>
</state>
</channel-type>
<channel-type id="water_inlet_temp">
<item-type>Number:Temperature</item-type>
<label>Water Inlet Temperature</label>
<description>Water inlet temperature state</description>
<state pattern="%d %unit%" readOnly="true"></state>
</channel-type>
<channel-type id="water_outlet_temp">
<item-type>Number:Temperature</item-type>
<label>Water Outlet Temperature</label>
<description>Water outlet temperature state</description>
<state pattern="%d %unit%" readOnly="true"></state>
</channel-type>
<channel-type id="water_outlet_hp_temp">
<item-type>Number:Temperature</item-type>
<label>Water Outlet Hp Temperature</label>
<description>Water outlet hp temperature state</description>
<state pattern="%d %unit%" readOnly="true"></state>
</channel-type>
<channel-type id="liquid_temp_thmi">
<item-type>Number:Temperature</item-type>
<label>Liquid Temperature THMI</label>
<description>Liquid temperature THMI state</description>
<state pattern="%d %unit%" readOnly="true"></state>
</channel-type>
<channel-type id="liquid_temp">
<item-type>Number:Temperature</item-type>
<label>Liquid Temperature</label>
<description>Liquid temperature state</description>
<state pattern="%d %unit%" readOnly="true"></state>
</channel-type>
<channel-type id="anti_legionella_temp">
<item-type>Number:Temperature</item-type>
<label>Anti Legionella Temperature</label>
<description>Anti legionella temperature control</description>
<state pattern="%d %unit%"></state>
</channel-type>
<channel-type id="compressor_running_current">
<item-type>Number</item-type>
<label>Compressor Running Current</label>
<description>Compressor running current state</description>
<state pattern="%.1f" readOnly="true"></state>
</channel-type>
<channel-type id="water_temp_setting">
<item-type>Number:Temperature</item-type>
<label>Water Temperature Setting</label>
<description>Water temperature setting state</description>
<state pattern="%d %unit%" readOnly="true"></state>
</channel-type>
<channel-type id="yutaki_operating_mode">
<item-type>String</item-type>
<label>Yutaki Operating Mode</label>
<description>Yutaki operating mode state</description>
<state readOnly="true">
<options>
<option value="auto">Auto</option>
<option value="holidays">Holidays</option>
<option value="normal">Normal</option>
<option value="timer">Timer</option>
</options>
</state>
</channel-type>
<channel-type id="alarm_number">
<item-type>Number</item-type>
<label>Alarm Number State</label>
<description>Hitachi alarm number state</description>
<state pattern="%d" readOnly="true"></state>
</channel-type>
<channel-type id="dhw_mode">
<item-type>String</item-type>
<label>DHW Mode</label>
<description>DHW mode control</description>
<state>
<options>
<option value="standard">Standard</option>
<option value="high demand">High Demand</option>
</options>
</state>
</channel-type>
</thing:thing-descriptions>

View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="somfytahoma"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
<thing-type id="hitachiatwhz">
<supported-bridge-type-refs>
<bridge-type-ref id="bridge"/>
</supported-bridge-type-refs>
<label>Hitachi Air To Water Heating Zone</label>
<channels>
<channel id="zone_mode" typeId="zone_mode"></channel>
<channel id="circuit_control" typeId="circuit_control"></channel>
<channel id="circuit_status" typeId="circuit_status"></channel>
<channel id="yutaki_target_mode" typeId="yutaki_target_mode"></channel>
<channel id="yutaki_mode" typeId="yutaki_mode"></channel>
<channel id="holiday_mode" typeId="holiday_mode"></channel>
<channel id="alarm_number" typeId="alarm_number"></channel>
</channels>
<representation-property>url</representation-property>
<config-description-ref uri="thing-type:somfytahoma:device"/>
</thing-type>
</thing:thing-descriptions>

View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="somfytahoma"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
<thing-type id="hitachiatwmc">
<supported-bridge-type-refs>
<bridge-type-ref id="bridge"/>
</supported-bridge-type-refs>
<label>Hitachi Air To Water Main Component</label>
<channels>
<channel id="auto_manu_mode" typeId="auto_manu_mode"></channel>
<channel id="unit_control" typeId="unit_control"></channel>
<channel id="unit_mode_status" typeId="unit_mode_status"></channel>
<channel id="unit_mode_control" typeId="unit_mode_control"></channel>
<channel id="block_menu_control" typeId="block_menu_control"></channel>
<channel id="space_mode" typeId="space_mode"></channel>
<channel id="eco_mode_target_offset" typeId="eco_mode_target_offset"></channel>
<channel id="eco_mode_offset" typeId="eco_mode_offset"></channel>
<channel id="comm_alarm_bit_status" typeId="comm_alarm_bit_status"></channel>
<channel id="operation" typeId="operation"></channel>
<channel id="outdoor_temp" typeId="system.outdoor-temperature"></channel>
<channel id="water_inlet_temp" typeId="water_inlet_temp"></channel>
<channel id="water_outlet_temp" typeId="water_outlet_temp"></channel>
<channel id="water_outlet_hp_temp" typeId="water_outlet_hp_temp"></channel>
<channel id="liquid_temp_thmi" typeId="liquid_temp_thmi"></channel>
<channel id="liquid_temp" typeId="liquid_temp"></channel>
<channel id="compressor_running_current" typeId="compressor_running_current"></channel>
<channel id="water_temp_setting" typeId="water_temp_setting"></channel>
<channel id="yutaki_operating_mode" typeId="yutaki_operating_mode"></channel>
<channel id="alarm_number" typeId="alarm_number"></channel>
</channels>
<representation-property>url</representation-property>
<config-description-ref uri="thing-type:somfytahoma:device"/>
</thing-type>
</thing:thing-descriptions>

View File

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="somfytahoma"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
<thing-type id="hitachidhw">
<supported-bridge-type-refs>
<bridge-type-ref id="bridge"/>
</supported-bridge-type-refs>
<label>Hitachi DHW</label>
<channels>
<channel id="dhw_mode" typeId="dhw_mode"></channel>
<channel id="dhw" typeId="dhw"></channel>
<channel id="anti_legionella" typeId="anti_legionella"></channel>
<channel id="dhw_setting_temp" typeId="dhw_setting_temp"></channel>
<channel id="dhw_temp" typeId="dhw_temp"></channel>
<channel id="target_boost_mode" typeId="target_boost_mode"></channel>
<channel id="boost_mode" typeId="yutaki_boost_mode"></channel>
<channel id="alarm_number" typeId="alarm_number"></channel>
<channel id="anti_legionella_temp" typeId="anti_legionella_temp"></channel>
</channels>
<representation-property>url</representation-property>
<config-description-ref uri="thing-type:somfytahoma:device"/>
</thing-type>
</thing:thing-descriptions>