forked from openhab/openhab-addons
-
Notifications
You must be signed in to change notification settings - Fork 16
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[openwebnet] First commit openwebnet binding (openhab#5195)
Signed-off-by: Massimo Valla <mvbruincc@gmail.com>
- Loading branch information
Massimo Valla
committed
Oct 13, 2019
1 parent
2e309c3
commit 7531609
Showing
34 changed files
with
3,261 additions
and
1 deletion.
There are no files selected for viewing
Validating CODEOWNERS rules …
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<classpath> | ||
<classpathentry kind="src" output="target/classes" path="src/main/java"> | ||
<attributes> | ||
<attribute name="optional" value="true"/> | ||
<attribute name="maven.pomderived" value="true"/> | ||
</attributes> | ||
</classpathentry> | ||
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"> | ||
<attributes> | ||
<attribute name="maven.pomderived" value="true"/> | ||
</attributes> | ||
</classpathentry> | ||
<classpathentry kind="src" output="target/test-classes" path="src/test/java"> | ||
<attributes> | ||
<attribute name="optional" value="true"/> | ||
<attribute name="maven.pomderived" value="true"/> | ||
<attribute name="test" value="true"/> | ||
</attributes> | ||
</classpathentry> | ||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"> | ||
<attributes> | ||
<attribute name="maven.pomderived" value="true"/> | ||
</attributes> | ||
</classpathentry> | ||
<classpathentry combineaccessrules="false" kind="src" path="/openwebnet-lib"/> | ||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> | ||
<attributes> | ||
<attribute name="maven.pomderived" value="true"/> | ||
</attributes> | ||
</classpathentry> | ||
<classpathentry kind="output" path="target/classes"/> | ||
</classpath> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<projectDescription> | ||
<name>org.openhab.binding.openwebnet</name> | ||
<comment></comment> | ||
<projects> | ||
</projects> | ||
<buildSpec> | ||
<buildCommand> | ||
<name>org.eclipse.jdt.core.javabuilder</name> | ||
<arguments> | ||
</arguments> | ||
</buildCommand> | ||
<buildCommand> | ||
<name>org.eclipse.m2e.core.maven2Builder</name> | ||
<arguments> | ||
</arguments> | ||
</buildCommand> | ||
</buildSpec> | ||
<natures> | ||
<nature>org.eclipse.jdt.core.javanature</nature> | ||
<nature>org.eclipse.m2e.core.maven2Nature</nature> | ||
</natures> | ||
</projectDescription> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
This content is produced and maintained by the openHAB project. | ||
|
||
* Project home: https://www.openhab.org | ||
|
||
== Declared Project Licenses | ||
|
||
This program and the accompanying materials are made available under the terms | ||
of the Eclipse Public License 2.0 which is available at | ||
https://www.eclipse.org/legal/epl-2.0/. | ||
|
||
== Source Code | ||
|
||
https://github.com/openhab/openhab2-addons | ||
|
||
== Third-party Content | ||
|
||
Modified version of rx-openwebnet | ||
* License: Mixed License | ||
* Original Project: https://github.com/openwebnet/rx-openwebnet | ||
* Original Source: https://github.com/openwebnet/rx-openwebnet |
Large diffs are not rendered by default.
Oops, something went wrong.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> | ||
|
||
<modelVersion>4.0.0</modelVersion> | ||
|
||
<parent> | ||
<groupId>org.openhab.addons.bundles</groupId> | ||
<artifactId>org.openhab.addons.reactor.bundles</artifactId> | ||
<version>2.5.0-SNAPSHOT</version> | ||
</parent> | ||
|
||
<artifactId>org.openhab.binding.openwebnet</artifactId> | ||
|
||
<name>openHAB Add-ons :: Bundles :: OpenWebNet (BTicino/Legrand) Binding</name> | ||
|
||
</project> |
11 changes: 11 additions & 0 deletions
11
bundles/org.openhab.binding.openwebnet/src/main/feature/feature.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<features name="org.openhab.binding.openwebnet-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.4.0"> | ||
<repository>mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${project.version}/xml/features</repository> | ||
|
||
<feature name="openhab-binding-openwebnet" description="OpenWebNet (BTicino/Legrand) Binding" version="${project.version}"> | ||
<feature>openhab-runtime-base</feature> | ||
<feature>openhab-transport-serial</feature> | ||
<feature>openhab-transport-upnp</feature> | ||
<bundle start-level="80">mvn:org.openhab.addons.bundles/org.openhab.binding.openwebnet/${project.version}</bundle> | ||
</feature> | ||
</features> |
118 changes: 118 additions & 0 deletions
118
...g.openwebnet/src/main/java/org/openhab/binding/openwebnet/OpenWebNetBindingConstants.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,118 @@ | ||
/** | ||
* Copyright (c) 2010-2019 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.openwebnet; | ||
|
||
import java.util.Arrays; | ||
import java.util.Collection; | ||
import java.util.HashSet; | ||
import java.util.Set; | ||
import java.util.stream.Collectors; | ||
import java.util.stream.Stream; | ||
|
||
import org.eclipse.jdt.annotation.NonNullByDefault; | ||
import org.eclipse.smarthome.core.thing.ThingTypeUID; | ||
|
||
/** | ||
* The {@link OpenWebNetBindingConstants} class defines common constants, which are used across the whole binding. | ||
* | ||
* @author Massimo Valla - Initial contribution | ||
*/ | ||
|
||
@NonNullByDefault | ||
public class OpenWebNetBindingConstants { | ||
|
||
public static final String BINDING_ID = "openwebnet"; | ||
|
||
public static final int THING_STATE_REQ_TIMEOUT = 5; // seconds | ||
|
||
// TODO transform these constants in enum+hashmaps | ||
|
||
// #LIST OF Thing Type UIDs | ||
// bridges | ||
public static final ThingTypeUID THING_TYPE_ZB_GATEWAY = new ThingTypeUID(BINDING_ID, "zb_gateway"); | ||
public static final String THING_LABEL_ZB_GATEWAY = "ZigBee USB Gateway"; | ||
public static final ThingTypeUID THING_TYPE_BUS_GATEWAY = new ThingTypeUID(BINDING_ID, "bus_gateway"); | ||
public static final String THING_LABEL_BUS_GATEWAY = "BUS Gateway"; | ||
// generic (unknown) device | ||
public static final ThingTypeUID THING_TYPE_DEVICE = new ThingTypeUID(BINDING_ID, "device"); | ||
public static final String THING_LABEL_DEVICE = "GENERIC Device"; | ||
// other thing types | ||
// BUS | ||
public static final ThingTypeUID THING_TYPE_BUS_ON_OFF_SWITCH = new ThingTypeUID(BINDING_ID, "bus_on_off_switch"); | ||
public static final String THING_LABEL_BUS_ON_OFF_SWITCH = "Switch"; | ||
public static final ThingTypeUID THING_TYPE_BUS_DIMMER = new ThingTypeUID(BINDING_ID, "bus_dimmer"); | ||
public static final String THING_LABEL_BUS_DIMMER = "Dimmer"; | ||
public static final ThingTypeUID THING_TYPE_BUS_AUTOMATION = new ThingTypeUID(BINDING_ID, "bus_automation"); | ||
public static final String THING_LABEL_BUS_AUTOMATION = "Automation"; | ||
|
||
// ZIGBEE | ||
public static final ThingTypeUID THING_TYPE_ZB_ON_OFF_SWITCH = new ThingTypeUID(BINDING_ID, "zb_on_off_switch"); | ||
public static final String THING_LABEL_ZB_ON_OFF_SWITCH = "ZigBee Switch"; | ||
public static final ThingTypeUID THING_TYPE_ZB_ON_OFF_SWITCH_2UNITS = new ThingTypeUID(BINDING_ID, | ||
"zb_on_off_switch2u"); | ||
public static final String THING_LABEL_ZB_ON_OFF_SWITCH_2UNITS = "ZigBee 2-units Switch"; | ||
public static final ThingTypeUID THING_TYPE_ZB_DIMMER = new ThingTypeUID(BINDING_ID, "zb_dimmer"); | ||
public static final String THING_LABEL_ZB_DIMMER = "ZigBee Dimmer"; | ||
public static final ThingTypeUID THING_TYPE_ZB_AUTOMATION = new ThingTypeUID(BINDING_ID, "zb_automation"); | ||
public static final String THING_LABEL_ZB_AUTOMATION = "ZigBee Automation"; | ||
|
||
// #SUPPORTED THINGS SETS | ||
// ## Generic | ||
public static final Set<ThingTypeUID> GENERIC_SUPPORTED_THING_TYPES = new HashSet<>( | ||
Arrays.asList(THING_TYPE_DEVICE)); | ||
|
||
// ## Lighting | ||
public static final Set<ThingTypeUID> LIGHTING_SUPPORTED_THING_TYPES = new HashSet<>( | ||
Arrays.asList(THING_TYPE_ZB_ON_OFF_SWITCH, THING_TYPE_ZB_ON_OFF_SWITCH_2UNITS, THING_TYPE_ZB_DIMMER, | ||
THING_TYPE_BUS_ON_OFF_SWITCH, THING_TYPE_BUS_DIMMER)); | ||
// ## Automation | ||
public static final Set<ThingTypeUID> AUTOMATION_SUPPORTED_THING_TYPES = new HashSet<>( | ||
Arrays.asList(THING_TYPE_ZB_AUTOMATION, THING_TYPE_BUS_AUTOMATION)); | ||
// ## Groups | ||
public static final Set<ThingTypeUID> DEVICE_SUPPORTED_THING_TYPES = Stream | ||
.of(LIGHTING_SUPPORTED_THING_TYPES, AUTOMATION_SUPPORTED_THING_TYPES, GENERIC_SUPPORTED_THING_TYPES) | ||
.flatMap(Collection::stream).collect(Collectors.toCollection(HashSet::new)); | ||
|
||
public static final Set<ThingTypeUID> BRIDGE_SUPPORTED_THING_TYPES = new HashSet<>( | ||
Arrays.asList(THING_TYPE_ZB_GATEWAY, THING_TYPE_BUS_GATEWAY)); | ||
|
||
public static final Set<ThingTypeUID> ALL_SUPPORTED_THING_TYPES = Stream | ||
.of(DEVICE_SUPPORTED_THING_TYPES, BRIDGE_SUPPORTED_THING_TYPES).flatMap(Collection::stream) | ||
.collect(Collectors.toCollection(HashSet::new)); | ||
|
||
// LIST OF ALL CHANNEL IDs | ||
// lighting | ||
public static final String CHANNEL_SWITCH = "switch"; | ||
public static final String CHANNEL_SWITCH_01 = "switch_01"; | ||
public static final String CHANNEL_SWITCH_02 = "switch_02"; | ||
public static final String CHANNEL_BRIGHTNESS = "brightness"; | ||
// automation | ||
public static final String CHANNEL_SHUTTER = "shutter"; | ||
|
||
// devices config properties | ||
public static final String CONFIG_PROPERTY_WHERE = "where"; | ||
public static final String CONFIG_PROPERTY_SHUTTER_RUN = "shutterRun"; | ||
// BUS gw config properties | ||
public static final String CONFIG_PROPERTY_SERIAL_PORT = "serialPort"; | ||
public static final String CONFIG_PROPERTY_HOST = "host"; | ||
public static final String CONFIG_PROPERTY_PORT = "port"; | ||
public static final String CONFIG_PROPERTY_PASSWD = "passwd"; | ||
public static final String CONFIG_PROPERTY_DISCOVERY_ACTIVATION = "discoveryByActivation"; | ||
// properties | ||
public static final String PROPERTY_OWNID = "ownId"; | ||
public static final String PROPERTY_ZIGBEEID = "zigbeeid"; | ||
public static final String PROPERTY_FIRMWARE_VERSION = "firmwareVersion"; | ||
public static final String PROPERTY_MODEL = "model"; | ||
public static final String PROPERTY_SERIAL_NO = "serialNumber"; | ||
|
||
} |
Oops, something went wrong.