forked from openhab/openhab-addons
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Initial contribution of evohome binding
Signed-off-by: Jasper van Zuijlen <jvanzuijlen@gmail.com> Also-by: Neil Renaud <neil.renaud@gmail.com>
- Loading branch information
Showing
60 changed files
with
3,112 additions
and
0 deletions.
There are no files selected for viewing
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 @@ | ||
<?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="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,33 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<projectDescription> | ||
<name>org.openhab.binding.evohome</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> |
6 changes: 6 additions & 0 deletions
6
addons/binding/org.openhab.binding.evohome/ESH-INF/binding/binding.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,6 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<binding:binding id="evohome" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:binding="http://eclipse.org/smarthome/schemas/binding/v1.0.0" xsi:schemaLocation="http://eclipse.org/smarthome/schemas/binding/v1.0.0 http://eclipse.org/smarthome/schemas/binding-1.0.0.xsd"> | ||
<name>evohome Binding</name> | ||
<description>The evohome binding controls the Honeywell evohome system.</description> | ||
<author>Jasper van Zuijlen</author> | ||
</binding:binding> |
11 changes: 11 additions & 0 deletions
11
addons/binding/org.openhab.binding.evohome/ESH-INF/i18n/evohome_nl_NL.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,11 @@ | ||
# binding | ||
binding.evohome.name = Evohome binding | ||
binding.evohome.description = De evohome binding maakt het mogelijk om het Honeywell evohome systeem te besturen. | ||
|
||
# thing types | ||
thing-type.evohome.display.label = Scherm | ||
thing-type.evohome.display.description = Dit Thing representeert het evohome bedieningsscherm | ||
|
||
# channel types | ||
channel-type.evohome.systemMode.label = Systeemmodus | ||
channel-type.evohome.systemMode.description = Huidige systeemmodus |
29 changes: 29 additions & 0 deletions
29
addons/binding/org.openhab.binding.evohome/ESH-INF/thing/bridge.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,29 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<thing:thing-descriptions bindingId="evohome" 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"> | ||
<!-- evohome Gateway Bridge --> | ||
<bridge-type id="account"> | ||
<label>evohome Account</label> | ||
<description>The evohome account is used to connect to your Total Connect Comfort (TCC) using your TCC username and password.</description> | ||
<config-description> | ||
<parameter-group name="auth"> | ||
<label>Authentication</label> | ||
<description>Contains the settings needed to authenticate against the TCC service.</description> | ||
</parameter-group> | ||
<parameter name="username" type="text" required="true" groupName="auth"> | ||
<label>Username</label> | ||
<description>Your TCC Username</description> | ||
</parameter> | ||
<parameter name="password" type="text" required="true" groupName="auth"> | ||
<label>Password</label> | ||
<description>Your TCC Password</description> | ||
<context>password</context> | ||
</parameter> | ||
<parameter name="refreshInterval" type="integer" required="false" min="15" max="3000"> | ||
<label>Refresh Interval</label> | ||
<description>The refresh interval to poll TCC (in seconds).</description> | ||
<default>15</default> | ||
<advanced>true</advanced> | ||
</parameter> | ||
</config-description> | ||
</bridge-type> | ||
</thing:thing-descriptions> |
60 changes: 60 additions & 0 deletions
60
addons/binding/org.openhab.binding.evohome/ESH-INF/thing/channels.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,60 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<thing:thing-descriptions bindingId="evohome" 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"> | ||
<channel-type id="systemMode"> | ||
<item-type>String</item-type> | ||
<label>Mode</label> | ||
<description>Current system mode</description> | ||
<category>temperature</category> | ||
<state pattern="%s"> | ||
<options> | ||
<option value="Auto">Normal</option> | ||
<option value="AutoWithEco">Eco</option> | ||
<option value="Away">Away</option> | ||
<option value="DayOff">Day off</option> | ||
<option value="HeatingOff">Off</option> | ||
<option value="Custom">Custom</option> | ||
</options> | ||
</state> | ||
</channel-type> | ||
<channel-type id="temperature"> | ||
<item-type>Number</item-type> | ||
<label>Temperature</label> | ||
<description>Current room temperature</description> | ||
<category>temperature</category> | ||
<state readOnly="true" pattern="%.1f °C"> | ||
</state> | ||
</channel-type> | ||
<channel-type id="currentsetpoint"> | ||
<item-type>Number</item-type> | ||
<label>Current set point</label> | ||
<description>Current zone set point</description> | ||
<category>heating</category> | ||
<state readOnly="true" min="5.0" max="35" step="0.5" pattern="%.1f °C" /> | ||
</channel-type> | ||
<channel-type id="permanentsetpoint"> | ||
<item-type>Number</item-type> | ||
<label>Permanent set point override</label> | ||
<description>Permanently overrides the set point of this zone</description> | ||
<category>heating</category> | ||
<state min="5.0" max="35" step="0.5" pattern="%.1f °C" /> | ||
</channel-type> | ||
<channel-type id="cancelsetpoint"> | ||
<item-type>Switch</item-type> | ||
<label>Cancel a set point override</label> | ||
<description>Cancels any set point overrides of this zone, letting the zone follow schedule.</description> | ||
<category>heating</category> | ||
</channel-type> | ||
<channel-type id="setpointstatus"> | ||
<item-type>String</item-type> | ||
<label>Set point status</label> | ||
<description>Current set point status</description> | ||
<category>heating</category> | ||
<state pattern="%s" readOnly="true"> | ||
<options> | ||
<option value="PermanentOverride">Permanent override</option> | ||
<option value="FollowSchedule">Follow schedule</option> | ||
<option value="TemporaryOverride">Temporary override</option> | ||
</options> | ||
</state> | ||
</channel-type> | ||
</thing:thing-descriptions> |
47 changes: 47 additions & 0 deletions
47
addons/binding/org.openhab.binding.evohome/ESH-INF/thing/thing-types.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,47 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<thing:thing-descriptions bindingId="evohome" 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"> | ||
<thing-type id="display" listed="false"> | ||
<supported-bridge-type-refs> | ||
<bridge-type-ref id="account" /> | ||
</supported-bridge-type-refs> | ||
<label>evohome Display</label> | ||
<description>This represents the evohome control display.</description> | ||
<channels> | ||
<channel id="SystemMode" typeId="systemMode" /> | ||
</channels> | ||
<config-description> | ||
<parameter name="id" type="text" required="true" readOnly="true"> | ||
<label>ID</label> | ||
<description>ID of the display</description> | ||
</parameter> | ||
<parameter name="name" type="text" required="false" readOnly="true"> | ||
<label>Name</label> | ||
<description>Name of the display</description> | ||
</parameter> | ||
</config-description> | ||
</thing-type> | ||
<thing-type id="heatingzone" listed="false"> | ||
<supported-bridge-type-refs> | ||
<bridge-type-ref id="account" /> | ||
</supported-bridge-type-refs> | ||
<label>evohome Heating Zone</label> | ||
<description>This represents the Evohome Heating Zone.</description> | ||
<channels> | ||
<channel id="Temperature" typeId="temperature" /> | ||
<channel id="CurrentSetPoint" typeId="currentsetpoint" /> | ||
<channel id="SetPointStatus" typeId="setpointstatus" /> | ||
<channel id="PermanentSetPoint" typeId="permanentsetpoint" /> | ||
<channel id="CancelSetPoint" typeId="cancelsetpoint" /> | ||
</channels> | ||
<config-description> | ||
<parameter name="id" type="text" required="true" readOnly="true"> | ||
<label>ID</label> | ||
<description>ID of the zone</description> | ||
</parameter> | ||
<parameter name="name" type="text" required="false" readOnly="true"> | ||
<label>Name</label> | ||
<description>Name of the zone</description> | ||
</parameter> | ||
</config-description> | ||
</thing-type> | ||
</thing:thing-descriptions> |
36 changes: 36 additions & 0 deletions
36
addons/binding/org.openhab.binding.evohome/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,36 @@ | ||
Manifest-Version: 1.0 | ||
Bundle-ManifestVersion: 2 | ||
Bundle-Name: Evohome Binding | ||
Bundle-SymbolicName: org.openhab.binding.evohome;singleton:=true | ||
Bundle-Vendor: openHAB | ||
Bundle-Version: 2.3.0.qualifier | ||
Bundle-RequiredExecutionEnvironment: JavaSE-1.8 | ||
Bundle-ClassPath: . | ||
Export-Package: | ||
org.openhab.binding.evohome, | ||
org.openhab.binding.evohome.handler | ||
Import-Package: | ||
com.google.common.collect, | ||
com.google.gson, | ||
com.google.gson.annotations, | ||
org.apache.commons.lang, | ||
org.eclipse.jdt.annotation;resolution:=optional, | ||
org.eclipse.jetty.client, | ||
org.eclipse.jetty.client.api, | ||
org.eclipse.jetty.client.util, | ||
org.eclipse.jetty.http, | ||
org.eclipse.jetty.util.component, | ||
org.eclipse.jetty.util.ssl, | ||
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.openhab.binding.evohome, | ||
org.openhab.binding.evohome.handler, | ||
org.osgi.framework, | ||
org.slf4j | ||
Service-Component: OSGI-INF/*.xml |
7 changes: 7 additions & 0 deletions
7
addons/binding/org.openhab.binding.evohome/OSGI-INF/EvohomeHandlerFactory.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,7 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true" name="binding.evohome"> | ||
<implementation class="org.openhab.binding.evohome.internal.EvohomeHandlerFactory"/> | ||
<service> | ||
<provide interface="org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory"/> | ||
</service> | ||
</scr:component> |
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,119 @@ | ||
# evohome Binding | ||
|
||
This binding integrates the Honeywell evohome system. It uses your Honeywell Total Connect Comfort account to access your locations and heating zones. | ||
|
||
## Supported Things | ||
|
||
The binding supports the following things: | ||
|
||
* evohome Account | ||
* evotouch control display | ||
* Heating zones | ||
|
||
### evohome Account | ||
|
||
This thing functions as the bridge between all the other things. It contains your credentials and connects to the Honeywell web API. | ||
|
||
### evotouch | ||
|
||
This thing represents the central display controller. It is used to view and change the current system mode. | ||
|
||
### Heating zone | ||
|
||
The heating zone thing represents the evohome heating zone. It displays the current temperature, the temperature set point and the status of the set point. It also allows you to permanently override the current temperature set point as well as canceling any active overrides. | ||
|
||
## Discovery | ||
|
||
After setting up the evohome account, the evotouch and heating zones available to your account will be discovered after a manual scan. | ||
|
||
## Binding Configuration | ||
|
||
The evohome account needs to be configured with your username and password. This can be done via PaperUI or things file. | ||
|
||
## Thing Configuration | ||
|
||
Thing configuration is optional, it is easier to use discovery which will automatically add all your zones and displays to the inbox, once the account Thing is online. | ||
|
||
To manually configure the account Thing in a things file you can use: | ||
|
||
Bridge evohome:account:your_account_alias [ username="your_user_name", password="your_password" ] | ||
|
||
Adding displays or zones can be done using this: | ||
|
||
Bridge evohome:account:your_account_alias [ username="your_user_name", password="your_password" ] | ||
{ | ||
display your_display_alias [ id="your_display_id_here" ] | ||
heatingzone your_zone_alias [ id="your_zone_id_here" ] | ||
} | ||
|
||
You can define multiple displays and zones this way | ||
|
||
## Channels | ||
|
||
### account | ||
|
||
None | ||
|
||
### Display | ||
|
||
| Channel Type ID | Item Type | Description | | ||
|-----------------|-----------|--------------------------------------------------------------------------------------------------------------------| | ||
| Mode | String | Allows to view or set the system mode. Supported values are: Auto, Auto, WithEco, Away, DayOff, HeatingOff, Custom | | ||
|
||
### Zone | ||
|
||
| Channel Type ID | Item Type | Description | | ||
|-------------------|-----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ||
| Temperature | Number | Allows for viewing the current actual temperature of the zone. | | ||
| CurrentSetPoint | Number | Allows for viewing the current temperature set point of the zone. | | ||
| SetPointStatus | String | Allows for viewing the current set point mode of the zone. | | ||
| PermanentSetPoint | Number | Allows for permanently overriding the temperature set point of the zone. | | ||
| CancelSetPoint | Switch | Allowing for cancelling any active temperature overrides on the zone and allowing it to follow the active schedule. Activate by sending `ON` to the channel; it will auto-reset to `OFF`. Sending `OFF` has no effect. | | ||
|
||
## Full Example | ||
|
||
### demo.things | ||
|
||
Bridge evohome:account:your_account_alias [ username="your_user_name", password="your_password" ] | ||
{ | ||
display your_display_alias [ id="1234" ] | ||
heatingzone your_zone_alias [ id="5678" ] | ||
} | ||
|
||
|
||
### demo.items | ||
|
||
// evohome Display | ||
String DemoMode { channel="evohome:display:your_account_alias:your_display_alias:SystemMode" } | ||
|
||
// evohome Heatingzone | ||
Number DemoZoneTemperature { channel="evohome:heatingzone:your_account_alias:your_zone_alias:Temperature" } | ||
Number DemoZoneSetPointValue { channel="evohome:heatingzone:your_account_alias:your_zone_alias:CurrentSetPoint" } | ||
String DemoZoneSetPointStatus { channel="evohome:heatingzone:your_account_alias:your_zone_alias:SetPointStatus" } | ||
Number DemoZoneSetPointOverride { channel="evohome:heatingzone:your_account_alias:your_zone_alias:PermanentSetPoint" } | ||
Switch DemoZoneSetPointCancel { channel="evohome:heatingzone:your_account_alias:your_zone_alias:CancelSetPoint" } | ||
|
||
### demo.sitemap | ||
|
||
sitemap evohome label="evohome Menu" | ||
{ | ||
Frame label="evohome display" { | ||
Selection label="[%s]" item=DemoMode mappings=[ | ||
"Auto"="Normal", | ||
"AutoWithEco"="Eco", | ||
"Away"="Away", | ||
"DayOff"="Day Off", | ||
"HeatingOff"="Off", | ||
"Custom"="Custom" | ||
] | ||
} | ||
Frame label="evohome heating zone" { | ||
Text label="Temperature" item=DemoZoneTemperature | ||
Text label="Set point" item=DemoZoneSetPointValue | ||
Text label="Status" item=DemoZoneSetPointStatus | ||
Setpoint label="Permanent override" item=DemoZoneSetPointOverride minValue=5 maxValue=35 step=0.5 | ||
Switch label="Cancel override" item=DemoZoneSetPointCancel | ||
} | ||
} | ||
|
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,32 @@ | ||
<!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>March 30, 2017</p> | ||
<h3>License</h3> | ||
|
||
<p> | ||
The openHAB community 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 openHAB community, 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.openhab.org/">openhab.org</a>. | ||
</p> | ||
|
||
</body> | ||
</html> |
Oops, something went wrong.