mirror of
https://github.com/openhab/openhab-addons.git
synced 2025-02-04 03:14:07 +01:00
[somfytahoma] added support for the Rain sensor thing (#12368)
Signed-off-by: Ondrej Pecta <opecta@gmail.com>
This commit is contained in:
parent
791ad37ba6
commit
0737ee6bef
@ -28,6 +28,7 @@ Any home automation system based on the OverKiz API is potentially supported.
|
|||||||
- occupancy sensors (OPEN/CLOSE contact)
|
- occupancy sensors (OPEN/CLOSE contact)
|
||||||
- smoke sensors (OPEN/CLOSE contact, alarm check)
|
- smoke sensors (OPEN/CLOSE contact, alarm check)
|
||||||
- contact sensors (OPEN/CLOSE contact)
|
- contact sensors (OPEN/CLOSE contact)
|
||||||
|
- rain sensors (OPEN/CLOSE contact)
|
||||||
- temperature sensors (get temperature)
|
- temperature sensors (get temperature)
|
||||||
- electricity sensors (get energy consumption)
|
- electricity sensors (get energy consumption)
|
||||||
- door locks (LOCK/UNLOCK, OPEN/CLOSE commands)
|
- door locks (LOCK/UNLOCK, OPEN/CLOSE commands)
|
||||||
@ -80,7 +81,7 @@ Please see the example below.
|
|||||||
| action group | execute_action | switch which reacts to ON command and triggers the predefined Tahoma action |
|
| 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 |
|
| onoff, light | switch | reacts to standard ON/OFF commands |
|
||||||
| dimmer light | light_intensity | sets/gets intensity of the dimmer light or ON/OFF |
|
| 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 & rain 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, 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 | radio_battery | maintenance radio part battery state (low, normal) |
|
||||||
| smoke sensor | sensor_battery | maintenance sensor part battery state (absence, low, normal) |
|
| smoke sensor | sensor_battery | maintenance sensor part battery state (absence, low, normal) |
|
||||||
|
@ -172,6 +172,9 @@ public class SomfyTahomaBindingConstants {
|
|||||||
// HitachiAirToWaterMainComponent
|
// HitachiAirToWaterMainComponent
|
||||||
public static final ThingTypeUID THING_TYPE_HITACHI_ATWMC = new ThingTypeUID(BINDING_ID, "hitachiatwmc");
|
public static final ThingTypeUID THING_TYPE_HITACHI_ATWMC = new ThingTypeUID(BINDING_ID, "hitachiatwmc");
|
||||||
|
|
||||||
|
// RainSensor
|
||||||
|
public static final ThingTypeUID THING_TYPE_RAINSENSOR = new ThingTypeUID(BINDING_ID, "rainsensor");
|
||||||
|
|
||||||
// List of all Channel ids
|
// List of all Channel ids
|
||||||
public static final String RSSI = "rssi";
|
public static final String RSSI = "rssi";
|
||||||
|
|
||||||
@ -211,8 +214,10 @@ public class SomfyTahomaBindingConstants {
|
|||||||
public static final String LOCK = "lock";
|
public static final String LOCK = "lock";
|
||||||
public static final String OPEN = "open";
|
public static final String OPEN = "open";
|
||||||
|
|
||||||
// Smoke sensor, Occupancy sensor, Contact sensor, Water sensor
|
// Smoke sensor, Occupancy sensor, Contact sensor, Water sensor, Rain sensor
|
||||||
public static final String CONTACT = "contact";
|
public static final String CONTACT = "contact";
|
||||||
|
|
||||||
|
// Smoke sensor, Occupancy sensor, Contact sensor, Water sensor
|
||||||
public static final String SENSOR_DEFECT = "sensor_defect";
|
public static final String SENSOR_DEFECT = "sensor_defect";
|
||||||
|
|
||||||
// Humidity sensor
|
// Humidity sensor
|
||||||
@ -469,6 +474,7 @@ public class SomfyTahomaBindingConstants {
|
|||||||
public static final String CLASS_CAMERA = "Camera";
|
public static final String CLASS_CAMERA = "Camera";
|
||||||
public static final String CLASS_WATER_HEATING_SYSTEM = "WaterHeatingSystem";
|
public static final String CLASS_WATER_HEATING_SYSTEM = "WaterHeatingSystem";
|
||||||
public static final String CLASS_HITACHI_HEATING_SYSTEM = "HitachiHeatingSystem";
|
public static final String CLASS_HITACHI_HEATING_SYSTEM = "HitachiHeatingSystem";
|
||||||
|
public static final String CLASS_RAIN_SENSOR = "RainSensor";
|
||||||
|
|
||||||
// unsupported uiClasses
|
// unsupported uiClasses
|
||||||
public static final String THING_PROTOCOL_GATEWAY = "ProtocolGateway";
|
public static final String THING_PROTOCOL_GATEWAY = "ProtocolGateway";
|
||||||
@ -493,7 +499,7 @@ public class SomfyTahomaBindingConstants {
|
|||||||
THING_TYPE_WATERSENSOR, THING_TYPE_HUMIDITYSENSOR, THING_TYPE_MYFOX_ALARM, THING_TYPE_THERMOSTAT,
|
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_DIMMER_LIGHT, THING_TYPE_EXTERIOR_HEATING_SYSTEM, THING_TYPE_VALVE_HEATING_SYSTEM,
|
||||||
THING_TYPE_BIOCLIMATIC_PERGOLA, THING_TYPE_WATERHEATINGSYSTEM, THING_TYPE_HITACHI_ATWHZ,
|
THING_TYPE_BIOCLIMATIC_PERGOLA, THING_TYPE_WATERHEATINGSYSTEM, THING_TYPE_HITACHI_ATWHZ,
|
||||||
THING_TYPE_HITACHI_DHW, THING_TYPE_HITACHI_ATWMC));
|
THING_TYPE_HITACHI_DHW, THING_TYPE_HITACHI_ATWMC, THING_TYPE_RAINSENSOR));
|
||||||
|
|
||||||
// somfy gateways
|
// somfy gateways
|
||||||
public static Map<Integer, String> gatewayTypes = new HashMap<Integer, String>() {
|
public static Map<Integer, String> gatewayTypes = new HashMap<Integer, String>() {
|
||||||
|
@ -44,6 +44,7 @@ import org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaOnOffHandler;
|
|||||||
import org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaOnOffHeatingSystemHandler;
|
import org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaOnOffHeatingSystemHandler;
|
||||||
import org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaPergolaHandler;
|
import org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaPergolaHandler;
|
||||||
import org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaPodHandler;
|
import org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaPodHandler;
|
||||||
|
import org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaRainSensorHandler;
|
||||||
import org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaRollerShutterHandler;
|
import org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaRollerShutterHandler;
|
||||||
import org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaSilentRollerShutterHandler;
|
import org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaSilentRollerShutterHandler;
|
||||||
import org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaSirenHandler;
|
import org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaSirenHandler;
|
||||||
@ -196,6 +197,8 @@ public class SomfyTahomaHandlerFactory extends BaseThingHandlerFactory {
|
|||||||
return new SomfyTahomaHitachiDHWHandler(thing);
|
return new SomfyTahomaHitachiDHWHandler(thing);
|
||||||
} else if (thingTypeUID.equals(THING_TYPE_HITACHI_ATWMC)) {
|
} else if (thingTypeUID.equals(THING_TYPE_HITACHI_ATWMC)) {
|
||||||
return new SomfyTahomaHitachiATWMCHandler(thing);
|
return new SomfyTahomaHitachiATWMCHandler(thing);
|
||||||
|
} else if (thingTypeUID.equals(THING_TYPE_RAINSENSOR)) {
|
||||||
|
return new SomfyTahomaRainSensorHandler(thing);
|
||||||
} else {
|
} else {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -340,6 +340,13 @@ public class SomfyTahomaItemDiscoveryService extends AbstractDiscoveryService
|
|||||||
logUnsupportedDevice(device);
|
logUnsupportedDevice(device);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case CLASS_RAIN_SENSOR:
|
||||||
|
if ("RainSensor".equals(device.getWidget())) {
|
||||||
|
// widget: RainSensor
|
||||||
|
deviceDiscovered(device, THING_TYPE_RAINSENSOR, place);
|
||||||
|
} else {
|
||||||
|
logUnsupportedDevice(device);
|
||||||
|
}
|
||||||
case THING_PROTOCOL_GATEWAY:
|
case THING_PROTOCOL_GATEWAY:
|
||||||
case THING_REMOTE_CONTROLLER:
|
case THING_REMOTE_CONTROLLER:
|
||||||
// widget: AlarmRemoteController
|
// widget: AlarmRemoteController
|
||||||
|
@ -0,0 +1,33 @@
|
|||||||
|
/**
|
||||||
|
* 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.thing.Thing;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The {@link SomfyTahomaRainSensorHandler} is responsible for handling commands,
|
||||||
|
* which are sent to one of the channels of the rain sensor thing.
|
||||||
|
*
|
||||||
|
* @author Ondrej Pecta - Initial contribution
|
||||||
|
*/
|
||||||
|
@NonNullByDefault
|
||||||
|
public class SomfyTahomaRainSensorHandler extends SomfyTahomaBaseThingHandler {
|
||||||
|
|
||||||
|
public SomfyTahomaRainSensorHandler(Thing thing) {
|
||||||
|
super(thing);
|
||||||
|
stateNames.put(CONTACT, "core:RainState");
|
||||||
|
}
|
||||||
|
}
|
@ -40,6 +40,7 @@ thing-type.somfytahoma.onoff.label = Somfy On/Off Switch
|
|||||||
thing-type.somfytahoma.onoffheatingsystem.label = Somfy Heating System with On/Off
|
thing-type.somfytahoma.onoffheatingsystem.label = Somfy Heating System with On/Off
|
||||||
thing-type.somfytahoma.pergola.label = Somfy Pergola
|
thing-type.somfytahoma.pergola.label = Somfy Pergola
|
||||||
thing-type.somfytahoma.pod.label = Somfy Pod
|
thing-type.somfytahoma.pod.label = Somfy Pod
|
||||||
|
thing-type.somfytahoma.rainsensor.label = Somfy Rain Sensor
|
||||||
thing-type.somfytahoma.rollershutter.label = Somfy Roller Shutter
|
thing-type.somfytahoma.rollershutter.label = Somfy Roller Shutter
|
||||||
thing-type.somfytahoma.rollershutter_silent.label = Somfy Silent Roller Shutter
|
thing-type.somfytahoma.rollershutter_silent.label = Somfy Silent Roller Shutter
|
||||||
thing-type.somfytahoma.rollershutter_uno.label = Somfy Roller Shutter Uno
|
thing-type.somfytahoma.rollershutter_uno.label = Somfy Roller Shutter Uno
|
||||||
|
@ -0,0 +1,19 @@
|
|||||||
|
<?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="rainsensor">
|
||||||
|
<supported-bridge-type-refs>
|
||||||
|
<bridge-type-ref id="bridge"/>
|
||||||
|
</supported-bridge-type-refs>
|
||||||
|
<label>Somfy Rain Sensor</label>
|
||||||
|
<channels>
|
||||||
|
<channel id="contact" typeId="contact"></channel>
|
||||||
|
</channels>
|
||||||
|
<representation-property>url</representation-property>
|
||||||
|
<config-description-ref uri="thing-type:somfytahoma:device"/>
|
||||||
|
</thing-type>
|
||||||
|
|
||||||
|
</thing:thing-descriptions>
|
Loading…
Reference in New Issue
Block a user