• Stars
    star
    271
  • Rank 151,717 (Top 3 %)
  • Language
    Ruby
  • License
    Other
  • Created over 8 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

This repository contains the documentation for openHAB.

openHAB Documentation Project

Introduction

This repository contains the documentation for openHAB.x.

The result is available at https://openhab.org/docs/ and https://openhab.org/addons/.

How it works

In this repo you can find and improve all general documentation contents. In fact, that is all you can see in the main branch. There are other read-only branches, which hold external content like the add-ons and concepts documentation, which is explained in more details below.

So I cannot improve an add-on article here?

Correct, this is done in the original repository of the add-on. You may want to know how to find the right file in all of those repos? This is fairly easy: on most of the documentation pages on https://openhab.org/, you will find the following link at the bottom, which will point you directly to the file you want to improve.

Contribution link to a specific page

When your improvement has been made and merged, we will get the updated article automatically through our build mechanism. This happens mostly once a day. Afterwards your change is included in the next build of the openHAB website.

Contributing to the Documentation

The documentation is a community effort, so everyone is welcome to suggest changes, add new sections and fix bugs. This is done exactly the same way as for the code repositories, simply through pull requests against this repo. When editing a page through the "Edit this page on GitHub" link on the website, you will be given the opportunity to create a pull request directly from GitHub. Please read our contribution guidelines and try to follow them as best as you can before submitting a change for review - but don't worry if you don't understand all of them, we will help you to get it right.

So what are the other branches for?

We use them to bring together all relevant articles or to archive versioned content. Mostly those branches will get updated automatically through our continuous integration builds. You can read a bit more below about our external resources and how we get them.

Automatically Generated Parts

Those parts include all add-on documentation files, no matter if they are from the openhab-core repo, the openhab-addons repo or any special binding repo like habmin, zwave or the alexa skill.

We are keeping all those files at their original location, because it simply doesn't make sense to keep them here. Imagine you want to do an improvement of the zwave binding and have to update the readme file in a completely different place. That's twice the effort and also we would have to coordinate two Pull Requests. So we are saving time for everyone by keeping those files at their original location along with the code.

::: tip UNDER REVIEW

The process below is subject to changes until the openHAB.x website become the production one.

:::

How the documentation build works

We have set up our build server to do the magic automatically. There are several triggers (mostly time based), which will then gather the external contents and move them to our final branch. You can find this migrated external content in the final branch under:

  • _addons_*
  • concepts

You can even have a look at how this works in detail. The external content is updated by the following toolchain:

  • update-external-resources.sh β†’ pom.xml β†’ process_addons.groovy

Everything that gets updated in the master branch will be also merged over to the final branch automatically. Afterwards we will redeploy the website with the latest content from the final branch at regular intervals.

Build triggers investigated

There are two triggers available currently. The merge docs job is triggered after something has been added to the documentation through this repository. The gather external docs job is started with a successful build of the openhab-distribution. A successful distribution build will include all the latest changes that have been made to external sources like add-ons. So when a distribution build is successful, it will trigger the gathering of all external sources.

When one of these jobs is finished, it will then notify our website hosting service to start a new website build. This is recognized due to new commits in the final branch of this repository. The new build will include all the latest changes in the code repository and in all external repositories.

Documentation Versioning

Just as openHAB is released in versions, the documentation website provides fixed versions of the documentation articles, e.g., https://www.openhab.org/v2.2/installation/linux.html

Please see this issue for all details regarding the tagging and branching approach. In short, the following has to be considered:

  • Versions like "2.1.0" are marked by git tags.
  • Based on tags branches like "2.1-patch" are created, to include later discovered changes (like fixed links).

When a version is tagged (or updated), a static version of the website has to be generated and copied into the correct sub-folder, this is currently a manual operation described succinctly here: openhab/website#72

More Repositories

1

openhab1-addons

Add-ons for openHAB 1.x
Java
3,427
star
2

openhab-addons

Add-ons for openHAB
Java
1,873
star
3

openhab-distro

The binary distribution of openHAB
PowerShell
1,300
star
4

openhab-core

Core framework of openHAB
Java
914
star
5

openhabian

openHABian - empowering the smart home, for Raspberry Pi and Debian systems
Shell
821
star
6

openhab-android

openHAB client for Android
Kotlin
599
star
7

openhab-cloud

Cloud companion for openHAB instances
JavaScript
314
star
8

org.openhab.ui.habmin

HABmin - a graphical user interface for openHAB 2
JavaScript
231
star
9

openhab-webui

Web UIs of openHAB
Vue
218
star
10

openhab-docker

Repository for building Docker containers for openHAB
Shell
210
star
11

openhab-ios

The repository of the iOS client
Swift
190
star
12

openhab-google-assistant

openHAB Google Assistant: Actions on Google for openHAB
JavaScript
175
star
13

org.openhab.binding.zwave

openHAB binding for Z-Wave
Java
171
star
14

openhab-syno-spk

openHAB Synology SPK Install Package
Shell
161
star
15

openhab-vscode

VS Code extension for openHAB configuration files
TypeScript
159
star
16

openhab-alexa

openHAB skill for Amazon Alexa
JavaScript
152
star
17

org.openhab.ui.habpanel

OUTDATED repo - HABPanel has moved to the openhab-webui repo!
HTML
97
star
18

openhab-windows

Universal Windows App for openHAB
C#
89
star
19

openhab-qnap-qpkg

openHAB Packages for QNAP NAS systems
Shell
77
star
20

org.openhab.binding.zigbee

openHAB binding for ZigBee
Java
73
star
21

org.openhab.ui.habot

A chatbot for openHAB using machine-learning natural language processing from OpenNLP
Java
65
star
22

openhab-js

openHAB JavaScript Library for JavaScript Scripting Automation
JavaScript
38
star
23

static-code-analysis

Maven tooling for static code analysis
Java
32
star
24

openhab-mycroft

Mycroft skill for openHAB
Python
21
star
25

website

This repository contains the final artifacts from which the project website is served.
Vue
21
star
26

openhab-snap

Packaging of openHAB for Ubuntu Core
Shell
18
star
27

jamod

A fork of Java Modbus Library (jamod) - http://jamod.sourceforge.net/
Java
18
star
28

openhab-linuxpkg

Repo for Linux packages
Shell
18
star
29

openhab-pebble

Pebble client for openHAB
JavaScript
11
star
30

openhab2-addons

This is an archive of the full history of the openhab2-addons repo.
Java
10
star
31

org.openhab.binding.bacnet

openHAB 1.x binding for BACnet
Java
8
star
32

openhab-jruby

A Helper Library for Writing openHAB Automations in Ruby
Ruby
5
star
33

openhab-bundles

5
star
34

openhab-deps-repo

openHAB p2 repository
Shell
4
star
35

openhab.ios.old

This repo contains the code of the now outdated first iOS openHAB client
4
star
36

infrastructure

This repository contains scripts and artifacts that address the overall build infrastructure of openHAB
Groovy
3
star
37

openhab-osgiify

OSGi-ified versions of openHAB dependencies
3
star
38

quercus-osgi

1
star