This repository has been archived by the owner on May 7, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 786
WIP: Initial commit of BLE bundles (BLE, BlueGiga, YeeLightBlue) #3633
Closed
Closed
Changes from all commits
Commits
Show all changes
3 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
8 changes: 8 additions & 0 deletions
8
extensions/binding/org.eclipse.smarthome.binding.ble.bluegiga/.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,8 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<classpath> | ||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> | ||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> | ||
<classpathentry kind="src" path="src/main/java"/> | ||
<classpathentry kind="lib" path="lib/com.zsmartsystems.bluetooth.bluegiga-1.0.0-SNAPSHOT.jar" sourcepath="lib/com.zsmartsystems.bluetooth.bluegiga-1.0.0-SNAPSHOT-sources.jar"/> | ||
<classpathentry kind="output" path="target/classes"/> | ||
</classpath> |
33 changes: 33 additions & 0 deletions
33
extensions/binding/org.eclipse.smarthome.binding.ble.bluegiga/.project
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"?> | ||
<projectDescription> | ||
<name>org.eclipse.smarthome.binding.ble.bluegiga</name> | ||
<comment></comment> | ||
<projects> | ||
</projects> | ||
<buildSpec> | ||
<buildCommand> | ||
<name>org.eclipse.jdt.core.javabuilder</name> | ||
<arguments> | ||
</arguments> | ||
</buildCommand> | ||
<buildCommand> | ||
<name>org.eclipse.pde.ManifestBuilder</name> | ||
<arguments> | ||
</arguments> | ||
</buildCommand> | ||
<buildCommand> | ||
<name>org.eclipse.pde.SchemaBuilder</name> | ||
<arguments> | ||
</arguments> | ||
</buildCommand> | ||
<buildCommand> | ||
<name>org.eclipse.pde.ds.core.builder</name> | ||
<arguments> | ||
</arguments> | ||
</buildCommand> | ||
</buildSpec> | ||
<natures> | ||
<nature>org.eclipse.pde.PluginNature</nature> | ||
<nature>org.eclipse.jdt.core.javanature</nature> | ||
</natures> | ||
</projectDescription> |
13 changes: 13 additions & 0 deletions
13
...ing/org.eclipse.smarthome.binding.ble.bluegiga/ESH-INF/i18n/ble.bluegiga_xx_XX.properties
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,13 @@ | ||
# FIXME: please substitute the xx_XX with a proper locale, ie. de_DE | ||
# FIXME: please do not add the file to the repo if you add or change no content | ||
# binding | ||
binding.ble.bluegiga.name = <Your localized Binding name> | ||
binding.ble.bluegiga.description = <Your localized Binding description> | ||
|
||
# thing types | ||
thing-type.ble.bluegiga.sample.label = <Your localized Thing label> | ||
thing-type.ble.bluegiga.sample.description = <Your localized Thing description> | ||
|
||
# channel types | ||
channel-type.ble.bluegiga.sample-channel.label = <Your localized Channel label> | ||
channel-type.ble.bluegiga.sample-channel.description = <Your localized Channel description> |
22 changes: 22 additions & 0 deletions
22
extensions/binding/org.eclipse.smarthome.binding.ble.bluegiga/ESH-INF/thing/bluegiga.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,22 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<thing:thing-descriptions bindingId="ble" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
xmlns:thing="http://eclipse.org/smarthome/schemas/thing-description/v1.0.0" | ||
xsi:schemaLocation="http://eclipse.org/smarthome/schemas/thing-description/v1.0.0 http://eclipse.org/smarthome/schemas/thing-description-1.0.0.xsd"> | ||
|
||
<bridge-type id="bluegiga"> | ||
<label>BlueGiga Bluetooth Interface</label> | ||
<description>Serial interface to the BlueGiga BLE interface</description> | ||
|
||
<channels> | ||
<channel id="channel1" typeId="sample-channel" /> | ||
</channels> | ||
|
||
<config-description> | ||
<parameter name="bluegiga_port" type="text" required="true"> | ||
<label>Port</label> | ||
<description>Serial Port</description> | ||
</parameter> | ||
</config-description> | ||
</bridge-type> | ||
|
||
</thing:thing-descriptions> |
26 changes: 26 additions & 0 deletions
26
extensions/binding/org.eclipse.smarthome.binding.ble.bluegiga/META-INF/MANIFEST.MF
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,26 @@ | ||
Manifest-Version: 1.0 | ||
Bundle-ManifestVersion: 2 | ||
Bundle-Name: BlueGiga BLE Bridge Binding Fragment | ||
Bundle-SymbolicName: org.eclipse.smarthome.binding.ble.bluegiga;singleton:=true | ||
Bundle-Vendor: Eclipse.org/SmartHome | ||
Bundle-Version: 0.9.0.qualifier | ||
Bundle-RequiredExecutionEnvironment: JavaSE-1.8 | ||
Bundle-ClassPath: ., | ||
lib/com.zsmartsystems.bluetooth.bluegiga-1.0.0-SNAPSHOT.jar | ||
Fragment-Host: org.eclipse.smarthome.binding.ble | ||
Import-Package: | ||
gnu.io;version="3.12.0.OH", | ||
org.eclipse.smarthome.binding.ble, | ||
org.eclipse.smarthome.config.core, | ||
org.eclipse.smarthome.config.discovery, | ||
org.eclipse.smarthome.core.library.types, | ||
org.eclipse.smarthome.core.thing, | ||
org.eclipse.smarthome.core.thing.binding, | ||
org.eclipse.smarthome.core.thing.binding.builder, | ||
org.eclipse.smarthome.core.thing.type, | ||
org.eclipse.smarthome.core.types, | ||
org.osgi.framework;version="1.8.0", | ||
org.slf4j | ||
Service-Component: OSGI-INF/*.xml | ||
Export-Package: org.eclipse.smarthome.binding.ble.bluegiga, | ||
org.eclipse.smarthome.binding.ble.bluegiga.handler |
20 changes: 20 additions & 0 deletions
20
...ns/binding/org.eclipse.smarthome.binding.ble.bluegiga/OSGI-INF/BlueGigaHandlerFactory.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,20 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<!-- | ||
|
||
Copyright (c) 2010-2017 by the respective copyright holders. | ||
|
||
All rights reserved. This program and the accompanying materials | ||
are made available under the terms of the Eclipse Public License v1.0 | ||
which accompanies this distribution, and is available at | ||
http://www.eclipse.org/legal/epl-v10.html | ||
|
||
--> | ||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true" name="binding.ble.bluegiga"> | ||
|
||
<implementation class="org.eclipse.smarthome.binding.ble.bluegiga.internal.BlueGigaHandlerFactory"/> | ||
|
||
<service> | ||
<provide interface="org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory"/> | ||
</service> | ||
|
||
</scr:component> |
52 changes: 52 additions & 0 deletions
52
extensions/binding/org.eclipse.smarthome.binding.ble.bluegiga/README.md
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,52 @@ | ||
# Ble.BlueGiga Binding | ||
|
||
_Give some details about what this binding is meant for - a protocol, system, specific device._ | ||
|
||
_If possible, provide some resources like pictures, a YouTube video, etc. to give an impression of what can be done with this binding. You can place such resources into a `doc` folder next to this README.md._ | ||
|
||
## Supported Things | ||
|
||
_Please describe the different supported things / devices within this section._ | ||
_Which different types are supported, which models were tested etc.?_ | ||
_Note that it is planned to generate some part of this based on the XML files within ```ESH-INF/thing``` of your binding._ | ||
|
||
## Discovery | ||
|
||
_Describe the available auto-discovery features here. Mention for what it works and what needs to be kept in mind when using it._ | ||
|
||
## Binding Configuration | ||
|
||
_If your binding requires or supports general configuration settings, please create a folder ```cfg``` and place the configuration file ```<bindingId>.cfg``` inside it. In this section, you should link to this file and provide some information about the options. The file could e.g. look like:_ | ||
|
||
``` | ||
# Configuration for the Philips Hue Binding | ||
# | ||
# Default secret key for the pairing of the Philips Hue Bridge. | ||
# It has to be between 10-40 (alphanumeric) characters | ||
# This may be changed by the user for security reasons. | ||
secret=EclipseSmartHome | ||
``` | ||
|
||
_Note that it is planned to generate some part of this based on the information that is available within ```ESH-INF/binding``` of your binding._ | ||
|
||
_If your binding does not offer any generic configurations, you can remove this section completely._ | ||
|
||
## Thing Configuration | ||
|
||
_Describe what is needed to manually configure a thing, either through the (Paper) UI or via a thing-file. This should be mainly about its mandatory and optional configuration parameters. A short example entry for a thing file can help!_ | ||
|
||
_Note that it is planned to generate some part of this based on the XML files within ```ESH-INF/thing``` of your binding._ | ||
|
||
## Channels | ||
|
||
_Here you should provide information about available channel types, what their meaning is and how they can be used._ | ||
|
||
_Note that it is planned to generate some part of this based on the XML files within ```ESH-INF/thing``` of your binding._ | ||
|
||
## Full Example | ||
|
||
_Provide a full usage example based on textual configuration files (*.things, *.items, *.sitemap)._ | ||
|
||
## Any custom content here! | ||
|
||
_Feel free to add additional sections for whatever you think should also be mentioned about your binding!_ |
27 changes: 27 additions & 0 deletions
27
extensions/binding/org.eclipse.smarthome.binding.ble.bluegiga/about.html
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,27 @@ | ||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" | ||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | ||
<html xmlns="http://www.w3.org/1999/xhtml"> | ||
<head> | ||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> | ||
<title>About</title> | ||
</head> | ||
<body lang="EN-US"> | ||
<h2>About This Content</h2> | ||
<p>June 5, 2006</p> | ||
<h3>License</h3> | ||
|
||
<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise | ||
indicated below, the Content is provided to you under the terms and conditions of the | ||
Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available | ||
at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>. | ||
For purposes of the EPL, "Program" will mean the Content.</p> | ||
|
||
<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is | ||
being redistributed by another party ("Redistributor") and different terms and conditions may | ||
apply to your use of any object code in the Content. Check the Redistributor's license that was | ||
provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise | ||
indicated below, the terms and conditions of the EPL still apply to any source code in the Content | ||
and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p> | ||
|
||
</body> | ||
</html> |
7 changes: 7 additions & 0 deletions
7
extensions/binding/org.eclipse.smarthome.binding.ble.bluegiga/build.properties
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,7 @@ | ||
source..=src/main/java/ | ||
output..=target/classes | ||
bin.includes = META-INF/,\ | ||
.,\ | ||
OSGI-INF/,\ | ||
ESH-INF/,\ | ||
about.html |
1 change: 1 addition & 0 deletions
1
extensions/binding/org.eclipse.smarthome.binding.ble.bluegiga/cfg/ble.bluegiga.cfg
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 @@ | ||
# Ble.BlueGiga Binding Default Configuration |
Binary file added
BIN
+181 KB
....binding.ble.bluegiga/lib/com.zsmartsystems.bluetooth.bluegiga-1.0.0-SNAPSHOT-sources.jar
Binary file not shown.
Binary file added
BIN
+167 KB
...marthome.binding.ble.bluegiga/lib/com.zsmartsystems.bluetooth.bluegiga-1.0.0-SNAPSHOT.jar
Binary file not shown.
19 changes: 19 additions & 0 deletions
19
extensions/binding/org.eclipse.smarthome.binding.ble.bluegiga/pom.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,19 @@ | ||
<?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.eclipse.smarthome.binding</groupId> | ||
<artifactId>pom</artifactId> | ||
<version>0.9.0-SNAPSHOT</version> | ||
</parent> | ||
|
||
<artifactId>org.eclipse.smarthome.binding.ble.bluegiga</artifactId> | ||
<version>0.9.0-SNAPSHOT</version> | ||
|
||
<name>Ble.BlueGiga Binding</name> | ||
<packaging>eclipse-plugin</packaging> | ||
|
||
</project> |
35 changes: 35 additions & 0 deletions
35
...ga/src/main/java/org/eclipse/smarthome/binding/ble/bluegiga/BlueGigaBindingConstants.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,35 @@ | ||
/** | ||
* Copyright (c) 2010-2017 by the respective copyright holders. | ||
* | ||
* All rights reserved. This program and the accompanying materials | ||
* are made available under the terms of the Eclipse Public License v1.0 | ||
* which accompanies this distribution, and is available at | ||
* http://www.eclipse.org/legal/epl-v10.html | ||
*/ | ||
package org.eclipse.smarthome.binding.ble.bluegiga; | ||
|
||
import org.eclipse.smarthome.core.thing.ThingTypeUID; | ||
|
||
/** | ||
* The {@link BlueGigaBindingConstants} class defines common constants, which are | ||
* used across the whole binding. | ||
* | ||
* @author Chris Jackson - Initial contribution | ||
*/ | ||
public class BlueGigaBindingConstants { | ||
|
||
private static final String BINDING_ID = "ble"; | ||
|
||
// List of all Thing Type UIDs | ||
public static final ThingTypeUID THING_TYPE_BLUEGIGA = new ThingTypeUID(BINDING_ID, "bluegiga"); | ||
|
||
// List of all Channel ids | ||
public static final String CHANNEL_1 = "channel1"; | ||
|
||
public static final String CONFIGURATION_PORT = "bluegiga_port"; | ||
|
||
public static final String PROPERTY_FIRMWARE = "bluegiga_version_firmware"; | ||
public static final String PROPERTY_HARDWARE = "bluegiga_version_firmware"; | ||
public static final String PROPERTY_LINKLAYER = "bluegiga_version_linklayer"; | ||
public static final String PROPERTY_PROTOCOL = "bluegiga_version_protocol"; | ||
} |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Strange, but I couldn't find it in the Eclipse SmartHome target platform. When I use the openHAB target platform, it's ok.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's a good point. We indeed do not have gnu.io available in ESH for license (GPL) reasons. We therefore cannot add it to our 3rd party p2 site for the target platform to pick it up.
We can check if we can create a works-with CQ that would at least allow us to compile against it (while not distributing it). The other option would be to add the bluegiga fragment simply to openhab2-addons and stick with the DBUS solution in ESH.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry - I forgot to mention this issue. ESH needs a serial driver ;)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't we try to work with the Kura team and use + improve that EPL licensed serial driver?
https://github.com/eclipse/kura/tree/develop/target-platform/org.eclipse.soda.dk.comm-parent/org.eclipse.soda.dk.comm/src/main/java
It does not use gnu.io but the javax.comm interface.
But if it is working it does not matter.
Perhaps we can create an abstraction layer, so the real "backend driver" does not care.
But IMHO it would be a big step if we could use an EPL licensed serial driver.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In general, I would love to have something like that. But I am a bit frightened of the implied efforts in that. Afair, the lib had it's only problems and bugs and especially didn't support many architectures (only armv6hf and x86_64?). Building the native parts of such libs can be pretty cumbersome.
If we do not require anything special from gnu.io and we manage to have a good wrapping API from javax.comm to gnu.io, I would be fine to say that ESH code should use javax.comm for serial communication (and thus could use soda.dk), but it should also leave the option open to use RXTX as an implementation (through the wrapping API) instead.
But imho this is out of scope of this PR. To make progress here, I would suggest to move the bluegiga bundle over to openhab2-addons as it is "just another" bridge, while the official BLE support in ESH uses DBUS (btw. this bridge bundle still seems to be missing here :-))
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any news about using Bluetooth over DBus?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The latest news is over here: https://github.com/openhab/openhab2-addons/pull/2489 - expecting a new PR with the merged result soon!