Refactor Add-ons

Signed-off-by: Thomas Dietrich <Thomas.Dietrich@tu-ilmenau.de>
pull/154/head
Thomas Dietrich 2016-12-11 00:14:12 +01:00 committed by Kai Kreuzer
parent 6c94e5fa88
commit 73f26ab865
10 changed files with 140 additions and 103 deletions

View File

@ -58,8 +58,7 @@
<ul>
<li><a href="{{docu}}/addons/index.html">Overview</a></li>
<hr />
<li><a href="{{docu}}/addons/bindings.html">2.0 Bindings</a>
<!--
<li><a href="{{docu}}/addons/bindings.html">Bindings</a>
<ul>
<li><a href="{{docu}}/addons/bindings.html">Overview</a></li>
<hr />
@ -67,20 +66,6 @@
<li><a href="{{docu}}/addons/bindings/{{ binding.id }}/readme.html">{{ binding.label }}</a></li>
{% endfor %}
</ul>
-->
</li>
<li><a href="{{docu}}/addons/1xaddons.html">1.x Bindings &amp; Add-ons</a></li>
<li><a href="{{docu}}/addons/io.html">3rd Party Integration</a>
<ul>
<li><a href="{{docu}}/addons/io.html">Overview</a></li>
<hr />
<li><a href="{{docu}}/addons/io/homekit/readme.html">HomeKit</a></li>
<li><a href="{{docu}}/addons/io/imperihome/readme.html">ImperiHome</a></li>
<li><a href="{{docu}}/addons/io/hueemulation/readme.html">Hue Emulation</a></li>
<li><a href="https://my.openhab.org/docs/ifttt">IFTTT (external)</a></li>
<hr />
<li><a href="{{docu}}/configuration/restdocs.html">openHAB REST API</a></li>
</ul>
</li>
<li><a href="{{docu}}/addons/uis.html">User Interfaces</a>
<ul>
@ -96,6 +81,9 @@
<li><a href="{{docu}}/addons/iconsets/classic/readme.html">Iconset (classic)</a></li>
</ul>
</li>
<li><a href="{{docu}}/addons/persistence.html">Persistence</a></li>
<li><a href="{{docu}}/addons/actions.html">Actions</a></li>
<li><a href="{{docu}}/addons/transformations.html">Transformations</a></li>
<li><a href="{{docu}}/addons/voice.html">Voice Services</a>
<ul>
<li><a href="{{docu}}/addons/voice.html">Overview</a></li>
@ -105,6 +93,21 @@
{% endfor %}
</ul>
</li>
<hr />
<li><a href="{{docu}}/addons/io.html">3rd Party Integration</a>
<ul>
<li><a href="{{docu}}/addons/io.html">Overview</a></li>
<hr />
<li><a href="{{docu}}/addons/io/homekit/readme.html">HomeKit</a></li>
<li><a href="{{docu}}/addons/io/hueemulation/readme.html">Hue Emulation</a></li>
<li><a href="{{docu}}/addons/io/imperihome/readme.html">ImperiHome</a></li>
<li><a href="https://my.openhab.org/docs">my.openHAB (external)</a></li>
<li><a href="{{docu}}/configuration/restdocs.html">openHAB REST API</a></li>
<li><a href="{{docu}}/configuration/rules-ng.html">Rule Engine (Experimental)</a></li>
<hr />
<li><a href="https://my.openhab.org/docs/ifttt">IFTTT (external)</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="{{docu}}/administration/index.html">Advanced Functionality</a>

View File

@ -1,62 +1,7 @@
---
layout: documentation
layout: redirected
sitemap: false
redirect_to: addons/index.html
---
{% assign addons = site.data.oh1addons %}
{% assign infos = site.data.oh1addons_infos %}
{% include base.html %}
# 1.x Add-ons
Addons developed for the first version of openHAB can also be used with openHAB 2.0.
Please be aware, that these bindings function and behave differently.
For beginners it is recommended to resort to native 2.0 bindings if possible.
## Compatible 1.x Actions
| Add-on | Description | Type |
|--------|-------------|------|
{% for addon in addons %}{% if addon.category == "action" %}{% assign description = "" %}{% assign wiki_url = "" %}{% for info in infos %}{% if info.label == addon.label %}{% assign description = info.description %}{% assign wiki_url = info.wiki_url %}{% endif %}{% endfor %}| {% if wiki_url != "" %}[{{ addon.label }}]({{ wiki_url }}){% else %}{{ addon.label }}{% endif %} | {{ description }} | {{ addon.category }} |
{% endif %}{% endfor %}
## Compatible 1.x Persistence Services
| Add-on | Description | Type |
|--------|-------------|------|
{% for addon in addons %}{% if addon.category == "persistence" %}{% assign description = "" %}{% assign wiki_url = "" %}{% for info in infos %}{% if info.label == addon.label %}{% assign description = info.description %}{% assign wiki_url = info.wiki_url %}{% endif %}{% endfor %}| {% if wiki_url != "" %}[{{ addon.label }}]({{ wiki_url }}){% else %}{{ addon.label }}{% endif %} | {{ description }} | {{ addon.category }} |
{% endif %}{% endfor %}
## Compatible 1.x Bindings
| Add-on | Description | Type |
|--------|-------------|------|
{% for addon in addons %}{% if addon.category == "binding" %}{% assign description = "" %}{% assign wiki_url = "" %}{% for info in infos %}{% if info.label == addon.label %}{% assign description = info.description %}{% assign wiki_url = info.wiki_url %}{% endif %}{% endfor %}| {% if wiki_url != "" %}[{{ addon.label }}]({{ wiki_url }}){% else %}{{ addon.label }}{% endif %} | {{ description }} | {{ addon.category }} |
{% endif %}{% endfor %}
## Further 1.x Add-ons
Many more 1.x add-ons STILL NEED TO BE TESTED and will probably work on openHAB 2.
For the full list that exists for openHAB 1, please refer to:
* The right sidebar on the [openHAB 1.x wiki](https://github.com/openhab/openhab/wiki/Configuring-the-openHAB-runtime) for additional add-ons.
* [This page](https://github.com/openhab/openhab/wiki/Actions) in the openHAB 1.x wiki for additional actions.
For information on how to test and add add-ons that are not yet included, please see the [compatibility layer documentation](/developers/development/compatibilitylayer.html#how-to-use-openhab-1x-add-ons-that-are-not-part-of-the-distribution).
Experiences with add-ons may also be found in the [openHAB community forum](https://community.openhab.org).
## Incompatible 1.x Add-ons
| Add-on | Type | Reason
|--------|------|------|
| CalDAV | Binding | see [issue 4074](https://github.com/openhab/openhab/issues/4074) |
| GCal | I/O | see [issue 4770](https://github.com/openhab/openhab/issues/4770) |
| InsteonPLM | Binding | see [issue 3922](https://github.com/openhab/openhab/issues/3922) |
| SagerCaster | Binding | Not following the architecture guidelines, see [issue 3754](https://github.com/openhab/openhab/issues/3754) |
| Logging | Persistence | openHAB 2 does not use logback anymore |
## Compatible Applications
| Application | Description |
|-------|----------------------|
| [iot_bridge](https://github.com/openhab/openhab/wiki/ROS-Robot-Operating-System) | Bridge between ROS Robot Operating System and openHAB |
<!-- Note to authors: This file was created in December 2016. Feel free to remove it after a few months... -->

26
addons/actions.md Normal file
View File

@ -0,0 +1,26 @@
---
layout: documentation
title: Actions
---
{% include base.html %}
# Actions
## Compatible 1.x Actions
{% assign addons = site.data.oh1addons %}
{% assign infos = site.data.oh1addons_infos %}
| Add-on | Description |
|--------|-------------|
{% for addon in addons %}{% if addon.category == "action" %}{% assign description = "" %}{% assign wiki_url = "" %}{% for info in infos %}{% if info.label == addon.label %}{% assign description = info.description %}{% assign wiki_url = info.wiki_url %}{% endif %}{% endfor %}| {% if wiki_url != "" %}[{{ addon.label }}]({{ wiki_url }}){% else %}{{ addon.label }}{% endif %} | {{ description }} |
{% endif %}{% endfor %}
More 1.x actions **still need testing** but will probably be working with openHAB 2.
Experiences may also be found in the [openHAB community forum](https://community.openhab.org).
For a more complete list of existing openHAB 1.x actions, please refer to:
* [Actions in openHAB 1.x](https://github.com/openhab/openhab/wiki/Actions)
For information on how to test and add actions to the above list, please see the [compatibility layer documentation]({{base}}/developers/development/compatibilitylayer.html#how-to-use-openhab-1x-add-ons-that-are-not-part-of-the-distribution).

View File

@ -1,26 +1,64 @@
---
layout: documentation
title: Bindings
---
{% include base.html %}
# Available 2.0 Bindings
# Bindings
The following bindings are available to address a wide variety of systems and hardware.
{::options toc_levels="2..4"/}
* TOC
{:toc}
## Native 2.0 Bindings
The following bindings can be installed and configured directly from within Paper UI or by any of the other installation methods.
{% assign bindings = "" | split: "|" %}
{% for binding in site.data.bindings %}{% assign bindings = bindings | push: binding %}{% endfor %}
{% assign sorted_bindings = bindings | sort: "id" %}
| Binding | Description |
|---------|-------------|
{% for binding in sorted_bindings %}| [{{ binding.label }}]({{docu}}/addons/bindings/{{ binding.id }}/readme.html) | {{ binding.description }} |
{% for binding in sorted_bindings %}| [{{ binding.label }}]({{base}}/addons/bindings/{{ binding.id }}/readme.html) | {{ binding.description }} |
{% endfor %}
# Legacy 1.x Bindings
## Legacy 1.x Bindings
Bindings developed for the first version of openHAB can also be used with openHAB 2.0.
Please be aware, that these bindings function and behave differently.
For beginners it is recommended to resort to native 2.0 bindings if possible.
* [List of 1.x Bindings](1xaddons.html)
To be able to see and install 1.x bindings needs to be activated in the system settings.
### Compatible 1.x Bindings
{% assign addons = site.data.oh1addons %}
{% assign infos = site.data.oh1addons_infos %}
| Binding | Description |
|---------|-------------|
{% for addon in addons %}{% if addon.category == "binding" %}{% assign description = "" %}{% assign wiki_url = "" %}{% for info in infos %}{% if info.label == addon.label %}{% assign description = info.description %}{% assign wiki_url = info.wiki_url %}{% endif %}{% endfor %}| {% if wiki_url != "" %}[{{ addon.label }}]({{ wiki_url }}){% else %}{{ addon.label }}{% endif %} | {{ description }} |
{% endif %}{% endfor %}
### Further 1.x Bindings
Many more 1.x bindings **still need testing** but will probably be working with openHAB 2.
Experiences with 1.x bindings in openHAB 2.0 may also be found in the [openHAB community forum](https://community.openhab.org).
For a full list of existing openHAB 1.x bindings, please refer to:
* The right sidebar on the [openHAB 1.x wiki](https://github.com/openhab/openhab/wiki/Configuring-the-openHAB-runtime).
For information on how to test and add bindings to the above list, please see the [compatibility layer documentation]({{base}}/developers/development/compatibilitylayer.html#how-to-use-openhab-1x-add-ons-that-are-not-part-of-the-distribution).
### Incompatible 1.x Bindings
| Binding | Reason |
|-----------------|--------|
| CalDAV | See [issue 4074](https://github.com/openhab/openhab/issues/4074) |
| InsteonPLM | See [issue 3922](https://github.com/openhab/openhab/issues/3922) |
| SagerCaster | Not following the architecture guidelines, see [issue 3754](https://github.com/openhab/openhab/issues/3754) |

View File

@ -1,15 +1,10 @@
---
layout: documentation
title: System Integration
---
{% include base.html %}
# List of System integrations
## System Integration
| Extension | Description |
|-------|----------------------|
| [HomeKit]({{docu}}/addons/io/homekit/readme.html) | Exposes openHAB items to HomeKit, so that it can be used with Siri on iOS. |
| [Amazon Echo]({{docu}}/addons/io/hueemulation/readme.html) | Emulates a Philips hue bridge, so that devices like Amazon Echo can discover and use it. |
| [ImperiHome]({{docu}}/addons/io/imperihome/readme.html) | Allows the integration of openHAB into the Evertygo ImperiHome dashboard app |
{% include contribution-wanted.html %}

10
addons/misc.md Normal file
View File

@ -0,0 +1,10 @@
---
layout: documentation
title: Miscellaneous Add-ons
---
{% include base.html %}
# Miscellaneous Add-ons
{% include contribution-wanted.html %}

18
addons/persistence.md Normal file
View File

@ -0,0 +1,18 @@
---
layout: documentation
title: Persistence
---
{% include base.html %}
# Persistence
## Compatible 1.x Persistence Services
{% assign addons = site.data.oh1addons %}
{% assign infos = site.data.oh1addons_infos %}
| Add-on | Description |
|--------|-------------|
{% for addon in addons %}{% if addon.category == "persistence" %}{% assign description = "" %}{% assign wiki_url = "" %}{% for info in infos %}{% if info.label == addon.label %}{% assign description = info.description %}{% assign wiki_url = info.wiki_url %}{% endif %}{% endfor %}| {% if wiki_url != "" %}[{{ addon.label }}]({{ wiki_url }}){% else %}{{ addon.label }}{% endif %} | {{ description }} |
{% endif %}{% endfor %}

10
addons/transformations.md Normal file
View File

@ -0,0 +1,10 @@
---
layout: documentation
title: Transformations
---
{% include base.html %}
# Transformations
{% include contribution-wanted.html %}

View File

@ -4,24 +4,16 @@ layout: documentation
{% include base.html %}
# List of UI Features
# UI Features
## User Interfaces
| UI | Description |
|-------|----------------------|
| [Basic UI]({{docu}}/addons/uis/basic/readme.html) | The Basic UI is an HTML5 web application in Material Design, designed for operating openHAB. |
| [Classic UI]({{docu}}/addons/uis/classic/readme.html) | The Classic UI is the original openHAB 1.x webui, designed for operating openHAB. |
| User Interface | Description |
|----------------|---------------|
| [Paper UI]({{docu}}/addons/uis/paper/readme.html) | The Paper UI is an AngularJS-based HTML5 web application in Material Design, designed for setup and administration purposes. |
| [HABmin]({{docu}}/addons/uis/habmin/readme.html) | HABmin is a modern, professional and portable user interface for openHAB, providing both user and administrative functions. |
| [Basic UI]({{docu}}/addons/uis/basic/readme.html) | The Basic UI is an HTML5 web application in Material Design, designed for operating openHAB. |
| [HABPanel]({{docu}}/addons/uis/habpanel/readme.html) | HABPanel is a lightweight dashboard interface for openHAB. |
| [Classic UI]({{docu}}/addons/uis/classic/readme.html) | The Classic UI is the original openHAB 1.x webui, designed for operating openHAB. |
...
## Iconsets
| Iconset | Description |
|-------|----------------------|
| Iconset | Description |
|---------|----------------------|
| [Classic Icons]({{docu}}/addons/iconsets/classic/readme.html) | This is a modernized version of the original icon set of openHAB 1. |
...

View File

@ -4,7 +4,7 @@ layout: documentation
{% include base.html %}
# List of Available Voice Services
# Available Voice Services
{% assign voices = "" | split: "|" %}
{% for voice in site.data.voice %}{% assign voices = voices | push: voice %}{% endfor %}