diff --git a/Markdown Syntax compilation test for Jekyll.md b/Markdown Syntax compilation test for Jekyll.md deleted file mode 100644 index 7fd569a..0000000 --- a/Markdown Syntax compilation test for Jekyll.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -layout: tutorial-beginner ---- - -{% include base.html %} - ---- -Markdown Syntax compilation test for Jekyll ---- - -Markdown syntax examples start from here: - ---- -General header ---- - - -Github specific syntax -``` -Fenced Code -``` - -```bash -Fenced code bash highlighting - -``` - -~~Strikethrogh~~ - -- [ ] Tasklist -- [ ] Tasklist - - -# Header 1 -## Header 2 -### Header 3 -#### Header 4 -##### Header 5 -###### Header 6 - -**Strong-Bold** - -*Emphasize* - -`inline code` - -![image](https://community.openhab.org/uploads/default/original/1X/ada4f9ed6657f88f1e3e8e99f44343666f6ccc17.png) - -[link](https://community.openhab.org/) - -> Blockquote ->> Blockquote ->>> Blockquote - -1. Ordered List -2. Ordered List - -- Unordered List -- Unordered List - -Page Break before -* * * -Page Break after - -Section Break before -- - - -Section Break before - -Sentence Break before -_ _ _ -Sentence Break before - - - - -| column | column | column | -|:---|:---:|---:| -| | | -|left |centered |right| -| - | - | - | - - - - - -|text|picture| -|---|---| -|blabla|![image](https://community.openhab.org/uploads/default/original/1X/ada4f9ed6657f88f1e3e8e99f44343666f6ccc17.png)| - - diff --git a/temp/test-Dateien/colorschememapping.xml b/temp/test-Dateien/colorschememapping.xml deleted file mode 100644 index 6a0069c..0000000 --- a/temp/test-Dateien/colorschememapping.xml +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/temp/test-Dateien/filelist.xml b/temp/test-Dateien/filelist.xml deleted file mode 100644 index 790931d..0000000 --- a/temp/test-Dateien/filelist.xml +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/temp/test-Dateien/header.htm b/temp/test-Dateien/header.htm deleted file mode 100644 index 9b02c7c..0000000 --- a/temp/test-Dateien/header.htm +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - -
- -

- -


- -

- -
- -
- -

- -


- -

- -
- -
- -

- -


- -

- -
- -
- -

- -


- -

- -
- - - - diff --git a/temp/test-Dateien/image001.jpg b/temp/test-Dateien/image001.jpg deleted file mode 100644 index 91d51cd..0000000 Binary files a/temp/test-Dateien/image001.jpg and /dev/null differ diff --git a/temp/test-Dateien/image002.jpg b/temp/test-Dateien/image002.jpg deleted file mode 100644 index 47f0b81..0000000 Binary files a/temp/test-Dateien/image002.jpg and /dev/null differ diff --git a/temp/test-Dateien/image003.jpg b/temp/test-Dateien/image003.jpg deleted file mode 100644 index d36a63f..0000000 Binary files a/temp/test-Dateien/image003.jpg and /dev/null differ diff --git a/temp/test-Dateien/image004.jpg b/temp/test-Dateien/image004.jpg deleted file mode 100644 index 1262caf..0000000 Binary files a/temp/test-Dateien/image004.jpg and /dev/null differ diff --git a/temp/test-Dateien/image005.jpg b/temp/test-Dateien/image005.jpg deleted file mode 100644 index 442fa4b..0000000 Binary files a/temp/test-Dateien/image005.jpg and /dev/null differ diff --git a/temp/test-Dateien/image006.jpg b/temp/test-Dateien/image006.jpg deleted file mode 100644 index d9660d6..0000000 Binary files a/temp/test-Dateien/image006.jpg and /dev/null differ diff --git a/temp/test-Dateien/image007.jpg b/temp/test-Dateien/image007.jpg deleted file mode 100644 index 80fbcfa..0000000 Binary files a/temp/test-Dateien/image007.jpg and /dev/null differ diff --git a/temp/test-Dateien/image008.jpg b/temp/test-Dateien/image008.jpg deleted file mode 100644 index 49a037c..0000000 Binary files a/temp/test-Dateien/image008.jpg and /dev/null differ diff --git a/temp/test-Dateien/image009.png b/temp/test-Dateien/image009.png deleted file mode 100644 index 5d231ff..0000000 Binary files a/temp/test-Dateien/image009.png and /dev/null differ diff --git a/temp/test-Dateien/image010.png b/temp/test-Dateien/image010.png deleted file mode 100644 index 0444cc0..0000000 Binary files a/temp/test-Dateien/image010.png and /dev/null differ diff --git a/temp/test-Dateien/image011.png b/temp/test-Dateien/image011.png deleted file mode 100644 index 5d8efbb..0000000 Binary files a/temp/test-Dateien/image011.png and /dev/null differ diff --git a/temp/test-Dateien/image012.png b/temp/test-Dateien/image012.png deleted file mode 100644 index 7c48afe..0000000 Binary files a/temp/test-Dateien/image012.png and /dev/null differ diff --git a/temp/test-Dateien/image013.jpg b/temp/test-Dateien/image013.jpg deleted file mode 100644 index 7f82c62..0000000 Binary files a/temp/test-Dateien/image013.jpg and /dev/null differ diff --git a/temp/test-Dateien/image014.jpg b/temp/test-Dateien/image014.jpg deleted file mode 100644 index f5d4e43..0000000 Binary files a/temp/test-Dateien/image014.jpg and /dev/null differ diff --git a/temp/test-Dateien/image015.jpg b/temp/test-Dateien/image015.jpg deleted file mode 100644 index 7a5f803..0000000 Binary files a/temp/test-Dateien/image015.jpg and /dev/null differ diff --git a/temp/test-Dateien/image016.jpg b/temp/test-Dateien/image016.jpg deleted file mode 100644 index 964aa2c..0000000 Binary files a/temp/test-Dateien/image016.jpg and /dev/null differ diff --git a/temp/test-Dateien/image017.jpg b/temp/test-Dateien/image017.jpg deleted file mode 100644 index 00add82..0000000 Binary files a/temp/test-Dateien/image017.jpg and /dev/null differ diff --git a/temp/test-Dateien/image018.jpg b/temp/test-Dateien/image018.jpg deleted file mode 100644 index eca91cb..0000000 Binary files a/temp/test-Dateien/image018.jpg and /dev/null differ diff --git a/temp/test-Dateien/image019.jpg b/temp/test-Dateien/image019.jpg deleted file mode 100644 index ad4ac2a..0000000 Binary files a/temp/test-Dateien/image019.jpg and /dev/null differ diff --git a/temp/test-Dateien/image020.jpg b/temp/test-Dateien/image020.jpg deleted file mode 100644 index 8b64b91..0000000 Binary files a/temp/test-Dateien/image020.jpg and /dev/null differ diff --git a/temp/test-Dateien/image021.jpg b/temp/test-Dateien/image021.jpg deleted file mode 100644 index 907c6bf..0000000 Binary files a/temp/test-Dateien/image021.jpg and /dev/null differ diff --git a/temp/test-Dateien/image022.jpg b/temp/test-Dateien/image022.jpg deleted file mode 100644 index 9465ae8..0000000 Binary files a/temp/test-Dateien/image022.jpg and /dev/null differ diff --git a/temp/test-Dateien/image023.jpg b/temp/test-Dateien/image023.jpg deleted file mode 100644 index cbb4bf4..0000000 Binary files a/temp/test-Dateien/image023.jpg and /dev/null differ diff --git a/temp/test-Dateien/image024.jpg b/temp/test-Dateien/image024.jpg deleted file mode 100644 index a8191ce..0000000 Binary files a/temp/test-Dateien/image024.jpg and /dev/null differ diff --git a/temp/test-Dateien/image025.jpg b/temp/test-Dateien/image025.jpg deleted file mode 100644 index 6bd754a..0000000 Binary files a/temp/test-Dateien/image025.jpg and /dev/null differ diff --git a/temp/test-Dateien/image026.jpg b/temp/test-Dateien/image026.jpg deleted file mode 100644 index 6707ba3..0000000 Binary files a/temp/test-Dateien/image026.jpg and /dev/null differ diff --git a/temp/test-Dateien/image027.jpg b/temp/test-Dateien/image027.jpg deleted file mode 100644 index 3bea53b..0000000 Binary files a/temp/test-Dateien/image027.jpg and /dev/null differ diff --git a/temp/test-Dateien/image028.png b/temp/test-Dateien/image028.png deleted file mode 100644 index 9fc48a7..0000000 Binary files a/temp/test-Dateien/image028.png and /dev/null differ diff --git a/temp/test-Dateien/image029.png b/temp/test-Dateien/image029.png deleted file mode 100644 index 5389dfd..0000000 Binary files a/temp/test-Dateien/image029.png and /dev/null differ diff --git a/temp/test-Dateien/image030.jpg b/temp/test-Dateien/image030.jpg deleted file mode 100644 index 72a9af5..0000000 Binary files a/temp/test-Dateien/image030.jpg and /dev/null differ diff --git a/temp/test-Dateien/image031.png b/temp/test-Dateien/image031.png deleted file mode 100644 index c9126c1..0000000 Binary files a/temp/test-Dateien/image031.png and /dev/null differ diff --git a/temp/test-Dateien/image032.png b/temp/test-Dateien/image032.png deleted file mode 100644 index 758469d..0000000 Binary files a/temp/test-Dateien/image032.png and /dev/null differ diff --git a/temp/test-Dateien/image033.png b/temp/test-Dateien/image033.png deleted file mode 100644 index ee2dfb4..0000000 Binary files a/temp/test-Dateien/image033.png and /dev/null differ diff --git a/temp/test-Dateien/image034.png b/temp/test-Dateien/image034.png deleted file mode 100644 index e5f6447..0000000 Binary files a/temp/test-Dateien/image034.png and /dev/null differ diff --git a/temp/test-Dateien/image035.jpg b/temp/test-Dateien/image035.jpg deleted file mode 100644 index 73efabf..0000000 Binary files a/temp/test-Dateien/image035.jpg and /dev/null differ diff --git a/temp/test-Dateien/image036.jpg b/temp/test-Dateien/image036.jpg deleted file mode 100644 index f84b95a..0000000 Binary files a/temp/test-Dateien/image036.jpg and /dev/null differ diff --git a/temp/test-Dateien/image037.jpg b/temp/test-Dateien/image037.jpg deleted file mode 100644 index bed6c58..0000000 Binary files a/temp/test-Dateien/image037.jpg and /dev/null differ diff --git a/temp/test-Dateien/image038.jpg b/temp/test-Dateien/image038.jpg deleted file mode 100644 index bb41db3..0000000 Binary files a/temp/test-Dateien/image038.jpg and /dev/null differ diff --git a/temp/test-Dateien/image039.jpg b/temp/test-Dateien/image039.jpg deleted file mode 100644 index 2553bbf..0000000 Binary files a/temp/test-Dateien/image039.jpg and /dev/null differ diff --git a/temp/test-Dateien/image040.jpg b/temp/test-Dateien/image040.jpg deleted file mode 100644 index ff52f44..0000000 Binary files a/temp/test-Dateien/image040.jpg and /dev/null differ diff --git a/temp/test-Dateien/image041.jpg b/temp/test-Dateien/image041.jpg deleted file mode 100644 index 8e64e4e..0000000 Binary files a/temp/test-Dateien/image041.jpg and /dev/null differ diff --git a/temp/test-Dateien/image042.jpg b/temp/test-Dateien/image042.jpg deleted file mode 100644 index a556232..0000000 Binary files a/temp/test-Dateien/image042.jpg and /dev/null differ diff --git a/temp/test-Dateien/image043.png b/temp/test-Dateien/image043.png deleted file mode 100644 index b75fd45..0000000 Binary files a/temp/test-Dateien/image043.png and /dev/null differ diff --git a/temp/test-Dateien/image044.png b/temp/test-Dateien/image044.png deleted file mode 100644 index 5156aa1..0000000 Binary files a/temp/test-Dateien/image044.png and /dev/null differ diff --git a/temp/test-Dateien/image045.jpg b/temp/test-Dateien/image045.jpg deleted file mode 100644 index fd47783..0000000 Binary files a/temp/test-Dateien/image045.jpg and /dev/null differ diff --git a/temp/test-Dateien/image046.jpg b/temp/test-Dateien/image046.jpg deleted file mode 100644 index 3ed6da3..0000000 Binary files a/temp/test-Dateien/image046.jpg and /dev/null differ diff --git a/temp/test-Dateien/image047.png b/temp/test-Dateien/image047.png deleted file mode 100644 index 6d85f08..0000000 Binary files a/temp/test-Dateien/image047.png and /dev/null differ diff --git a/temp/test-Dateien/image048.jpg b/temp/test-Dateien/image048.jpg deleted file mode 100644 index 546a7bf..0000000 Binary files a/temp/test-Dateien/image048.jpg and /dev/null differ diff --git a/temp/test-Dateien/image049.png b/temp/test-Dateien/image049.png deleted file mode 100644 index 67c4685..0000000 Binary files a/temp/test-Dateien/image049.png and /dev/null differ diff --git a/temp/test-Dateien/image050.jpg b/temp/test-Dateien/image050.jpg deleted file mode 100644 index 070d56e..0000000 Binary files a/temp/test-Dateien/image050.jpg and /dev/null differ diff --git a/temp/test-Dateien/image051.jpg b/temp/test-Dateien/image051.jpg deleted file mode 100644 index 2c618ee..0000000 Binary files a/temp/test-Dateien/image051.jpg and /dev/null differ diff --git a/temp/test-Dateien/image052.png b/temp/test-Dateien/image052.png deleted file mode 100644 index d73a9a9..0000000 Binary files a/temp/test-Dateien/image052.png and /dev/null differ diff --git a/temp/test-Dateien/image053.jpg b/temp/test-Dateien/image053.jpg deleted file mode 100644 index 9a755b9..0000000 Binary files a/temp/test-Dateien/image053.jpg and /dev/null differ diff --git a/temp/test-Dateien/image054.png b/temp/test-Dateien/image054.png deleted file mode 100644 index ca091b8..0000000 Binary files a/temp/test-Dateien/image054.png and /dev/null differ diff --git a/temp/test-Dateien/image055.png b/temp/test-Dateien/image055.png deleted file mode 100644 index 7051090..0000000 Binary files a/temp/test-Dateien/image055.png and /dev/null differ diff --git a/temp/test-Dateien/image056.jpg b/temp/test-Dateien/image056.jpg deleted file mode 100644 index 4621147..0000000 Binary files a/temp/test-Dateien/image056.jpg and /dev/null differ diff --git a/temp/test-Dateien/image057.png b/temp/test-Dateien/image057.png deleted file mode 100644 index 1bb800e..0000000 Binary files a/temp/test-Dateien/image057.png and /dev/null differ diff --git a/temp/test-Dateien/image058.png b/temp/test-Dateien/image058.png deleted file mode 100644 index 3b434ea..0000000 Binary files a/temp/test-Dateien/image058.png and /dev/null differ diff --git a/temp/test-Dateien/image059.png b/temp/test-Dateien/image059.png deleted file mode 100644 index 4d3e8fb..0000000 Binary files a/temp/test-Dateien/image059.png and /dev/null differ diff --git a/temp/test-Dateien/image060.jpg b/temp/test-Dateien/image060.jpg deleted file mode 100644 index fb359a8..0000000 Binary files a/temp/test-Dateien/image060.jpg and /dev/null differ diff --git a/temp/test-Dateien/image061.png b/temp/test-Dateien/image061.png deleted file mode 100644 index 5574fe5..0000000 Binary files a/temp/test-Dateien/image061.png and /dev/null differ diff --git a/temp/test-Dateien/image062.png b/temp/test-Dateien/image062.png deleted file mode 100644 index 03291cf..0000000 Binary files a/temp/test-Dateien/image062.png and /dev/null differ diff --git a/temp/test-Dateien/image063.png b/temp/test-Dateien/image063.png deleted file mode 100644 index f01e331..0000000 Binary files a/temp/test-Dateien/image063.png and /dev/null differ diff --git a/temp/test-Dateien/image064.png b/temp/test-Dateien/image064.png deleted file mode 100644 index 46d4adf..0000000 Binary files a/temp/test-Dateien/image064.png and /dev/null differ diff --git a/temp/test-Dateien/image065.png b/temp/test-Dateien/image065.png deleted file mode 100644 index 2b2f683..0000000 Binary files a/temp/test-Dateien/image065.png and /dev/null differ diff --git a/temp/test-Dateien/image066.png b/temp/test-Dateien/image066.png deleted file mode 100644 index 919d231..0000000 Binary files a/temp/test-Dateien/image066.png and /dev/null differ diff --git a/temp/test-Dateien/image067.png b/temp/test-Dateien/image067.png deleted file mode 100644 index a8dfc18..0000000 Binary files a/temp/test-Dateien/image067.png and /dev/null differ diff --git a/temp/test-Dateien/image068.png b/temp/test-Dateien/image068.png deleted file mode 100644 index de1baa9..0000000 Binary files a/temp/test-Dateien/image068.png and /dev/null differ diff --git a/temp/test-Dateien/image069.png b/temp/test-Dateien/image069.png deleted file mode 100644 index ebb7634..0000000 Binary files a/temp/test-Dateien/image069.png and /dev/null differ diff --git a/temp/test-Dateien/image070.png b/temp/test-Dateien/image070.png deleted file mode 100644 index 19c78cd..0000000 Binary files a/temp/test-Dateien/image070.png and /dev/null differ diff --git a/temp/test-Dateien/image071.png b/temp/test-Dateien/image071.png deleted file mode 100644 index b6d13e0..0000000 Binary files a/temp/test-Dateien/image071.png and /dev/null differ diff --git a/temp/test-Dateien/image072.png b/temp/test-Dateien/image072.png deleted file mode 100644 index 977a7a1..0000000 Binary files a/temp/test-Dateien/image072.png and /dev/null differ diff --git a/temp/test-Dateien/image073.png b/temp/test-Dateien/image073.png deleted file mode 100644 index 9cf85a6..0000000 Binary files a/temp/test-Dateien/image073.png and /dev/null differ diff --git a/temp/test-Dateien/image074.png b/temp/test-Dateien/image074.png deleted file mode 100644 index 86c735e..0000000 Binary files a/temp/test-Dateien/image074.png and /dev/null differ diff --git a/temp/test-Dateien/image075.png b/temp/test-Dateien/image075.png deleted file mode 100644 index 423a10d..0000000 Binary files a/temp/test-Dateien/image075.png and /dev/null differ diff --git a/temp/test-Dateien/image076.png b/temp/test-Dateien/image076.png deleted file mode 100644 index d60928a..0000000 Binary files a/temp/test-Dateien/image076.png and /dev/null differ diff --git a/temp/test-Dateien/image077.png b/temp/test-Dateien/image077.png deleted file mode 100644 index c48d15f..0000000 Binary files a/temp/test-Dateien/image077.png and /dev/null differ diff --git a/temp/test-Dateien/image078.png b/temp/test-Dateien/image078.png deleted file mode 100644 index 622b9e8..0000000 Binary files a/temp/test-Dateien/image078.png and /dev/null differ diff --git a/temp/test-Dateien/image079.png b/temp/test-Dateien/image079.png deleted file mode 100644 index 5089569..0000000 Binary files a/temp/test-Dateien/image079.png and /dev/null differ diff --git a/temp/test-Dateien/image080.png b/temp/test-Dateien/image080.png deleted file mode 100644 index 9c7187b..0000000 Binary files a/temp/test-Dateien/image080.png and /dev/null differ diff --git a/temp/test-Dateien/image081.png b/temp/test-Dateien/image081.png deleted file mode 100644 index 8f62237..0000000 Binary files a/temp/test-Dateien/image081.png and /dev/null differ diff --git a/temp/test-Dateien/image082.png b/temp/test-Dateien/image082.png deleted file mode 100644 index cd852d3..0000000 Binary files a/temp/test-Dateien/image082.png and /dev/null differ diff --git a/temp/test-Dateien/image083.png b/temp/test-Dateien/image083.png deleted file mode 100644 index 6b8c931..0000000 Binary files a/temp/test-Dateien/image083.png and /dev/null differ diff --git a/temp/test-Dateien/image084.png b/temp/test-Dateien/image084.png deleted file mode 100644 index 714b9a2..0000000 Binary files a/temp/test-Dateien/image084.png and /dev/null differ diff --git a/temp/test-Dateien/image085.png b/temp/test-Dateien/image085.png deleted file mode 100644 index 6cabbd8..0000000 Binary files a/temp/test-Dateien/image085.png and /dev/null differ diff --git a/temp/test-Dateien/image086.png b/temp/test-Dateien/image086.png deleted file mode 100644 index e2d9f6a..0000000 Binary files a/temp/test-Dateien/image086.png and /dev/null differ diff --git a/temp/test-Dateien/image087.png b/temp/test-Dateien/image087.png deleted file mode 100644 index b498378..0000000 Binary files a/temp/test-Dateien/image087.png and /dev/null differ diff --git a/temp/test-Dateien/image088.png b/temp/test-Dateien/image088.png deleted file mode 100644 index 9497330..0000000 Binary files a/temp/test-Dateien/image088.png and /dev/null differ diff --git a/temp/test-Dateien/image089.png b/temp/test-Dateien/image089.png deleted file mode 100644 index 9009cf9..0000000 Binary files a/temp/test-Dateien/image089.png and /dev/null differ diff --git a/temp/test-Dateien/image090.png b/temp/test-Dateien/image090.png deleted file mode 100644 index 86cb9d8..0000000 Binary files a/temp/test-Dateien/image090.png and /dev/null differ diff --git a/temp/test-Dateien/image091.png b/temp/test-Dateien/image091.png deleted file mode 100644 index a6b7b35..0000000 Binary files a/temp/test-Dateien/image091.png and /dev/null differ diff --git a/temp/test-Dateien/image092.png b/temp/test-Dateien/image092.png deleted file mode 100644 index 9cb73e0..0000000 Binary files a/temp/test-Dateien/image092.png and /dev/null differ diff --git a/temp/test-Dateien/image093.png b/temp/test-Dateien/image093.png deleted file mode 100644 index 5fb8f37..0000000 Binary files a/temp/test-Dateien/image093.png and /dev/null differ diff --git a/temp/test-Dateien/image094.png b/temp/test-Dateien/image094.png deleted file mode 100644 index 1f153b8..0000000 Binary files a/temp/test-Dateien/image094.png and /dev/null differ diff --git a/temp/test-Dateien/image095.png b/temp/test-Dateien/image095.png deleted file mode 100644 index 2234169..0000000 Binary files a/temp/test-Dateien/image095.png and /dev/null differ diff --git a/temp/test-Dateien/image096.png b/temp/test-Dateien/image096.png deleted file mode 100644 index a2f2d35..0000000 Binary files a/temp/test-Dateien/image096.png and /dev/null differ diff --git a/temp/test-Dateien/image097.png b/temp/test-Dateien/image097.png deleted file mode 100644 index 8c9af64..0000000 Binary files a/temp/test-Dateien/image097.png and /dev/null differ diff --git a/temp/test-Dateien/image098.png b/temp/test-Dateien/image098.png deleted file mode 100644 index 929a830..0000000 Binary files a/temp/test-Dateien/image098.png and /dev/null differ diff --git a/temp/test-Dateien/image099.png b/temp/test-Dateien/image099.png deleted file mode 100644 index 859ba7c..0000000 Binary files a/temp/test-Dateien/image099.png and /dev/null differ diff --git a/temp/test-Dateien/image100.png b/temp/test-Dateien/image100.png deleted file mode 100644 index 9e4f851..0000000 Binary files a/temp/test-Dateien/image100.png and /dev/null differ diff --git a/temp/test-Dateien/image101.png b/temp/test-Dateien/image101.png deleted file mode 100644 index 56324a7..0000000 Binary files a/temp/test-Dateien/image101.png and /dev/null differ diff --git a/temp/test-Dateien/image102.png b/temp/test-Dateien/image102.png deleted file mode 100644 index a23e8d8..0000000 Binary files a/temp/test-Dateien/image102.png and /dev/null differ diff --git a/temp/test-Dateien/image103.png b/temp/test-Dateien/image103.png deleted file mode 100644 index a43e134..0000000 Binary files a/temp/test-Dateien/image103.png and /dev/null differ diff --git a/temp/test-Dateien/image104.png b/temp/test-Dateien/image104.png deleted file mode 100644 index e49f9b5..0000000 Binary files a/temp/test-Dateien/image104.png and /dev/null differ diff --git a/temp/test-Dateien/image105.png b/temp/test-Dateien/image105.png deleted file mode 100644 index b5e9e56..0000000 Binary files a/temp/test-Dateien/image105.png and /dev/null differ diff --git a/temp/test-Dateien/image106.png b/temp/test-Dateien/image106.png deleted file mode 100644 index 7beff93..0000000 Binary files a/temp/test-Dateien/image106.png and /dev/null differ diff --git a/temp/test-Dateien/image107.png b/temp/test-Dateien/image107.png deleted file mode 100644 index e63963b..0000000 Binary files a/temp/test-Dateien/image107.png and /dev/null differ diff --git a/temp/test-Dateien/image108.png b/temp/test-Dateien/image108.png deleted file mode 100644 index 01ec7fe..0000000 Binary files a/temp/test-Dateien/image108.png and /dev/null differ diff --git a/temp/test-Dateien/image109.png b/temp/test-Dateien/image109.png deleted file mode 100644 index 0503c94..0000000 Binary files a/temp/test-Dateien/image109.png and /dev/null differ diff --git a/temp/test-Dateien/image110.png b/temp/test-Dateien/image110.png deleted file mode 100644 index 6ec7382..0000000 Binary files a/temp/test-Dateien/image110.png and /dev/null differ diff --git a/temp/test-Dateien/image111.png b/temp/test-Dateien/image111.png deleted file mode 100644 index cf775a2..0000000 Binary files a/temp/test-Dateien/image111.png and /dev/null differ diff --git a/temp/test-Dateien/image112.png b/temp/test-Dateien/image112.png deleted file mode 100644 index 46ff96d..0000000 Binary files a/temp/test-Dateien/image112.png and /dev/null differ diff --git a/temp/test-Dateien/image113.png b/temp/test-Dateien/image113.png deleted file mode 100644 index a51eae0..0000000 Binary files a/temp/test-Dateien/image113.png and /dev/null differ diff --git a/temp/test-Dateien/image114.png b/temp/test-Dateien/image114.png deleted file mode 100644 index de78e41..0000000 Binary files a/temp/test-Dateien/image114.png and /dev/null differ diff --git a/temp/test-Dateien/image115.png b/temp/test-Dateien/image115.png deleted file mode 100644 index 66c5f43..0000000 Binary files a/temp/test-Dateien/image115.png and /dev/null differ diff --git a/temp/test-Dateien/image116.png b/temp/test-Dateien/image116.png deleted file mode 100644 index 46280b4..0000000 Binary files a/temp/test-Dateien/image116.png and /dev/null differ diff --git a/temp/test-Dateien/image117.png b/temp/test-Dateien/image117.png deleted file mode 100644 index a905f36..0000000 Binary files a/temp/test-Dateien/image117.png and /dev/null differ diff --git a/temp/test-Dateien/image118.png b/temp/test-Dateien/image118.png deleted file mode 100644 index 3dc4741..0000000 Binary files a/temp/test-Dateien/image118.png and /dev/null differ diff --git a/temp/test-Dateien/image119.png b/temp/test-Dateien/image119.png deleted file mode 100644 index 2344f3f..0000000 Binary files a/temp/test-Dateien/image119.png and /dev/null differ diff --git a/temp/test-Dateien/image120.png b/temp/test-Dateien/image120.png deleted file mode 100644 index 116932b..0000000 Binary files a/temp/test-Dateien/image120.png and /dev/null differ diff --git a/temp/test-Dateien/image121.png b/temp/test-Dateien/image121.png deleted file mode 100644 index 2d0b175..0000000 Binary files a/temp/test-Dateien/image121.png and /dev/null differ diff --git a/temp/test-Dateien/image122.png b/temp/test-Dateien/image122.png deleted file mode 100644 index bfcce3f..0000000 Binary files a/temp/test-Dateien/image122.png and /dev/null differ diff --git a/temp/test-Dateien/image123.png b/temp/test-Dateien/image123.png deleted file mode 100644 index 9c08568..0000000 Binary files a/temp/test-Dateien/image123.png and /dev/null differ diff --git a/temp/test-Dateien/image124.png b/temp/test-Dateien/image124.png deleted file mode 100644 index 6b6dca1..0000000 Binary files a/temp/test-Dateien/image124.png and /dev/null differ diff --git a/temp/test-Dateien/image125.png b/temp/test-Dateien/image125.png deleted file mode 100644 index 9bdf77b..0000000 Binary files a/temp/test-Dateien/image125.png and /dev/null differ diff --git a/temp/test-Dateien/image126.png b/temp/test-Dateien/image126.png deleted file mode 100644 index 7db1e69..0000000 Binary files a/temp/test-Dateien/image126.png and /dev/null differ diff --git a/temp/test-Dateien/image127.png b/temp/test-Dateien/image127.png deleted file mode 100644 index 53d51f7..0000000 Binary files a/temp/test-Dateien/image127.png and /dev/null differ diff --git a/temp/test-Dateien/image128.png b/temp/test-Dateien/image128.png deleted file mode 100644 index 2d2dc9f..0000000 Binary files a/temp/test-Dateien/image128.png and /dev/null differ diff --git a/temp/test-Dateien/image129.png b/temp/test-Dateien/image129.png deleted file mode 100644 index 1742bbc..0000000 Binary files a/temp/test-Dateien/image129.png and /dev/null differ diff --git a/temp/test-Dateien/image130.png b/temp/test-Dateien/image130.png deleted file mode 100644 index 7662a28..0000000 Binary files a/temp/test-Dateien/image130.png and /dev/null differ diff --git a/temp/test-Dateien/image131.png b/temp/test-Dateien/image131.png deleted file mode 100644 index 4869710..0000000 Binary files a/temp/test-Dateien/image131.png and /dev/null differ diff --git a/temp/test-Dateien/image132.png b/temp/test-Dateien/image132.png deleted file mode 100644 index b693114..0000000 Binary files a/temp/test-Dateien/image132.png and /dev/null differ diff --git a/temp/test-Dateien/image133.png b/temp/test-Dateien/image133.png deleted file mode 100644 index 69fedf2..0000000 Binary files a/temp/test-Dateien/image133.png and /dev/null differ diff --git a/temp/test-Dateien/image134.png b/temp/test-Dateien/image134.png deleted file mode 100644 index c4e7f22..0000000 Binary files a/temp/test-Dateien/image134.png and /dev/null differ diff --git a/temp/test-Dateien/image135.png b/temp/test-Dateien/image135.png deleted file mode 100644 index 88a4dd9..0000000 Binary files a/temp/test-Dateien/image135.png and /dev/null differ diff --git a/temp/test-Dateien/image136.png b/temp/test-Dateien/image136.png deleted file mode 100644 index 2edad4f..0000000 Binary files a/temp/test-Dateien/image136.png and /dev/null differ diff --git a/temp/test-Dateien/image137.png b/temp/test-Dateien/image137.png deleted file mode 100644 index 43b792f..0000000 Binary files a/temp/test-Dateien/image137.png and /dev/null differ diff --git a/temp/test-Dateien/image138.png b/temp/test-Dateien/image138.png deleted file mode 100644 index e3d2650..0000000 Binary files a/temp/test-Dateien/image138.png and /dev/null differ diff --git a/temp/test-Dateien/image139.png b/temp/test-Dateien/image139.png deleted file mode 100644 index 113cd4c..0000000 Binary files a/temp/test-Dateien/image139.png and /dev/null differ diff --git a/temp/test-Dateien/image140.png b/temp/test-Dateien/image140.png deleted file mode 100644 index 8fb83c9..0000000 Binary files a/temp/test-Dateien/image140.png and /dev/null differ diff --git a/temp/test-Dateien/image141.png b/temp/test-Dateien/image141.png deleted file mode 100644 index 96af5ae..0000000 Binary files a/temp/test-Dateien/image141.png and /dev/null differ diff --git a/temp/test-Dateien/image142.png b/temp/test-Dateien/image142.png deleted file mode 100644 index a3ae566..0000000 Binary files a/temp/test-Dateien/image142.png and /dev/null differ diff --git a/temp/test-Dateien/image143.png b/temp/test-Dateien/image143.png deleted file mode 100644 index 0d95216..0000000 Binary files a/temp/test-Dateien/image143.png and /dev/null differ diff --git a/temp/test-Dateien/image144.png b/temp/test-Dateien/image144.png deleted file mode 100644 index aadb09a..0000000 Binary files a/temp/test-Dateien/image144.png and /dev/null differ diff --git a/temp/test-Dateien/image145.png b/temp/test-Dateien/image145.png deleted file mode 100644 index 2d5d91d..0000000 Binary files a/temp/test-Dateien/image145.png and /dev/null differ diff --git a/temp/test-Dateien/image146.png b/temp/test-Dateien/image146.png deleted file mode 100644 index ddd56aa..0000000 Binary files a/temp/test-Dateien/image146.png and /dev/null differ diff --git a/temp/test-Dateien/image147.png b/temp/test-Dateien/image147.png deleted file mode 100644 index 35a23ee..0000000 Binary files a/temp/test-Dateien/image147.png and /dev/null differ diff --git a/temp/test-Dateien/image148.png b/temp/test-Dateien/image148.png deleted file mode 100644 index 40692db..0000000 Binary files a/temp/test-Dateien/image148.png and /dev/null differ diff --git a/temp/test-Dateien/image149.png b/temp/test-Dateien/image149.png deleted file mode 100644 index 35c0504..0000000 Binary files a/temp/test-Dateien/image149.png and /dev/null differ diff --git a/temp/test-Dateien/image150.png b/temp/test-Dateien/image150.png deleted file mode 100644 index c0b964f..0000000 Binary files a/temp/test-Dateien/image150.png and /dev/null differ diff --git a/temp/test-Dateien/image151.png b/temp/test-Dateien/image151.png deleted file mode 100644 index ebafb4f..0000000 Binary files a/temp/test-Dateien/image151.png and /dev/null differ diff --git a/temp/test-Dateien/image152.png b/temp/test-Dateien/image152.png deleted file mode 100644 index 9303602..0000000 Binary files a/temp/test-Dateien/image152.png and /dev/null differ diff --git a/temp/test-Dateien/image153.png b/temp/test-Dateien/image153.png deleted file mode 100644 index 80a25cb..0000000 Binary files a/temp/test-Dateien/image153.png and /dev/null differ diff --git a/temp/test-Dateien/image154.png b/temp/test-Dateien/image154.png deleted file mode 100644 index 9229437..0000000 Binary files a/temp/test-Dateien/image154.png and /dev/null differ diff --git a/temp/test-Dateien/image155.png b/temp/test-Dateien/image155.png deleted file mode 100644 index c0bca5b..0000000 Binary files a/temp/test-Dateien/image155.png and /dev/null differ diff --git a/temp/test-Dateien/image156.png b/temp/test-Dateien/image156.png deleted file mode 100644 index d3a2210..0000000 Binary files a/temp/test-Dateien/image156.png and /dev/null differ diff --git a/temp/test-Dateien/image157.png b/temp/test-Dateien/image157.png deleted file mode 100644 index a654b03..0000000 Binary files a/temp/test-Dateien/image157.png and /dev/null differ diff --git a/temp/test-Dateien/image158.png b/temp/test-Dateien/image158.png deleted file mode 100644 index ae655d7..0000000 Binary files a/temp/test-Dateien/image158.png and /dev/null differ diff --git a/temp/test-Dateien/image159.png b/temp/test-Dateien/image159.png deleted file mode 100644 index 3a43e54..0000000 Binary files a/temp/test-Dateien/image159.png and /dev/null differ diff --git a/temp/test-Dateien/image160.png b/temp/test-Dateien/image160.png deleted file mode 100644 index bccfef9..0000000 Binary files a/temp/test-Dateien/image160.png and /dev/null differ diff --git a/temp/test-Dateien/image161.png b/temp/test-Dateien/image161.png deleted file mode 100644 index f2fb746..0000000 Binary files a/temp/test-Dateien/image161.png and /dev/null differ diff --git a/temp/test-Dateien/image162.png b/temp/test-Dateien/image162.png deleted file mode 100644 index dea4c83..0000000 Binary files a/temp/test-Dateien/image162.png and /dev/null differ diff --git a/temp/test-Dateien/image163.png b/temp/test-Dateien/image163.png deleted file mode 100644 index d2e759d..0000000 Binary files a/temp/test-Dateien/image163.png and /dev/null differ diff --git a/temp/test-Dateien/image164.png b/temp/test-Dateien/image164.png deleted file mode 100644 index f7c5820..0000000 Binary files a/temp/test-Dateien/image164.png and /dev/null differ diff --git a/temp/test-Dateien/image165.png b/temp/test-Dateien/image165.png deleted file mode 100644 index b132456..0000000 Binary files a/temp/test-Dateien/image165.png and /dev/null differ diff --git a/temp/test-Dateien/item0001.xml b/temp/test-Dateien/item0001.xml deleted file mode 100644 index 7afd858..0000000 --- a/temp/test-Dateien/item0001.xml +++ /dev/null @@ -1 +0,0 @@ - diff --git a/temp/test-Dateien/props002.xml b/temp/test-Dateien/props002.xml deleted file mode 100644 index 2baed6c..0000000 --- a/temp/test-Dateien/props002.xml +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/temp/test-Dateien/themedata.thmx b/temp/test-Dateien/themedata.thmx deleted file mode 100644 index f7418b3..0000000 Binary files a/temp/test-Dateien/themedata.thmx and /dev/null differ diff --git a/temp/test.md b/temp/test.md deleted file mode 100644 index ab8be20..0000000 --- a/temp/test.md +++ /dev/null @@ -1,17538 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -
- -
- -

openHAB2 Raspberry -beginner’s walkthrough – (Using Raspberry Pi 3 with openHAB2 and Z-Wave, WiFi -LED, Samsung TV and YahooWeather bindings for a home automation project)

- -
- - -

Contents

-

Version index. 5

-

Chapter 1: Before you start 6

-

Is openHAB2 the right choice for my home automation project?. 6

-

Introduction: 6

-

A few words about the 2 in openHAB2: 6

-

Chapter 2: Preparation. 7

-

Shopping list: 7

-

Minimal setup of the controller: 7

-

Additional hardware for optional setup of the controller - with 7” Raspberry display: 8

-

Z-Wave Controller 9

-

Z-Wave sensors, switches and actuators. 10

-

LAN devices (cable or WiFi) 11

-

Software list: 13

-

Windows Download list: 13

-

Raspberry downloads: 13

-

Chapter 3: Raspberry hardware and Raspbian OS installation. 14

-

General information about Raspberry interfaces and GPIO - pins: 14

-

Raspberry input Overview: 14

-

Raspberry GPIO pin Overview: 14

-

Preparing MicroSD card - writing Raspbian image to MicroSD - card (PC required): 15

-

Connecting the hardware to the Raspberry. 16

-

Basic hardware setup: 16

-

Optional: Installation of 7” Raspberry display and display - case: 17

-

Display installation pictures: 17

-

Chapter 4: Raspbian basic configuration. 21

-

Starting up Raspberry or the first time – Raspbian PIXEL - desktop. 21

-

Working with the Terminal: 22

-

Basic terminal commands and functions: 22

-

Initial configuration of Raspbian. 23

-

Localisation: 23

-

Optional: Change display orientation. 24

-

Changing Password: 25

-

Enabling interfaces: 26

-

Connect Raspberry to network: 27

-

Check the IP address of the Raspberry: 27

-

Update / Upgrade Raspbian: 27

-

Optional Raspberry settings and configuration: 28

-

Check partition size on MicroSD card: 28

-

Create a Desktop icon and link it to a application. 28

-

Enabling root user: 29

-

Enabling remote SSH access for root user: 29

-

Optional: Raspbian PIXEL screensaver (xscreensaver) 30

-

Installation of xscreensaver: 30

-

Configuration of xscreensaver: 30

-

Optional: Start Chromium Web server on Raspbian boot 31

-

Configure the autostart file: 31

-

Select the start URL for Chromium web browser: 31

-

Chapter 5: Setting up Raspbian for access via PC. 33

-

Connect to the Raspberry terminal your windows system using, - KiTTY or PuTTY: 33

-

Optional: Connect to the Raspberry file system from your - windows system using WinSCP: 35

-

Setup Samba server 36

-

Common samba server commands: 36

-

Optional: Generic samba user setup. 37

-

Optional: Mapping Raspbian samba directories to Windows (IOS - and Linux mapping process can be found online): 38

-

Chapter 6: Installation of openHAB2 on Raspberry. 39

-

Common openHAB2 service commands: 40

-

openHAB2 configuration for the samba server: 40

-

openHAB2 Privileges for Common Peripherals... 41

-

Adding openhab user to groupds dialout an tty. 41

-

Granting java environment access to serial ports. 41

-

Chapter 7: Installation of Eclipse Smart Home Designer 42

-

Installation guide for windows (Eclipse Smart Home Designer - and Java Runtime Environment): 42

-

Launching first time: 44

-

Chapter 8: Initializing openHAB2 (finally: first startup) 45

-

Chapter 10: General information about configuring openHAB2. 46

-

openHAB (no 2) vs. openHAB2. 46

-

Chapter 10: Configuring openHAB2 using PAPER UI 47

-

Installing Add-ons. 47

-

General process of adding new things to the configuration. 49

-

Adding local things connected via network (IP) 50

-

Adding Things using YamahaReceiver Binding: 50

-

Adding Things using Samsung TV Binding: 51

-

Adding Things using WiFi LED Binding: 52

-

Adding online things connected via network (IP) 53

-

Adding Things using YahooWeather Binding: 53

-

Adding things connected via Z-Wave controller 54

-

Adding Z-Wave controller 54

-

Adding Z-Wave things using HABmin UI 55

-

For details documentation on the Z-Wave Binding usage in HABmin - consult: 56

-

Creating items form things. 57

-

The concept of Things, Channels, Items and Links. 57

-

Creating the required items for my project 58

-

Now go on creating the items according to the list below.. 59

-

Chapter 11: Creating a dashboard for your home automation - project 60

-

BASIC UI dashboard. 60

-

PAPER UI dashboard. 61

-

HABPANEL UI dashboard. 63

-

HABMIN dashboard. 63

-

Chapter 12: Creating rules. 64

-

Creating the myfirstrule.rules file. 64

-

Creating a basic rules. 66

-

Basic rule example: 67

-

Basic tips for debugging rules. 70

-

Creating an item the see the value of a variable of a rule - online. 70

-

Creating a virtual switch on HABPANEL to use it in a rule. 72

-

Further Rule examples based on this home automation project: 74

-

Switching ON/OFF switches based on luminance reading of the - multisensory. 74

-

 

-

-
- -

 

- -

Version -index

- -

 

- - - - - - - - - - -
-

1st Draft

-
-

This is the initial - version of the document with any feedback of the community.

-

This version was - written with the focus on initial hardware and software setup which should - already have a good consistency.

-

The openHAB2 - configuration and real home automation part still needs some work done!

-

Anyway this part - will be the part where you have to apply individual changes and go to the - forum for further help since no home automation project is similar to - another.

-

You will find not - all the bindings utilized and not all the things added to the openHAB2 - configuration of the used testbed system since I am building the testbed - system again from scratch. So in some places you find pictures missing or - description not being completed.

-

I am also using a - parallel system (my current live home automation system) to check different - hardware configuration, especially when it comes to the displays or to Z-Wave - controllers.

-

 

-

Testbed system:

-

Raspberry Pi 3

-

MicroSD Sandisk - Ultra 32GB

-

Power supply goobay - 3,1A

-

USB Mouse basic logitech

-

USB Keyboard basic - Microsoft qwertz German layout

-

Display HDMI - connection to 24” computer display

-

Case no name incl. - ventilation

-

Z-Wave controller UZB - Z-Wave PLUS USB stick by Z-Wave.Me

-

 

-

Live home automation system:

-

Testbed system:

-

Raspberry Pi 3

-

MicroSD no name 16GB

-

Power supply no name - 3,1A incl. cable swith

-

Bluetooth Keyboard - Rapoo Bluetooth Keyboard qwertz German layout

-

Display 7” Raspberry - display

-

Case premium case - for Raspberry Pi 7" Touch-Display (the closed version)

-

Z-Wave controller Aeotec - by Aeon Labs Z-Stick Gen5

-

 

-

Live Z-Wave devices:

-

Z-Wave Fibaro Double - Switch 2

-

Z-Wave Aeotec by - Aeon Labs ZW100 Multisensor

-

Z-Wave Aeon Labs - ZW088 Z-Wave Key Fob, Gen5

-

Z-Wave NodOn Smart - Plug

-

 

-
-

2nd - Drafty

-
-

Bugfixing (mostly - typos)

-

Minor rearranging to - content

-

Major changes in

-

-        - Chapter 11: Creating a dashboard for your home automation project

-

-        - Chapter 12: Creating rules

-

Further input in

-

-        - Section “Shopping list”

-

-        - Section “Adding local things connected via network (IP)”

-

-        - Chapter 12: Creating rules

-
- -
-
- -

 

- -

Chapter 1: Before you start

- -

Is openHAB2 the right choice for my home automation project?

- -

Be aware that openHAB2 is an OPEN home automation solution which is -strongly living from a very supportive community. If you want to have a plug -and play solution with supplier guaranteed service level and a high likeliness -that all the features are working and all the hardware is compatible, you might -be better off in getting a ready to use home automation kit including the -designated controller (like e.g. devolo or homematic IP). Consider this -especially if you are planning to do safety related automation or emergency -detection like fire alarm.

- -

If you, on the other hand, are willing to spend a few hrs/days in -learning how to do a little installation and coding yourself and have no -problems with the service level of a Raspberry Pi 3 (it is not as failsafe as -other controllers) you might find a perfect environment with openHAB2 for your -low cost, very flexible and continuously improving home automation environment.

- -

Introduction:

- -

This tutorial is targeting beginners like me to get a step by step -guideline to get all the things installed. Since I am no coding expert and have -no experience in Raspberry and Raspbian I am trying to go through the things -step by step, so you should be able to get everything done, even without -exactly having to go into all the details. That is one of the reasons I am also -using the graphical GUI PIXEL for Raspbian since I thing it makes it easier for -the beginners to get started (and you might want to use PIXEL anyway when you -are using the Raspberry 7” display as interface for your home automation -controller)

- -

This tutorial is also based on having -a Windows PC to support the setup process. You might be able to completely -do it without the support of an extra PC, if you can get a MicroSD card with a -pre-installed Raspbian OS and use the display options (the Raspberry 7” display -or HDMI Display) for the Raspberry.

- -

DISCLAIMER:

- -

This -tutorial might contain some typos, errors or ways of setting up, which can be -done in a better way. I am just reflecting my process of starting from scratch -and slowly working my way through hundreds of online tutorials, manuals, forum -threads etc. and on the way, highlighting the issues I had in getting things -working. There will be no guarantee that the given instructions are working for -your project as well.

- -

Anyway I hope this tutorial will help some beginners to enjoy home -automation with openHAB2.

- -

 

- -

A few words about the 2 in openHAB2:

- -

The 2 in openHAB2 is important! The tutorial is based on the openHAB2 -and will not go into all the details of the old version.

- -

You just have to be aware, that a lot of online documentation is still -for the openHAB version and will not -be applicable for openHAB2!

- -

So the best thing is always to go to the official webpage of openHAB2 -and start from there, and only if you really can’t find the information or the -link there, go to google and search for other solutions. I was always using the -search setting (last year) so it was more likely to the results considering -openHAB2 and not openHAB.
-

- -

Chapter 2: Preparation

- -

Shopping list:

- -

As mentioned before, I am basing this tutorial on the graphical GUI of Raspbian -named PIXEL so the shopping list is also containing parts for this optional -setup:

- -

Minimal setup of the controller:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Raspberry - Pi 3

-

 

-
-

- - - - - - - - - - - - - - - - - - - -

-
-

MicroSD - card 16GB (minimal to have some buffer for the future) Make sure you have the - right card reader to plug the MicroSD card into your computer!

-
-

  - -

-
-

Designated - Raspberry power supply (min. 2,5A 5V, I recommend 3A) Do not use other USB chargers since insufficient power supply (shown - in GUI as lightening symbol in the upper right corner) will result in serious - issues like e.g. Bluetooth not working) A cable switch might be a good - thing since you might have to hard-reset your Pi in the early days more often - and the Pi itself does not have a power switch

-
-

- -

-
-

USB - Mouse

-

 

-
-

- -

-
-

USB - Keyboard

-

 

-
-

- -

-
-

HDMI - cable (full size to whatever your display needs)

-

 

-
-

- -

-
-

Ethernet - cable (optional, if you not want to use WiFi to connect the Raspberry to your - gateway)

-

 

-
-

- -

-
-

Raspberry - case (optional, will not be needed - if you are going for the 7” Raspberry display setup)

-

 

-
-

- -

-
-

Display - with HDMI input ( optional, will not - be needed if you are going for the 7” Raspberry display setup)

-
-

- -

-
- -

 

- -

Additional hardware for optional setup of the controller with 7” Raspberry -display:

- -

(I found it very useful to have one permanent GUI interface mounted on -your controller, you can also use this touchscreen interface directly to -interact with your home automation):

- - - - - - - - - - - - - - - - - - -
-

Raspberry - Pi 7" Touch-Display

-
-

- -

-
-

Premium - case for Raspberry Pi 7" Touch-Display (closed version) often sold in - bundle with Touch-Display, should be available in black, white and - transparent

-

This - is a very good case if you want to place the controller on a table or counter - since it is protecting the Raspberry from the back.

-
-

- -   - -

-
-

Alternative: Cases for Raspberry - Pi 7" Touch-Display. You will find a wide range of other cases. The open - versions might give you a better access to the Pi GPIO pins or for changing - SD card.

-

Please - consider: since you can rotate the image of the GUI on the display you can - also choose to switch from landscape to portrait orientation

-
-

  - -   - -   - -

-
-

Bluetooth - keyboard (optional, since the optional on screen touch keyboard for Raspbian - PIXEL was not working without errors, I decided to go for a Bluetooth - keyboard which makes the typing much easier)

-
-

- -

-
- -
-
- -

 

- -

Z-Wave Controller

- -

If you want to use the Z-Wave technology for your home automation -project you have to have one Z-Wave controller connected to your Raspberry

- -

NOTE: Be aware that the details -serial numbers or item names may vary since you have to always make sure to use -the hardware which is allowed in your country!

- - - - - - - - - - - - - - -
-

Aeotec - by Aeon Labs Z-Stick Gen5

-

Pros:

-

-        - Allows offline inclusion of Z-Wave devices which - makes it very easy since you only have to take the stick to the mounted - device, not the entire Raspberry

-

Cons:

-

-        - Including battery powered devices into openHAB2 - requires a special process (see tutorial)

-
-

- -

-
-

Alternative: UZB Z-Wave PLUS - USB stick by Z-Wave.Me

-

Pros:

-

-        - Cheapest controller

-

Cons:

-

-        - For inclusion, the controller has to be plugged into - the Raspberry, so for mounted devices like wall switches , you have to take - the Raspberry in close proximity of the device or do the inclusion before you - mount the switch inside the wall

-
-

- -

-
-

NOT REALLY an Alternative: RaZberry2 Z-Wave - Plus Daughter Card for Raspberry Pi Home Automation (not plug and play compatible with optional setup of the controller - with 7” Raspberry display!)

-

Pros:

-

-        - will be mounted directly on the Raspberry so it is - not using a USB port

-

Cons:

-

-        - will be mounted directly on the Raspberry which is - blocking the GPIO pins for e.g. the Display power supply or additional - cooling fans, so you have to manually solder the power wires at the back of - the razberry

-

-        - is using the i/o port of the Raspberry Pi 3 on board - Bluetooth, so a lot of additional configuration is needed to get the razberry - and the Bluetooth running in parallel.

-

-        - most expensive controller

-
-

- - - - -

-
- -

 

- -
-
- -

 

- -

Z-Wave sensors, switches and actuators

- -

 

- -

NOTE: Be aware that the details -serial numbers or item names may vary since you have to always make sure to use -the hardware which is allowed in your country!

- -

Since I am doing a German based home automation project you may find -that some Z-Wave devices are not sold in your required country configuration ( -e.g. Z-Wave NodOn Smart Plug not available e.g. in the US)

- - - - - - - - - - - - - - - - - - -
-

Z-Wave - Fibaro Double Switch 2, Z-Wave Plus Smart Switch (comes at almost the same - costs than the single switch and gives you 2 channels. Only reason to go for - single switch is you need the full power range of the single switch since the - double switch has slightly lower range)

-

NOTE: - This switch is designed to be installed in the electrical power wiring of - your home (inside a distributor case). In some countries this may only be - allowed to be done by special trained staff (insurance and/or law).

-
-

- -

-
-

Aeotec - Multi-Sensor 6 ZW100-C - Z-Wave Plus

-
-

- -

-
-

Z-Wave - Aeon Labs ZW088 Z-Wave Key Fob, Gen5

-
-

- -

-
-

Z-Wave - NodOn Smart Plug (not available e.g. in the US)

-
-

- -

-
- -

 

- -

NOTE: if you want to by other Z-Wave -devices always make your they are listed in the Z-Wave device list of the -openHAB2 Z-Wave binding to make sure they are supported correctly in the -context of openHAB2:

- -

http://www.cd-jackson.com/index.php/zwave/zwave-device-database/zwave-device-list

- -
-
- -

 

- -

LAN devices (cable or WiFi)

- -

A lot of things you are using at home are already connected to your LAN -and can be integrated into your openHAB2 home automation project if the right -binding is available for that device.

- -

You can find an overview on http://docs.openhab.org/addons/bindings.html

- -

NOTE: Be aware that not all the -bindings to include devices are already included in the stable version of -openHAB2 and may require a manual installation of a so called snapshot version -of the binding (how to install snapshot bindings is explained later in this -tutorial since we will need it for the WiFi LED controller)

- - - - - - - - - - - - - - - - - - - - - - -
-

WiFi - XCSOURCE Magic UFO-WiFi LED-Controller Type LD382 (other brand names might - work as well, but you have to make sure it is Type LD382, LD382A or LD686)

-

REMARK: - I was using a WiFi controller on purpose since:

-

-        - it is only about half the price of a Z-Wave WiFi - controller

-

-        - you can control the device as well via smart phone - (like light to music feature of the app)

-

But - some things you have to be aware of using WiFi LED instead of Z-Wave LED:

-

-        - you have to have a WiFi network to which your - Raspberry and your WiFi LED controller is connected

-

-        - you have to manually install a beta / snapshot - version of openHAB2 or manually install the WiFi LED Binding on top of the - package based installation of openHAB2 (see tutorial)

-
-

- -

-
-

RGB - LED stripe incl. power supply 12V DC bundle

-

While - you can buy the stripe and the power supply bundle separately, most of the - times the bundle will come at the same price or even cheaper. The included - power supply plug should directly fit into the power inlet socket of the WiFi - controller.

-

REMARK: - It also allows you to attach the stripe without soldering since you can just cut - the cable of the RGB bundle controller and use it to connect the LED stripe - to the WiFi controller.

-
-

- - - -

-
-

Optional: - White LED stripe

-

Since - the WiFi LED-Controller is allowing you to at additionally control plain - colour LED stripe (or in case of controller type LD686 even two) you might want to get - an additional strip in e.g. plain white to create ab clear white - illumination.

-

NOTE: - You might be fine with just the stripe if you already got the power supply - with the RGB stripe

-
-

- -

-
-

Optional - (in my case it was already there and I just included it into my project):

-

Yamaha - Receiver RX-V581

-
-

- -

-
-

Optional - (in my case it was already there and I just included it into my project):

-

Samsung - TV Details MISSING

-

NOTE: Even when the - binding is not officially supporting your TV you might be lucky

-
-

- -

-
- -
-
- -

 

- -

Software list:

- -

 

- -

My tutorial is using a MS-Windows windows machine for the PC part (You -should be able to get it done with Mac or Linux PCs as well, but you have to go -online to look up the differences and do some adaptions on the tutorial e.g. -mounting the Raspberry file system to PC)

- -

Windows Download list:

- - - - - - - - - - - - - - - - - - - - - - - - - - -
-

The - latest Raspbian (Raspberry OS) - image

-

You - have to download the “Raspbian Jessie with PIXEL - Image with PIXEL desktop - based on Debian Jessie” since this tutorial is using PIXEL

-
-

https://www.Raspberrypi.org/downloads/Raspbian/

-

 

-
-

Etcher (to write the Raspbian - image to the SD-Card)

-
-

https://etcher.io/

-
-

Eclipse Smart HomeDesigner (optional but - strongly recommended for easy editing of OpenHAB2 configuration files; incl. - syntax highlighting)

-

You - have to choose the right version for your PC

-
-

https://www.openhab.org/downloads.html

-

 

-
-

To use - Eclipse Smart HomeDesigner you need Java - Runtime Environment JRE (if not already installed on your PC)

-
-

https://java.com/

-
-

PuTTY

-

or KiTTY portable

-

to - access the Raspberry console from your PC

-
-

http://www.putty.org/

-

https://portableapps.com/apps/internet/kitty-portable

-

 

-
-

WinSCP portable to access Raspberry - file System directly from your PC (might become obsolete if you use a SAMBA - server on your Raspberry, see tutorial)

-

 

-
-

https://winscp.net/eng/download.php

-
- -

 

- -

Raspberry downloads:

- -

How to download software will be explained in the tutorial, but as a -reference you will use

- -

openHAB2 Package repository -based installation or manual installation (be aware that the file locations on -the Raspberry will be different based on which kind of installation you choose)

- -

Samba server(for access of Raspberry -files from Windows machine; needed for Eclipse Smart HomeDesigner)

- -

xscreensaver (optional if you are -using the display setup, to easy control screen blackening or screen savers)

- -

 

- -
-
- -

 

- -

Chapter 3: Raspberry hardware and Raspbian OS installation

- -

General information about Raspberry interfaces and GPIO pins:

- -

Raspberry input Overview:

- -

- -

- -

Raspberry GPIO pin Overview:

- -

- -

- -
-
- -

 

- -

Preparing MicroSD card - writing Raspbian image to MicroSD card (PC -required):

- -

 

- - - - - - - - - - - - - - -
-

Download latest Raspbian - Release (*.zip file) to a Windows folder

-
-

- -

-
-

Extract *.zip file - to receive *.img file

-
-

- -

-
-

Use Etcher to write - image to a MicroSD card

-
    -
  1. select image
  2. -
  3. select drive with MicroSD card plugged - in to
  4. -
  5. start flashing
  6. -
-
-

- -

-
- -

 

- -
-
- -

 

- -

Connecting the hardware to the Raspberry

- -

Basic hardware setup:

- - - - - - - - - - - - - - - - - - - - - - - - - - -
-

 

-
-

 

-
-

Connect - keyboard and mouse to the USB ports

-

 

-
-

- - - - - -

-
-

Insert - the MicroSD card (pins facing the circuit board)

-
-

- - - -

-
-

Connect - Raspberry with display using HDMI ( optional, will not be needed if you are going for the 7” Raspberry display - setup)

-
-

- - - - - -

-
-

Connect - the Raspberry with Ethernet cable to your gateway (optional)

-
-

- - - -

-
-

Connect - the power supply to the micro USB power input

-

Make sure that you have - everything plugged in and the Raspberry is clear of any metal items since - this step is already powering up your Raspberry.

-
-

- - - -

-
- -

 

- -
-
- -

 

- -

Optional: Installation of 7” Raspberry display and display case:

- -

The full tutorial will be found on:

- -

https://www.element14.com/community/docs/DOC-78156/l/Raspberry-pi-7-touchscreen-display

- -

and a clip on YouTube:

- -

https://www.youtube.com/watch?v=tK-w-wDvRTg

- -

Remark: I had an issue with -plugging in the power supply to the micro USB power input on the circuit board -of the display (like shown in the video). The Raspberry was still showing me -the low power symbol (lightening symbol on the upper right corner) -SOLUTION:  I had to plug in the power -supply to the micro USB power input on the Raspberry itself. The display is now -powered via the jumper cables. The standard display case is also allowing for -both micro USB power inputs to be used.

- -

NOTE: If the image on the display is -having the wrong orientation, you can rotate the image by changing the -configuration of Raspbian (see tutorial section Initial configuration of Raspbian)

- -

Display installation pictures:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Step 1

-
-

- -

-
-

Step 2

-
-

- -

-
-

Step 3

-
-

- -

-
-

Step 4

-
-

- -

-
-

Step 5

-
-

- -

-
-

Step 6

-
-

- -

-
-

Step 7

-
-

- -

-

The - two other path cables (green and yellow can be ignored)

-
-

Step 8

-
-

Assembly - of the standard display. (Make sure you have inserted the MicroSD card since - you won’t have access to the slot as soon as you mounted the case!)

-

Just - pull the back plate off the case, insert the display including the mounted Raspberry - (make sure that the path cables and the display cables are not crushed - between case and board), tighten it with the 4 screws and put the back plate - into place

-

Here - is a good clip on YouTube: https://www.youtube.com/watch?v=wpSxibZOmoo

-

 

-
- -
-
- -

 

- -

Chapter 4: Raspbian basic configuration

- -

Starting up Raspberry or the first time – Raspbian PIXEL desktop

- -

Since this tutorial is focussing on using the PIXEL GUI here are a few -basic tips

- -

Raspberry start-up screen

- -

- -

- -

PIXEL basic desktop (including the programs used in this tutorial) not -unlike other PC OS desktops:

- -

- - - - - - - - - - - - - - - - - - - - - - - -
-
-

network - configuration

-
-
-
- -
- - - - - - -
-
-

Bluetooth - configuration

-
-
-
- -
- - - - - - -
-
-

Terminal

-
-
-
-
- - - - - - -
-
-

Applications menu (incl. access to - configuration)

-
-
-
-
- - - - - - -
-
-

File manager

-
-
-
-
- - - - - - -
-
-

Web browser

-
-
-
-
- -

- -

 

- -

NOTE: If you are working -with the 7” Raspberry display setup you might need to flip/rotate the display -orientation. Just check the section” Optional: Change display orientation” -later in this chapter

- -
-
- -

 

- -

Working with the Terminal:

- -

- -

- -

NOTE: As soon as you have connected -the Raspberry to the network you might find it easier to open the Terminal -remotely using PuTTY. This also allows you to directly paste command lines from -this tutorial into the Terminal. (Right click in PuTTY terminal is pasting the -content of the clipboard into the terminal)

- -

Basic terminal commands and functions:

- -

The full list can be found on:

- -

https://www.Raspberrypi.org/documentation/linux/usage/commands.md

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

help

-
-

Is - showing you basic commands

-
-

sudo othercommand

-
-

is - allowing you to run other commands as super user aka root user

-
-

ls -la

-
-

Shows - the files in a directory incl. additional information

-
-

cd

-

 

-

cd

-

cd ..

-

cd directory

-

 

-

cd /directory/directory

-
-

Is - changing the shell working directory.

-

It can - be used with attributes:

-

No - attribute => working directory is changed to user root directory.

-

working - directory is changed to directory one level above

-

working - directory is changed to the named directory inside the current - directory

-

working - directory is changed to the directory defined by the full path /directory/directory

-

.

-
-

nano filename

-

(sudo - nano filename)

-
-

Is - stating a basic editor in the terminal to open or create a simple text or - configuration file, mostly you have to add a sudo if you want to be able to - write the files with root user rights. Closing the editor is done by ctrl+x - and then choosing whether you want to save your changes or not

-
-

 

-
-

 

-
-

 

-
-

 

-
-

 

-
-

 

-
-

 

-
-

 

-
-

 

-
-

 

-
- -

 

- -
-
- -

 

- -

Initial configuration of Raspbian

- -

The following steps make sure, that basic Raspbian configuration is -done.

- -

NOTE: There may be many tutorials in -how to set-up and configure Raspbian and going into more details about user -rights and other Raspbian features. This tutorial is showing the way which -worked for my project aiming to run openHAB2 on the Raspberry.

- -

Since this tutorial is using the PIXEL GUI I always refer to the PIXEL -way of configuring and only go back to the terminal way (text only) if it is -required.

- -

 

- -

Localisation:

- -

The 1.st thing you want to do is changing the localisation settings to -make sure your keyboard layout and WiFi settings are matching.

- -

NOTE: Do not change the password -before you have changed the keyboard layout since you might put in a different -password than you expect (e.g. US qwerty vs. German qwertz results in “Raspberrz” -instead of “Raspberry”)

- - - - - - - - - - - - - - - - - - -
-

Open Raspberry - Pi Configuration

-

Application - menu

-

-Preferences

-

--Raspberry - Pi configuration

-
-

- -

-
-

Go to - tab Localisation

-
-

- -

-
-

Select - Locale, Timezone, Keyboard and WiFi Country

-

Locale: choose your - language and country

-

 

-

 

-

 

-

 

-

 

-

Timezone: choose timezone

-

 

-

 

-

 

-

 

-

Keyboard: choose keyboard - language and specific keyboard layout

-

 

-

 

-

 

-

 

-

 

-

 

-

 

-

 

-

 

-

WiFi - Country: - choose country specific WiFi settings

-
-

 

-

 

-

- -

-

 

-

- -

-

- -

-

 

-

- -

-
-

Accept - the reboot

-
-

 

-
- -

 

- -

Optional: Change display orientation

- -

If you are working with the 7” Raspberry display setup you might need to -flip/rotate the display orientation for specific cases

- - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Open - Terminal

-
-

- - - -

-
-

Open - boot config.txt file in nano editor

-
-

sudo - nano /boot/config.txt

-
-

Add - the line at the bottom of the file:

-

(This - will flip the display orientation)

-
-

lcd_rotate=2

-
-

Optional: - You can choose from different angles

-

    0 degrees rotation

-

or

-

  90 degrees rotation

-

or

-

180 - degrees rotation

-

or

-

270 - degrees rotation

-

or

-

horizontal - flip

-

or

-

vertical - flip

-
-

 

-

display_rotate=0

-

or

-

display_rotate=1

-

or

-

display_rotate=2

-

or

-

display_rotate=3

-

or

-

display_rotate=0x10000

-

or

-

display_rotate=0x20000

-
-

Exit - and save the file

-
-

<ctrl+x>

-

<y>

-

<Enter>

-
-

Reboot - the Raspberry for the changes to take effect

-
-

sudo reboot

-
- -
-
- -

 

- -

Changing Password:

- -

This is important to secure your standard Raspberry user “pi” before you -connect the Raspberry to the network.

- -

NOTE: Make sure you have changed the -keyboard layout to your requirements before change the password.

- - - - - - - - - - - - - - -
-

Open Raspberry - Pi Configuration

-

Application - menu

-

-Preferences

-

--Raspberry - Pi configuration

-
-

- -

-
-

Go to - tab System and select Change Password (Remark: you might not have the option - Expand Filesystem as shown in the picture)

-
-

- -

-
-

Enter - initial (for standard user “pi” it is “Raspberry” and your new password

-
-

Raspberry

-

yourpassword

-

yourpassword

-
- -

 

- -
-
- -

 

- -

Enabling interfaces:

- -

This is required for the communication to the PC (SSH) and to the Z-Wave -stick (Serial)

- - - - - - - - - - - - - - -
-

Open Raspberry - Pi Configuration

-

Application - menu

-

-Preferences

-

--Raspberry - Pi configuration

-
-

- -

-
-

Go to - tab Interfaces

-
-

- -

-
-

Enable - SSH (to access the Raspberry via Network)

-

Enable - Serial (to enable Serial Port for Z-Wave controllers)

-
-

SSH:    - Enable

-

Serial: Enable

-
- -

 

- -
-
- -

 

- -

Connect Raspberry to network:

- -

Either by -plugging in a Ethernet cable or by connecting to a WiFi network:

- - - - - - - - - - - - - - -
-

Click on the network symbol

-
-

3 lines and 2 red crosses if no - connection is available

-
-

Select WiFi network:

-
-

yourwifi

-
-

Enter WiFi password

-
-

yourwifipassword

-
- -

 

- -

Check the IP address of the Raspberry:

- -

To do so you have to check the IP address of the Raspberry in the -terminal

- - - - - - - - - - - - - - -
-

Start - terminal by clicking on the icon

-
-

- -

-
-

use - the command

-
-

ifconfig

-
-

Result: - the terminal shows you the ip configuration and the IP addresses for the - different connections

-
-

Ethernet - cable: eth0 - xxx.xxx.xxx.xxx

-

or

-

WiFi: wlan0 xxx.xxx.xxx.xxx

-
- -

NOTE: You might want to set your IP -address of the Raspberry to static, if you get problems with the lease time -setting of your gateway (IP address is changing whenever you reconnect to the -network)

- -

 

- -

Update / Upgrade Raspbian:

- -

Raspbian is proving online updates so make sure that you have the latest -installed before you go further in the configuration.

- - - - - - - - - - -
-

Start - terminal by clicking on the icon

-
-

- -

-
-

use - the command

-

(be - aware that the upgrade function will take several minutes to complete if you - run it for the first time)

-
-

sudo - apt-get update

-

sudo - apt-get upgrade

-
- -

 

- -

 

- -
-
- -

Optional Raspberry settings and configuration:

- -

The following settings and configuration is just for additional -information and might not be needed to setup openHAB2. Some of the settings and -configuration might still be useful.

- -

 

- -

Check partition size on MicroSD card:

- -

Make sure Raspbian is using the full capacity of the MicroSD card -(normally while starting up Raspbian for the first time, it is done -automatically and the Raspberry will restart automatically):

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Open - Terminal

-
-

- - - -

-
-

use - the command

-
-

sudo fdisk -l

-
-

Result: - the terminal shows you the partition size of the two partitions on the MicroSD - card summing up to the total capacity

-
-

Example - for 16 GB:

-

 

-
-

If the - capacity is not completely used (e.g. you were using not a plain Raspbian - image) you have to expand the partitions manually in the terminal - configuration

-
-

 

-
-

Start - terminal configuration with command

-
-

sudo raspi-config

-
-

Select - Option (Be aware that the option numbers might change in newer Raspbian - releases)

-
-

7 Advanced Options

-
-

Select - Option

-
-

A1 - Expand Filesystem

-

Prompt - will tell you that the file system has been increased

-
-

Now - select to exit the configuration

-
-

<Finish>

-
-

Allow - reboot

-
-

<Yes>

-
- -

 

- -

Create a Desktop icon and link it to a application

- -

To be able to create a Icon you have to first create a *.desktop file

- -

NOTE: This example is creating the -desktop icon for the user “pi”

- - - - - - - - - - - - - - - - - - - - - - -
-

Open - Terminal

-
-

- - - -

-
-

Go to - the directory desktop for your “pi” user

-
-

cd /home/pi/Desktop

-
-

Create - a specific desktop file using nano editor

-
-

sudo nano yourdesktopfile.desktop

-
-

Enter - parameters into the file accordingly

-

Name: YourShortcutName

-

Comment: - Your Shortcut Comment

-

Icon: YourIcon.png

-

Application - for shortcut: YourShortcutApp

-

 

-
-

Desktop - Entry]

-

Name=YourShortcutName

-

Comment=Your Shortcut Comment

-

Icon=/usr/share/pixmaps/YourIcon.png

-

Exec=/usr/bin/YourShortcutApp

-

Type=Application

-

Encoding=UTF-8

-

Terminal=false

-
-

Exit - and save the file

-
-

<ctrl+x>

-

<y>

-

<Enter>

-
- -
-
- -

 

- -

Enabling root user:

- -

Since by default the “root” disabled it can’t be used. You might want to -enable it for certain purposes like e.g. enabling the root user for samba file -server to get full access to the directories from a PC (see chapter setup samba -server)

- -

NOTE: There is a reason for the “root” -being disabled! Enabling the user is allowing full access to the Raspbian and -therefore creating a security risk. Please always consider whether you really -want to enable this user!

- - - - - - - - - - - - - - -
-

Open - Terminal

-
-

- - - -

-
-

Since - the user already exists you just have to set the password

-

NOTE: - you can also use the command to change the password later on

-
-

sudo passwd root

-
-

Just - enter twice the new password for the “root” user

-
-

rootpassword

-

rootpassword

-
- -

 

- -

Enabling remote SSH access for root user:

- -

NOTE: There is a reason for the “root” -not being enabled for SSH! Enabling the user for SSH is allowing full remote -access to the Raspbian and therefore creating a significant security risk. -Please always consider whether you really want to enable this user for SSH!

- - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Open - Terminal

-
-

- - - -

-
-

Open - sshd.config file in nano editor

-
-

sudo - nano /etc/ssh/sshd_config

-
-

Find - the section # Authentication in the file

-
-

# - Authentication:

-

LoginGraceTime - 120

-

PermitRootLogin - without-password

-

StrictModes - yes

-
-

And - change the PermitRootLoing line to

-
-

PermitRootLogin yes

-
-

Exit - and save the file

-
-

<ctrl+x>

-

<y>

-

<Enter>

-
-

Reboot - the Raspberry for the changes to take effect

-
-

sudo reboot

-
- -

 

- -
-
- -

 

- -

Optional: Raspbian PIXEL screensaver (xscreensaver)

- -

If you are working with the 7” Raspberry display setup you might want to -use a screensaver as well.

- -

Installation of xscreensaver:

- - - - - - - - - - -
-

Open - Terminal

-
-

- - - -

-
-

Install - xscreensaver and some additional screen saver themes

-
-

sudo - apt-get install xscreensaver xscreensaver-data-extra xscreensaver-gl-extra

-

<y>

-
- -

 

- -

Configuration of xscreensaver:

- -

I am showing an example configuration which is first switching on a -screensaver and then turning off the display completely.

- - - - - - - - - - - - - - - - - - -
-

Open Screensaver - Preferences

-

Application - menu

-

-Preferences

-

--Screensaver

-

 

-
-

- -

-
-

Configure - Display Modes

-

Mode: <Only One Screen - Saver>

-

Screensaver: - <Barcode>

-

Blank - After: <5> minutes

-

Cycle After: - <0> minutes

-

NOTE: - This is just a sample configuration selecting one screensaver after 5 minutes

-
-

- -

-
-

Configure - Advanced

-

Display - Power Management

-

<check> Power Management - Enabled

-

Standby - After <10> minutes

-

Suspend - After <10> minutes

-

Off - After <10> minutes

-

<check> - Quick - Power-off in Blank Only Mode

-

 (Display Power Management)

-

NOTE: - This is just a sample switching off the screen after 10 minutes

-
-

- -

-
-

Close the - Screensaver Preferences

-
-

 

-
- -
-
- -

 

- -

Optional: Start Chromium Web server on Raspbian boot

- -

 

- -

Configure the autostart file:

- - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Open - Terminal

-
-

- - - -

-
-

Open - the autostart configuration file with nano editor

-
-

sudo - nano /home/pi/.config/lxsession/LXDE-pi/autostart

-
-

Add - the lines at the end of the file (ignoring error dialogs)

-
-

@unclutter

-

@chromium-browser --noerrdialogs

-
-

Optional - parameters:

-

--kiosk - (for full screen mode. NOTE: to exit full screen mode you have to press - “Alt+F4” on the keyboard of the Raspberry, so you have to have a keyboard - installed to exit this mode!)

-

--incognito - (for incognito mode of the browser)

-

http://yoururl.com - (for selecting the URL directly in the configuration file. NOTE: selecting - the URL via Chromium settings might be easier)

-
-

@chromium-browser - --noerrdialogs --kiosk --incognito http://yoururl.com

-
-

Exit - and save the file

-
-

<ctrl+x>

-

<y>

-

<Enter>

-
-

Check - if the browser is coming up after reboot

-
-

sudo reboot

-
- -

 

- -

Select the start URL for Chromium web browser:

- -

NOTE: You can also select the URL in the autostart file, but using the -browser functionality is giving you a simpler access (no terminal) and you can -check the result without rebooting

- - - - - - - - - - - - - - - - - - -
-

Open Chromium - and go to the Settings

-

(3 - bullets icon)

-
-

- -

-
-

Select - in the On start-up chapter the option

-

<check> Open a specific - page or set of pages

-

And click - on the link <Set pages> to enter the requested start URL

-
-

- -

-
-

Enter - the requested start URL http://yoururl.com

-

<OK> your URL

-

Now - Chromium is allowing you to enter an additional URL which you can ignore

-

 

-
-

- -

-
-

ptional: - If you have completed your openHAB2 configuration and want to use HABPANEL as - GUI you can just use the URL or even start specific pages in the HABPANEL GUI - (just use the URL shown in the browser when you access the HABPANEL page) - - NOTE: If you are linking to pages hosted on the same raspberry, most likely - ou will receive an error message since on startup the service has not started - up. Just refresh the page after a few minutes.

-
-

- -

-

http://xxx.xxx.xxx.xxx:8080/start/index

-
- -

 

- -
-
- -

 

- -

Chapter -5: Setting up Raspbian for access via PC

- -

Connect -to the Raspberry terminal your windows system using, KiTTY or PuTTY:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Open KiTTY or PuTTY - on your PC

-
-

- -

-
-

Enter Hostname (pi@ - in front of the IP is giving the user you want to use for connecting, in this - case the standard user “pi”), Port and Connection type

-

Select Open to - launch the terminal

-
-

- -

-

Hostname: pi@xxx.xxx.xxx.xxx

-

Port:22

-

Connection type: SSH

-

<Open>

-
-

Optional save the - session

-
-

- -

-

Saved session yoursessionname

-

<Save>

-
-

On first connection - an security alert is coming which you have to accept

-
-

- -

-

Yes

-
-

Now a terminal - window is opening on our PC asking you to enter the “pi” user password

-
-

- -

-

yourpassword

-
-

The terminal window - is now starting up in the user home directory

-
-

- -

-
-

You can now use the - PC terminal window the same way you us the terminal on the Raspberry itself

-
-

 

-
- -

 

- -
-
- -

 

- -

Optional: -Connect to the Raspberry file system from your windows system using WinSCP:

- -

NOTE: The connection can only access the rights of -the Raspberry user. So the standard user “pi” will not have the writing rights -for multiple directories. For full -access you have to use the user “root” (user needs to be enabled since it is -disabled in standard setup, procedure shown later in the tutorial), but -enabling this user for SSH access is opening up a significant security risk, so -it is recommended to use as Raspberry based Samba server for full access to -specific directories (shown later in the tutorial).

- -

 

- - - - - - - - - - - - - - - - - - -
-

Open WinSCP on your - computer

-
-

- -

-
-

Select: New Site

-

Select File - protocol: SCP

-

Enter Host name: xxx.xxx.xxx.xxx

-

Enter port: 22

-

Enter User name: pi - (standard user with limited access to the file system)

-

Enter Password for - “pi”

-
-

- -

-

File protocol: SCP

-

Host name: xxx.xxx.xxx.xxx

-

Port: 22

-

User name: pi

-

Password yourpassword

-
-

Optional save the - Session

-
-

<Save>

-
-

WinSCP is launched - showing the windows directory on the left side and the “pi” user home - directory of the Raspberry on the right side of the window

-
-

- -

-
- -

 

- -
-
- -

 

- -

Setup -Samba server

- -

To have -access to the Raspberry file system using the PC file explorer (it is needed to -run Eclipse Smart Home Designer your PC) you have to setup a Samba server on -the Raspberry first.

- -

NOTE: You -can also follow the alternative instructions for a openHAB2 centric -installation at: http://docs.openhab.org/installation/linux.html#network-sharing

- -

 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Open Terminal

-
-

- - - -

-
-

Make sure Raspberry - is updated (optional)

-
-

sudo apt-get update

-
-

Download samba - server to Raspbery (confirm with enter)

-
-

sudo apt-get install - samba samba-common-bin

-

<Enter>

-
-

Open the samba - server configuration file in nano editor

-
-

sudo nano - /etc/samba/smb.conf

-
-

Go to the end of the - file and add following lines

-
-

[RaspberryPiDirectories]

-

comment = Your full - access to Raspberry Pi directories

-

path = /

-

read only = no

-
-

Optional Change the - workgroup name if needed, otherwise uncomment and enable WINS support in the - section

-
-

# Windows Internet - Name Serving Support Section:

-

# WINS Support - - Tells the NMBD component of Samba to enable its WINS Server

-

#   wins support = no

-

wins support = yes

-
-

Exit and save the - file

-
-

<ctrl+x>

-

<y>

-

<Enter>

-
-

Check the syntax of - the samba configuration file.

-

Result: there should - be no error message(red) in the prompt

-
-

testparm

-

<Enter>

-
-

Now you have to - restart the services to reload the config file

-
-

sudo systemctl - restart smbd.service

-

sudo systemctl - restart nmbd.service

-
-

Make sure that the - services are running again without errors

-
-

sudo systemctl - status smbd.service

-

sudo systemctl - status nmbd.service

-
- -

 

- -

Common -samba server commands:

- - - - - - - - - - - - - - - - - - - - - - -
-

sudo systemctl - status smbd.service

-

sudo systemctl - status nmbd.service

-
-

Check if all the - services are running

-
-

sudo systemctl - restart smbd.service

-

sudo systemctl - restart nmbd.service

-
-

Restart the samba - services

-
-

sudo systemctl stop - smbd.service

-

sudo systemctl stop - nmbd.service

-
-

Manually stop the - samba services

-
-

sudo smbpasswd -d sambausr

-
-

If needed: disable a - user for samba

-
-

sudo smbpasswd -e sambausr

-
-

If you need to - enable a user for samba

-
- -
-
- -

 

- -

Optional: -Generic samba user setup

- -

NOTE: Skip this section if you only want to use -samba for openHAB2

- - - - - - - - - - - - - - - - - - -
-

Create a special - user sambausr  for the samba server so you not have to use - the root or pi user to allow access to the directories on the Raspberry

-
-

sudo adduser sambausr

-
-

You have to enter - your password

-

sambausrpassword and optional information you can just leave - empty and finally save with y

-
-

Adding user - `sambausr' ...

-

Adding new group - `sambausr' (1001) ...

-

Adding new user - `sambausr' (1001) with group `sambausr' ...

-

Creating home - directory `/home/sambausr' ...

-

Copying files from - `/etc/skel' ...

-

Enter new UNIX - password:

-

Retype new UNIX - password:

-

passwd: password - updated successfully

-

Changing the user - information for sambausr

-

Enter the new value, - or press ENTER for the default

-

        Full Name []:

-

        Room Number []:

-

        Work Phone []:

-

        Home Phone []:

-

        Other []:

-

Is the information - correct? [Y/n] y

-
-

Map the user for - Samba with

-
-

sudo smbpasswd -a sambausr

-

 

-
-

Enter the password sambausrpassword

-
-

New SMB password:

-

Retype new SMB - password:

-

Added user sambausr.

-
- -

 

- -

NOTE: Instead of allowing the sambausr to have full access on the Raspbian -file system to some specific folders by applying the chown command, you might consider enable the root user and use the root user -to connect to the Raspberry from the file system (see chapter Optional Raspberry -settings and configuration). But be aware that enabling the “root” user is -creating a security risk!

- - - - - - - - - - -
-

Map the user for - Samba with

-
-

sudo smbpasswd -a root

-
-

Enter the password rootpassword

-
-

New SMB password:

-

Retype new SMB - password:

-

Added user root.

-
- -

 

- -
-
- -

 

- -

Optional: -Mapping Raspbian samba directories to Windows (IOS and Linux mapping process -can be found online):

- -

NOTE: Skip this section if you only want to use -samba for openHAB2

- - - - - - - - - - - - - - -
-

One time map the Raspberry - folder to a windows drive (in this case Z) enter in the CMD Prompt (just put CMD in the search of Windows 10 to open the command prompt)

-
-

net use Z: \\xxx.xxx.xxx.xxx\RaspberryPiDirectories - /user:sambausr sambausrpassword /persistent:no

-
-

Persistent map the Raspberry - folder to a windows drive (in this case Z) enter in the CMD Prompt (just put CMD in the search of Windows 10 to open the command prompt)

-
-

net use Z: \\xxx.xxx.xxx.xxx\RaspberryPiDirectories - /user:sambausr sambausrpassword /persistent:yes

-
-

You can also create - a simple *.bat file for easy double clicking.

-

Open the editor by - just putting notepad in the search of Windows 10

-

Enter the line

-

Save as yourmapping.bat

-
-

net use Z: \\xxx.xxx.xxx.xxx\RaspberryPiDirectories - /user:sambausr sambausrpassword /persistent:no

-

 

-
- -
-
- -

 

- -

Chapter -6: Installation of openHAB2 on Raspberry

- -

This -tutorial is only focussing on the package repository installation of the stable -version and only on the add-ons for the listed hardware. All other -installations are described on the openhab.org site installation for Linux: (http://docs.openhab.org/installation/linux.html#package-repository-installation) For the Raspbian you have to go -for the “Apt Based Systems” part of it.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Open Terminal

-
-

- - - -

-
-

First, add the - openHAB2 bintray repository key to your package manager and allow Apt to use - the HTTPS Protocol

-
-

wget -qO - - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' | sudo - apt-key add -

-

sudo apt-get install - apt-transport-https

-
-

I choose the stable - Official (Stable) build

-

The stable builds - contain the latest official release with tested features.

-
-

echo 'deb - https://dl.bintray.com/openhab/apt-repo2 stable main' | sudo tee - /etc/apt/sources.list.d/openhab2.list

-
-

Next, resynchronize - the package index:

-
-

sudo apt-get update

-
-

Now install openHAB2 - with the following command:

-
-

sudo apt-get install - openhab2

-
-

Optional but - recommended: When you choose to install an add-on, openHAB2 will download it - from the internet on request. If you plan on disconnecting your machine from - the internet, then you will want to also install the add-ons package.

-
-

sudo apt-get install - openhab2-addons

-
-

Since we were - installing the stable version, we have to manually add the binding WIFILED - used for the WiFi LED controller manually to the system.

-

First you have to - change to the add-ons directory.

-

Than you have to - download the latest version of the binding directly from the online - repository

-

NOTE: Later, this - binding will not be available in the PAPER UI GUI under the Add-ons/Bindings - tab, but will show up in the configuration/bindings tab (note here)

-

- -

-
-

cd - /usr/share/openhab2/addons

-

sudo wget - https://openhab.ci.cloudbees.com/job/openHAB2-Bundles/lastSuccessfulBuild/org.openhab.binding%24org.openhab.binding.wifiled/artifact/org.openhab.binding/org.openhab.binding.wifiled/2.1.0-SNAPSHOT/org.openhab.binding.wifiled-2.1.0-SNAPSHOT.jar

-

 

-

 

-

(but here!)

-

- -

-
-

If everything went - well, you can start openHAB2 and register it to be automatically executed at - system startup.

-
-

sudo systemctl start - openhab2.service

-

sudo systemctl - status openhab2.service

-

 

-

sudo systemctl - daemon-reload

-

sudo systemctl - enable openhab2.service

-
- -
-
- -

 

- -

Common -openHAB2 service commands:

- - - - - - - - - - - - - - - - - - - - - - -
-

sudo systemctl status openhab2.service

-
-

Shows the status of - openHAB2

-
-

sudo systemctl start openhab2.service

-
-

Start the service of - openHAB2

-
-

sudo systemctl stop openhab2.service

-
-

Stops the service of - openHAB2

-
-

sudo systemctl restart openhab2.service

-
-

Restarts the service - of openHAB2

-
-

sudo apt-get purge openhab2

-

sudo rm - /etc/apt/sources.list.d/openhab2.list

-
-

This commands - uninstall openHAB2 from your Raspbian

-
- -

 

- -

openHAB2 -configuration for the samba server:

- -

This is -required to grant the PC based Eclipse Smart Home Designer access to the -requested configuration folder on your Raspbian.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

The shares are - configured to be not open for guests nor to the public. Let’s activate the - “openhab” user as a samba user

-
-

sudo smbpasswd -a openhab

-
-

Enter the password openhabpassword

-
-

New SMB password:

-

Retype new SMB - password:

-

Added user openhab.

-
-

Be aware, that - creating and later using a specific user will ensure that permissions are honoured. - Make sure, the “openhab” user has ownership and/or write access to the openHAB2 - configuration files. This can be accomplished by executing:

-
-

sudo chown -hR - openhab:openhab /etc/openhab2

-
-

Restart the samba - service to allow the changes to be utilized

-
-

sudo systemctl - restart smbd.service

-
-

One time map the Raspberry - folder to a windows drive (in this case Z) enter in the CMD Prompt (just put CMD in the search of Windows 10 to open the command prompt)

-
-

net use Z: \\xxx.xxx.xxx.xxx\RaspberryPiDirectories - /user:openhab openhabpassword /persistent:no

-
-

Optional: Persistent - map the Raspberry folder to a windows drive (in this case Z) enter in the CMD Prompt (just put CMD in the search of Windows 10 to open the - command prompt)

-

NOTE: Now every time - you boot up your PC it will try to connect to the Raspbian samba server.

-
-

net use Z: \\xxx.xxx.xxx.xxx\RaspberryPiDirectories - /user:openhab openhabpassword /persistent:yes

-
-

Optional: You can - also create a simple *.bat file for easy double clicking.

-

Open the editor by - just putting notepad in the search of Windows 10

-

Enter the line

-

Save as yourmapping.bat

-
-

net use Z: \\xxx.xxx.xxx.xxx\RaspberryPiDirectories - /user:openhab openhabpassword /persistent:no

-
- -

 

- -
-
- -

 

- -

openHAB2 -Privileges for Common Peripherals

- -

An openHAB2 -setup will often rely on hardware like a modem, transceiver or adapter to -interface with home automation hardware. Examples are a Z-Wave, Enocean or -RXFcom USB Stick or a Raspberry Pi add-on board connected to the serial port on -its GPIOs. In order to allow openHAB2 to communicate with additional -peripherals, it has to be added to corresponding Linux groups. The following -example shows how to add Linux user openHAB2 to the often needed groups dialout and tty. Additional -groups may be needed, depending on your hardware and software setup.

- -

Adding -openhab user to groupds dialout an tty

- - - - - - - - - - - - - - - - - - -
-

Open Terminal

-
-

- - - -

-
-

Enter command

-

(This is adding the openhab user to the group dialout)

-
-

sudo adduser openhab dialout

-
-

Enter command

-

(This is adding the openhab user to the group tty)

-
-

sudo adduser openhab tty

-
-

Optional: Enter - command

-

(f you are looking - to enable sound privileges for openHAB2, it will also be necessary to add - openHAB2 to the “audio” group.)

-
-

sudo adduser openhab audio

-
- -

 

- -

Granting -java environment access to serial ports

- - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Open Terminal

-
-

- - - -

-
-

Change to directory

-
-

cd /etc/default/

-
-

Open openhab2 file - in nano editor

-
-

sudo nano openhab2

-
-

Change the text from - (nothing between the “”)

-

To (something - between the “”)

-

 

-
-

EXTRA_JAVA_OPTS=""

-

EXTRA_JAVA_OPTS="-Dgnu.io.rxtx.SerialPorts=/dev/ttyUSB0:/dev/ttyS0:/dev/ttyS2:/dev/ttyACM0:/dev/ttyAMA0"

-
-

Exit and save the - file

-
-

<ctrl+x>

-

<y>

-

<Enter>

-
-

Make sure the - changes take effect by rebooting the Raspberry

-
-

sudo reboot

-
- -
-
- -

 

- -

Chapter -7: Installation of Eclipse Smart Home Designer

- -

(Optional -but strongly recommended for easy editing of openHAB2 configuration files; -incl. syntax highlighting)

- -

 

- -

The -complete installation guide can be found on : http://docs.openhab.org/installation/designer.html#setup

- -

 

- -

Installation -guide for windows (Eclipse Smart Home Designer and Java Runtime Environment):

- - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Download the Windows - 64 bit version

-
-

http://eclipse.org/downloads/download.php?file=/smarthome/releases/0.8.0/eclipsesmarthome-incubation-0.8.0-designer-win64.zip

-
-

Optional: Download - the 32 bit version since there are reports about the “stable” 64 bit version - running not stable

-
-

http://eclipse.org/downloads/download.php?file=/smarthome/releases/0.8.0/eclipsesmarthome-incubation-0.8.0-designer-win.zip

-
-

Optional, but not - recommended for beginner: Download a snapshot version

-
-

https://github.com/eclipse/smarthome/blob/master/docs/documentation/community/downloads.md#designer-builds

-
-

Unzip the downloaded - file to a destination of your choice

-
-

yourpcdrive:\yourdestionation\eclipsesmarthome

-
-

Download the offline - Java Runtime Environment.

-

Go to the java - homepage download section

-

 

-

 

-

 

-

 

-

 

-

 

-

 

-

 

-

Select “See all Java - downloads”

-

 

-

Or directly go to:

-

 

-

Download the 64bit - version (something like jre-8u131-windows-x64.exe ) or the 32bit depending on - your system

-
-

https://java.com/en/download/

-

- -

-

(https://java.com/en/download/manual.jsp)

-

- -

-
-

Install the Java - Runtime Environment to the Eclipse Smart Home Designer folder

-

Start the Java - installer

-

Select on the first - screen “Change destination folder”

-

 

-

 

-

 

-

 

-

 

-

 

-

 

-

 

-

Change the folder to - \jre inside your Eclipse Smart Home Designer folder yourpcdrive:\yourdestionation\eclipseSmart Homesince this is the loaction your - Eclipse Smart Home Designer is expecting the JRE.

-

 

-

NOTE: This is now - delivering you a “portable” version of the Eclipse Smart Home Designer which - just can be copied/moved to different locations or machines without the need - of reinstalling.

-
-

- -

-

<Install>

-

- -

-

<Change>

-

yourpcdrive:\yourdestionation\eclipsesmarthome\jre

-
- -

 

- -
-
- -

 

- -

Launching -first time:

- - - - - - - - - - - - - - -
-

Execute the SmartHome-Designer.exe

-
-

yourpcdrive:\yourdestionation\eclipsesmarthome\SmartHome-Designer.exe

-

- -

-
-

Link the Eclipse - Smart Home Designer to the configuration folder on your Raspberry

-

NOTE: Make sure that - you have mapped the samba drive before (see openHAB2 setup for the samba - server)

-

 

-

 

-

 

-

 

-

 

-

If you have chosen a - different drive letter in the mapping, just replace the Z:

-
-

- -

-

Z:\etc\openhab2

-
-

Eclipse Smart Home - Designer should now recognize the file structure inside the configuration - folder and augment the different folders with different icons

-
-

- -

-
- -

 

- -
-
- -

 

- -

Chapter -8: Initializing openHAB2 (finally: first startup)

- -

To open the -openHAB2 you have to access the web GUI with a browser on your PC or directly -from your Raspberry, depending on your setup.

- -

The URL -will be http://xxx.xxx.xxx.xxx:8080/start/index filling in the IP of your Raspberry

- - - - - - - - - - -
-

First the GUI will - ask you to select the initial setup configuration.

-

This will install a - standard set of GUIs in openHAB2

-

 

-
-

- -

-
-

After a few minutes - of installation the standard openHAB2 start GUI will come up, showing you the - icons for the pre-installed GUIs:

-

<BASIC UI>

-

<PAPER UI>

-

<HABPANEL>

-
-

- -

-
- -

 

- -

Now you are -ready for the configuration of your home automation project in openHAB2!

- -
-
- -

 

- -

Chapter -10: General information about configuring openHAB2

- -

Make sure -to double check with the official website of openHAB2 since in the end this is -where you will find the correct answers if something in this tutorial is not -working:

- -

http://www.openhab.org/

- -

 

- -

As a start -you should read the beginners tutorial form beginning to end so you understand -the basic concept of things, items, rules etc. and how they are mend to work -together;

- -

http://docs.openhab.org/introduction.html

- -

 

- -

openHAB -(no 2) vs. openHAB2

- -

One of the -most important things I had to learn is that there is also an openHAB (no 2)! -So here are a few things if found out to be considerable if you are using -openHAB2:

- -

-        -Always -make sure, that you are looking at the right version of openHAB when it comes -down to documentation, since a lot of older online documentation is refereeing -to the openHAB (no 2). When a few things might be done the same/similar way in -openHAB2, other things have changed and will not work in openHAB2

- -

-        -You -will also encounter two different ways of storing configuration in openHAB.

- -

o   -In -openHAB (no 2).configuration was stored in files only

- -

o   -In -openHAB2 you can still use the files, but also can use database storage for -certain typs when you do the configuration with PAPER UI. This now might lead -to some confusion since you will not be able to change e.g. items in PAPER UI -which were configured using a text file. Also you would not have the correct syntax -highlighting in the Eclipse Smart Home Designer is expecting file configuration -only an items configured in PAPER UI will show up as errors.

- -

o   -But -be aware that some configuration in openHAB2 still has to be done via text file -like e.g. rules. You might find already some progress in the snapshot release -of openHAB2, but I decided to base this tutorial on the stable release with -limited functionality in PAPER UI database

- -

-        -Regularly -check the website of openHAB2 for news since a lot of new features are expected -to be implemented.

- -

-        -Meanwhile -be not afraid to go and sign up the openHAB community: https://community.openhab.org and ask your questions there. I got -replies to my problems within days, sometimes even within hrs. There is also a -designated area for beginners.

- -
-
- -

 

- -

Chapter -10: Configuring openHAB2 using PAPER UI

- -

Since the -online documentation is mostly referring to PAPER UI GUI I will try to stick to -this GUI as long as possible.

- -

-        -HABmin -GUI will be needed for some  Z-Wave -installation

- -

-        -HABPANEL -GUI will be used to create the final user frontend for this project

- -

NOTE: Since -you will be regularly starting and switching the GUIs I highly recommend -creating quick links in your browser for each GUI

- -

Installing -Add-ons

- - - - - - - - - - - - - - - - - - - - - - -
-

Start PAPER UI

-

 

-
-

http://xxx.xxx.xxx.xxx:8080/paperui/index.html#/inbox/search

-

- -

-
-

Select

-

-Add-ons

-

--Bindings

-

and install the - Bindings:

-

<Samsung TV - Binding>

-

<YahooWeather - Binding>

-

<YamahaReceiver - Binding>

-

<Z-Wave Binding>

-
-

- -

-
-

Result:

-

The icons of the - bindings should change to blue

-

The install option - should change to uninstall

-

(sometimes you have - to reload the page if the update is not coming up for a few minutes)

-

NOTE: Since in my - project case, the Yamaha Receiver is already connected to the same network - than my Raspberry, I do already get a message in the inbox which is telling - me, that a new thing was found

-
-

- -

-
-

Select

-

-Add-ons

-

--User Interfaces

-

and install the User - Interface HABmin

-

which we will need - for some Z-Wave stuff

-
-

- -

-
-

Result:

-

HABmin GUI is - installed

-
-

- -

-
- -

 

- -
-
- -

 

- -

General -process of adding new things to the configuration

- -

NOTE: If -you can add new things to openHAB2 depends on whether they are connected to the -network (if you use IP), whether they are included in the Z-Wave network of the -Z-Wave controller or whether your Raspberry is online if you use online sourced -like YahooWeather

- - - - - - - - - - - - - - - - - - -
-

Since in my project - case, the Yamaha Receiver is already connected to the same network than my Raspberry, - I do already get a message in the inbox which is telling me, that a new thing - was found

-

Now just click on - the blue icon with the check mark to add this thing

-
-

- -

-
-

You can now change - the name of the thing if you want to

-
-

- -

-

<ADD AS THING>

-
-

If the thing is not - found automatically, you have to add it using the blue add icon (+) to manually - add a thing.

-
-

- -

-

<(+)>

-
-

This will now show - you all the installed Bindings which can be used to add more things.

-

NOTE: You should - find all bindings there which we installed in the step Installing Add-ons.

-

Additionally you - will find the <WiFi - LED Binding>, which - we manually installed in “Chapter 6: Installation of openHAB2 on Raspberry” - since this is a snapshot Binding which we managed manually

-
-

- -

-
- -

 

- -
-
- -

 

- -

Adding -local things connected via network (IP)

- -

NOTE: Make sure that the device is connected to the Raspberry -network via IP.

- -

Adding -Things using YamahaReceiver Binding:

- - - - - - - - - - - - - - - - - - -
-

The thing should - come up automatically in you inbox as soon as you connect it to the network

-
-

- -

-
-

You can now change - the name of the thing if you want to

-

You can also change - the name of the thing if you are planning to run with your own naming - convention

-
-

- -

-

<ADD AS THING>

-
-

Optional: Select in - your PAPER UI inbox the add blue add icon (+)

-

 

-

 

-

 

-

Search for the thing - manually using the YamahaReceiver Binding

-
-

- -

-

<(+)>

-

- -

-
-

Switch to

-

-Configuration

-

--Things

-

tab and check - whether the now thing is available.

-

The green icon - online next to the name is indicating that openHAB2 is connected to the thing - and information can be exchanged

-
-

- -

-
- -

 

- -
-
- -

 

- -

Adding -Things using Samsung TV Binding:

- - - - - - - - - - - - - - - - - - -
-

The thing should - come up automatically in you inbox as soon as you connect it to the network

-
-

- - - - - - -
-
-

Picture MISSING

-
-
-
- - -

-
-

You can now change - the name of the thing if you want to

-

and add the thing.

-
-

- - - - - - -
-
-

Picture MISSING

-
-
-
- - -

-

<ADD AS THING>

-
-

Optional: Select in - your PAPER UI inbox the add blue add icon (+)

-

 

-

 

-

 

-

 

-

Search for the thing - manually using the Samsung TV Binding

-
-

- -

-

<(+)>

-

- -

-
-

Switch to

-

-Configuration

-

--Things

-

tab and check - whether the now thing is available.

-

The green icon - online next to the name is indicating that openHAB2 is connected to the thing - and information can be exchanged

-
-

- - - - - - -
-
-

Picture MISSING

-
-
-
- - -

-
- -

 

- -
-
- -

 

- -

Adding -Things using WiFi LED Binding:

- - - - - - - - - - - - - - - - - - -
-

The thing should - come up automatically in you inbox as soon as you connect it to the network

-
-

- -

-

<(+)>

-
-

You can now change - the name of the thing if you want to

-

and add the thing.

-
-

- -

-

<ADD AS THING>

-
-

Optional: Select in - your PAPER UI inbox the add blue add icon (+)

-

 

-

 

-

 

-

 

-

Search for the thing - manually using the Samsung TV Binding

-
-

- -

-

<(+)>

-

 

-

- -

-
-

Switch to

-

-Configuration

-

--Things

-

tab and check - whether the now thing is available.

-

The green icon - online next to the name is indicating that openHAB2 is connected to the thing - and information can be exchanged

-
-

- -

-
- -
-
- -

 

- -

Adding -online things connected via network (IP)

- -

NOTE: Make sure the Raspbian does have online access -pages.

- -

Adding -Things using YahooWeather Binding:

- - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Select in your PAPER - UI inbox the add blue add icon (+)

-
-

- -

-

<(+)>

-
-

Select the Binding <YahooWeather Binding>

-
-

- -

-
-

Select the thing <Weather Information>

-
-

- -

-
-

Now you have to - configure the thing

-

In this case you - have to enter the WOEID which is a 32-bit reference identifier of the - location you want to see the weather information for.

-

You can look up the - WOEID on e.g.

-

http://www.woeidlookup.com/

-

 

-

In this case we - choose Berlin

-

WOEID: 638242

-

More information on - WOEID on:

-

https://en.wikipedia.org/wiki/WOEID

-

 

-
-

- -

-

638242

-
-

Then just add the - thing by clicking on the blue check icon

-
-

- -

-

<(+)>

-
-

Switch to

-

-Configuration

-

--Things

-

tab and check - whether the now thing is available.

-

The green icon - online next to the name is indicating that openHAB2 is connected to the thing - and information can be exchanged

-
-

- -

-
- -

 

- -

 

- -

 

- -
-
- -

 

- -

Adding -things connected via Z-Wave controller

- -

NOTE: first you have to connect the Z-Wave -controller as a thing. After this you will use HABmin to further include things -into the Z-Wave network. These things should show up automatically in the inbox -of PAPER UI.

- -

Adding -Z-Wave controller

- - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Select in your PAPER - UI inbox the add blue add icon (+)

-
-

- -

-
-

Select the Binding <Z-Wave Binding>

-
-

- -

-
-

Select the thing <Z-Wave Serial Controller>

-
-

- -

-
-

Now you have to - configure the thing

-

In this case you - have to enter the serial Port of the Z-Wave controller

-

The standard port - where the UBS-Z-Wave controller should come up it:

-

/dev/ttyACM0

-
-

- -

-

/dev/ttyACM0

-
-

Then just add the - thing by clicking on the blue check icon

-
-

- -

-

<(+)>

-
-

Switch to

-

-Configuration

-

--Things

-

tab and check - whether the now thing is available.

-

The green icon - online next to the name is indicating that openHAB2 is connected to the thing - and information can be exchanged

-
-

- -

-
- -

 

- -
-
- -

 

- -

Adding -Z-Wave things using HABmin UI

- -

To include -further devices into your Z-Wave network and make the available as openHAB2 -things you have to use the HABmin inclusion functionality.

- -

Please also -consult the online documentation for general information about Z-Wave : https://github.com/openhab/org.openhab.ui.habmin/wiki/ZWave-Device-Installation

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Start HABmin

-

Direct URL: http://xxx.xxx.xxx.xxx:8080/habmin/index.html#/home

-

The select the - Things tab

-

-Configuration

-

--Things

-

HABmin will show you - all the things which are available in PAPER UI as well

-
-

- -

-
-

To start the - inclusion in HABmin you have to select the add thing icon of HABmin (magnifying - glass)

-
-

- -

-
-

Then select the - Z-Wave binding

-
-

- -

-
-

This now is - triggering the inclusion mode of your Z-Wave controller

-
-

- -

-

- -

-
-

Now you have to put - your Z-Wave devices in inclusion mode to be detected for online detection

-

(applicable when - using UZB Z-Wave PLUS USB stick by Z-Wave.Me as a Z-Wave controller

-
-

Please refer to the Z-Wave - devices manual how to put them in inclusion mode

-
-

Optional: Using the Aeotec - by Aeon Labs Z-Stick Gen5 which is allowing for offline inclusion

-

Since this Z-Wave - controller stick is allowing for offline inclusion, you have to unplug the - stick before you start the inclusion on HABmin and use the inclusion button - on the stick to start the inclusion mode inclusion mode of your Z-Wave - controller

-

The plug in the - stick again do the HABmin inclusion. You do not have to put your Z-Wave - devices again in inclusion mode.

-
-

Please refer to the Aeotec by Aeon Labs Z-Stick Gen5 - documentation for further details

-
-

And when a device is - found it will be listed

-

Just select the - <Add> button to include this device as a thing for openHAB2

-

NOTE: some devices - may come up as “unknown device”. - You can still add the device and “cure” the information later.

-

The normal reason - for this is that the device was not able to finish the communication with - HABmin during the inclusion process

-

This might be very - likely for battery powered devices since the will go to sleep mode after a - certain amount of time. To cure this you just have to manually wake up the - device (see device manual) multiple times (up to 10 times) before the - communication is completed and the device is recognized as a proper thing in - HABmin

-

ATTENTION: Using the - Aeotec by Aeon Labs Z-Stick Gen5 - almost every battery powered item will come up as “unknown device” since in the timespan you include the battery - device to the stick and you do the HABmin inclusion after you plugged the - stick back in will be to long an most of the devices will go back to sleep. - You might prevent this by manually waking up the device again just seconds - before you start the inclusion on HABmin.

-

The other reason is - that the device is not supported by the openHAB2 Z-Wave binding. You can - check the supported devices at:

-

http://www.cd-jackson.com/index.php/zwave/zwave-device-database/zwave-device-list

-
-

- -

-
-

The newly added - thing should now be visible in the HABmin GUI things tab

-

Now you can switch - to the PAPER UI and find the new things in the inbox or check the new things - in the things tab

-
-

 

-
- -

 

- -

 

- -

For -details documentation on the Z-Wave Binding usage in HABmin consult:

- -

http://www.cd-jackson.com/index.php/openhab/habmin/10-habmin-zwave-binding-initialisation

- -

 

- -
-
- -

 

- -

Creating -items form things

- -

The -concept of Things, Channels, Items and Links

- -

Before we -start please read first the concept of Things, Channels, Items and Links which is -directly tanken from the openHAB2 User Manual page http://docs.openhab.org/concepts/index.html#things-channels-items-and-links

- -

Things are -the entities that can be physically added to a system and which can potentially -provide many functionalities at once. It is important to note that things do -not have to be devices, but they can also represent a web service or any other -manageable source of information and functionality. Things provide their -functionality through a set of Channels. Channels are “passive” and can be -regarded as a declaration of a Thing, what it can offer. It is up to the -individual setup, which of the Channels are actively used through Items (see -below).

- -

Items -represent (fine-grained) functionality that is used by applications - as user -interfaces or automation logic. Items have a state and they can receive -commands.

- -

The glue -between Things and Items are Links. Links are associations between exactly one -Thing Channel and one Item. If a Channel is linked to an Item, it is “enabled”, -which means that the functionality that the Item represents is handled through -the given Channel. Channels can be linked to multiple Items and Items can be linked -to multiple Channels.

- -

To -illustrate these concepts, take a two-channel actuator that controls two -lights:

- -

- -

- -

The -actuator is the Thing. This might be installed in the electrical cabinet, it -has a physical address and needs to be setup and configured in order to be -used. The user is instead interested in the two lights, which are located at -different locations in his home. These lights are the desired functionality, -thus the Items and they are linked to the Channels of the actuator. A Link can -be regarded like a physical wire in this example.

- -
-
- -

 

- -

The basic -process of in PAPER UI is explained on: http://docs.openhab.org/tutorials/beginner/configuration.html

- -

Creating -the required items for my project

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Switch to

-

-Configuration

-

--Things

-

and select the - KeyFob_Gen5 thing

-

 

-
-

- -

-
-

A list of all the - available channels of the thing will be shown

-
-

- - - -

-
-

Now click on the - blue icon in front of the channel number to link this channel to an item

-
-

- - - -

-
-

A link channel window - will come up

-

Select the pull down - option for the item

-
-

- - - -

-
-

The next window - coming up will allow you to select already existing items or:

-

In our case <+Create - new item…>

-
-

- -

-
-

The next window will - allow you to configure the item you want to link to the thing channel

-

You can also change - the name of the item if you are planning to run with your own naming - convention

-

Then select - <LINK> to create your new item

-
-

- -

-
-

Now the blue icon to - the left of the name will change (white dot in the center)

-

By clicking on this - icon the channel will expand and show you the linked items to this cannel

-
-

- -

-
-

You can now find the - new item in

-

-Configuration

-

--Items

-

 

-
-

- -

-
- -

 

- -
-
- -

 

- -

Now -go on creating the items according to the list below

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Thing

-
-

Channel

-
-

Item

-
-

KeyFob_Gen5

-
-

zwave:device:39e18a8c:node9:scene_number

-
-

KeyFob_Gen5_SceneNumber

-
-

Weather Information

-
-

yahooweather:weather:c5d26906:temperature

-
-

Yahoo_Temperature

-
-

Weather Information

-
-

yahooweather:weather:c5d26906:humidity

-
-

Yahoo_Humidity

-
-

Yamaha Receiver RX-V581

-
-

yamahareceiver:yamahaAV:9ab0c000_f668_11de_9976_00a0dedc57ff:power

-
-

YamahaReceiverRXV581_Power

-
-

Yamaha Receiver RX-V581

-
-

yamahareceiver:yamahaAV:9ab0c000_f668_11de_9976_00a0dedc57ff:volume

-
-

YamahaReceiverRXV581_Volume

-
-

Yamaha Receiver RX-V581

-
-

yamahareceiver:yamahaAV:9ab0c000_f668_11de_9976_00a0dedc57ff:mute

-
-

YamahaReceiverRXV581_Mute

-
-

Z-Wave Node 2: - FGS223 Double Switch 2

-
-

zwave:device:39e18a8c:node2:meter_watts

-
-

DoubbleSwitch01_LeistungGesamt

-
-

Z-Wave Node 2: - FGS223 Double Switch 2

-
-

zwave:device:39e18a8c:node2:switch_binary1

-
-

DoubbleSwitch01_Relais1

-
-

Z-Wave Node 3: - MSP-3-1-X1 Z-Wave Plus Micro Smart Plug ON/OFF

-
-

zwave:device:39e18a8c:node3:switch_binary

-
-

SchuKo01

-
-

Z-Wave Node 3: - MSP-3-1-X1 Z-Wave Plus Micro Smart Plug ON/OFF

-
-

zwave:device:39e18a8c:node3:meter_watts

-
-

SchuKo01_Leistung

-
-

Z-Wave Node 6: ZW100 MultiSensor 6

-
-

zwave:device:39e18a8c:node6:sensor_relhumidity

-
-

MultiSens_Luftfeuchte

-
-

Z-Wave Node 6: ZW100 MultiSensor 6

-
-

zwave:device:39e18a8c:node6:sensor_temperature

-
-

MultiSens_Temperatur

-
-

Z-Wave Node 6: ZW100 MultiSensor 6

-
-

zwave:device:39e18a8c:node6:sensor_luminance

-
-

MultiSens_Helligkeit

-
-

HF-LPB100-ZJ200

-
-

wifiled:wifiled:F0FE6B314910:power

-
-

HFLPB100ZJ200_Power

-
-

HF-LPB100-ZJ200

-
-

wifiled:wifiled:F0FE6B314910:color

-
-

HFLPB100ZJ200_Color

-
-

HF-LPB100-ZJ200

-
-

wifiled:wifiled:F0FE6B314910:white

-
-

HFLPB100ZJ200_White

-
-

DUMMYTHING_SamsungTV

-
-

Data missing

-
-

DUMMYITEM_SamsungTV_Power

-
- -

 

- -

 

- -
-
- -

 

- -

Chapter -11: Creating a dashboard for your home automation project

- -

Every User -Interface on openHAB2 is providing its own style of dashboards to control your -home automation project, display current item states and attribute values or -even include online information like web pages.

- -

In our -configuration of openHAB2 you will have the choice of 4 different user -interfaces which can be selected

- - - - - - - - - - -
-

Start openHAB2 start - screen

-

Direct URL: http://xxx.xxx.xxx.xxx:8080/ start/index

-

Here you will now - find the GUIs:

-

<BASIC UI>

-

(requires setup - using textual *.sitemap files)

-

<PAPER UI>

-

(which were already - using to configure openHAB2)

-

<HABPANEL>

-

(this UI is all - about creating a dashboard)

-

<HABMIN>

-

(which we already - used for inclusion of Z-Wave devices)

-
-

- -

-
-

You can also install - more UIs in

-

PAPER UI Add-ons - section:

-

http://xxx.xxx.xxx.xxx:8080/paperui/index.html#/extensions

-

on the tab <USER INTERFACES>

-
-

- -

-
- -

 

- -

BASIC -UI dashboard

- -

Since this -is a beginner’s tutorial where I am trying to get things done using as less -textual coding as possible, I will not go into the details of creating a -dashboard for the BASIC UI since it requires the file based approach.

- -

Tough you -might find that some specific requirements to a dashboard can only be solved -creating this textual sitemap configuration and using BASIC UI for displaying -your dashboard.

- -

You can -find more information in how to setup and use BASIC UI on:

- -

http://docs.openhab.org/configuration/sitemaps.html

- -
-
- -

 

- -

PAPER -UI dashboard

- -

The simplest -way of creating an interactive user interface is in just clicking on the <CONTROL> -tab to PAPTER UI. Now you should see all the items grouped by the things they -belong to.

- -

- -

- -

 

- -

You can -also easily create different tabs of things by adding <Location> -information to the thing in the thing tab:

- -

NOTE: I had -issues in updating a few things, so it will be good to it while creating the -things

- -

- -

- -
-
- -

 

- -

 

- -

Now you -will have Control panel giving you various tabs with items grouped by their -things

- -

Tab <OUTSIDE>

- -

- -

- -

Standard -tab <OTHER>

- -

- -

- -

 

- -
-
- -

 

- -

HABPANEL -UI dashboard

- -

The HABPANEL -UI is all about creation a dashboard for your home automation project. -Therefore you can not to do all the configuration work for openHAB2 in this UI. -The configuration hast to be done in the other UIs

- - - - - - - - - - - - - - -
-

Start HABPANEL

-

http://xxx.xxx.xxx.xxx:8080/HABPANEL/index.html#/

-

It will come up a - complete blank panel asking you to start configuration

-
-

- -

-
-

You now can choose - to

-

<Add new - dashboard>

-

 

-
-

- -

-
-

Create switches to control the Z-Wave switches

-

Details MISSING

-
-

- - - - - - -
-
-

Picture MISSING

-
-
-
- - -

-
- -

 

- -

You can -find the standard documentation on:

- -

http://docs.openhab.org/addons/uis/HABPANEL/readme.html

- -

 

- -

HABMIN -dashboard

- -

And once -again, since this is a beginner’s tutorial I can’t go into all the -possibilities of how to create a dashboard in openHAB2. So I will not go into -creating a dashboard in HABMIN. But be aware the HABMIN is providing a powerful -graphical way of creating dashboards you might want to have a look at.

- -

You can -find the standard documentation on:

- -

http://docs.openhab.org/addons/uis/habmin/readme.html

- -

 

- -
-
- -

 

- -

Chapter -12: Creating rules

- -

Since rules -can’t be configured using the PAPER UI (stable version) you now have to go to -the text files for now. For this part we will now use the Eclipse Smart Home Designer since it -creates at least some syntax highlighting.

- -

REMARK: You -might find already some functionality about configuration of rules in the PAPER -UI snapshot versions so there will be some changes in the way of doing rules -more easily in the future. Also HABmin is providing some kind of graphical rule -engine.

- -

Creating -the myfirstrule.rules file

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Start Eclipse Smart Home Designer on - your PC

-

Make sure you have - mapped the Raspbian samba drive to your PC and Start Eclipse Smart Home Designer is set to the - right folder in this samba drive (see Chapter 7: Installation of Eclipse - Smart Home Designer -: part launching first time)

-

You should now the - augmented icons for the different folders

-

If you check the - Rules folder you will only find a readme.txt file

-
-

- -

-
-

You need to create a - file with the ending .rules to store your rules there.

-

The fastest way of - doing it is using the basic file management functionality of Eclipse Smart Home Designer

-

Right click on the readme.txt - file and select copy

-
-

- -

-
-

Then right click - again and select Paste

-
-

- -

-
-

A new window will - ask you to enter a new file name.

-
-

- -

-
-

Change the file name - to

-

myfirstrule.rules

-

an press <OK>

-
-

- -

-

myfirstrule.rules

-

<OK>

-
-

A new file will - appear in the Rules folder showing the rule icon

-
-

- -

-
-

Now double click on - the file to open it and delete the old content to have a plain rule rile

-

 

-

 

-

And save the rule - file again

-
-

- -

-

<ctrl+a>

-

<del>

-

<ctrlss>

-
- -

 

- -
-
- -

 

- -

Creating -a basic rules

- -

I will try -to give some basic rule examples to start with but you have to be aware:

- -

DISCLAIMER:

- -

I am no -coding expert at all and writing rules is still the most difficult part in my -home automation project (finding the right commands, the right syntax and so on), -so you might be better off using to other tutorials.

- -

For the -standard rules documentation incl. the rule syntax please refer to the online -documentation:

- -

http://docs.openhab.org/configuration/rules-dsl.html

- -

You can -also find some rules samples on:

- -

https://github.com/openhab/openhab1-addons/wiki/Samples-Rules

- -

 

- -

And maybe -some coding experts in the community will find the time to create a kind of an -openHAB2 compendium to make it easier the non-experts to do rules.

- -

REMAKR: -Yes, I know there are plenty of online documentation sites available, but the -problem for me was the “plenty” part of it since I always had to go through -plenty different websites to finally get the syntax right and make the rule do, -what I wanted it to do.

- -

 

- -
-
- -

 

- -

Basic -rule example:

- -

We will use -the:

- -

KeyFob_Gen5

- -

to control -some items linked to

- -

Z-Wave Node -2: FGS223 Double Switch 2

- -

Z-Wave Node -3: MSP-3-1-X1 Z-Wave Plus Micro Smart Plug ON/OFF

- -

Yamaha -Receiver RX-V581

- -

DUMMYTHING_SamsungTV

- -

HF-LPB100-ZJ200 -(WiFi LED)

- - - - - - - - - - -
-

Just copy the code - to the right directly into your myfirstrule.rules file

-

 

-
-

rule "KeyFob"

-

 

-

when

-

      Item - ZWaveNode9ZW0884ButtonKeyfobGen5_SceneNumber received update

-

then

-

//Scene number 1 - Button 1 (up left) pressed - short

-

      if (ZWaveNode9ZW0884ButtonKeyfobGen5_SceneNumber.state - == 1) {

-

//Swithing ON the items - DoubbleSwitch01_Relais1 and SchuKo01

-

                  sendCommand - (DoubbleSwitch01_Relais1, ON)

-

                  sendCommand - (SchuKo01, ON)

-

      }

-

 

-

//Scene number 2 - Button 1 (up left) pressed - long

-

      if (ZWaveNode9ZW0884ButtonKeyfobGen5_SceneNumber.state - == 2) {

-

//Swithing OFF the items - DoubbleSwitch01_Relais1 and SchuKo01

-

                  sendCommand - (DoubbleSwitch01_Relais1, OFF)

-

                  sendCommand - (SchuKo01, OFF)

-

      }

-

 

-

//Scene number 3 - Button 2 (up left) pressed - short

-

      if (ZWaveNode9ZW0884ButtonKeyfobGen5_SceneNumber.state - == 3) {

-

//Switching ON the items - YamahaReceiverRXV581_Power and DUMMYITEM_SamsungTV_Power

-

                  sendCommand - (YamahaReceiverRXV581_Power, ON)

-

                  sendCommand - (DUMMYITEM_SamsungTV_Power, ON)

-

      }

-

 

-

//Scene number 4 - Button 2 (up left) pressed - long

-

      if (ZWaveNode9ZW0884ButtonKeyfobGen5_SceneNumber.state - == 4) {

-

//Switching OFF the items - YamahaReceiverRXV581_Power and DUMMYITEM_SamsungTV_Power

-

                  sendCommand - (YamahaReceiverRXV581_Power, OFF)

-

                  sendCommand - (DUMMYITEM_SamsungTV_Power, OFF)        

-

      }

-

 

-

//Scene number 5 - Button 3 (up left) pressed - short

-

      if (ZWaveNode9ZW0884ButtonKeyfobGen5_SceneNumber.state - == 5) {

-

//Switching ON the item HFLPB100ZJ200_Power

-

                  sendCommand - (HFLPB100ZJ200_Power, ON)  

-

      }

-

 

-

//Scene number 6 - Button 3 (up left) pressed - long

-

      if (ZWaveNode9ZW0884ButtonKeyfobGen5_SceneNumber.state - == 6) {

-

//Switching OFF the item HFLPB100ZJ200_Power

-

                  sendCommand - (HFLPB100ZJ200_Power, OFF) 

-

      }

-

 

-

 

-

//Scene number 7 - Button 4 (up left) pressed - short

-

      if (ZWaveNode9ZW0884ButtonKeyfobGen5_SceneNumber.state - == 7) {

-

//NOTE: since setting the color will influence - the dimming of the WHITE

-

//          so - if you want to set both values at the same time, always

-

//          set - color first and than

-

//      - set the dimming of WHITE

-

 

-

//Changing the color of the item - HFLPB100ZJ200_Color to RED

-

//openHAB2 is requesting the color to be set - in HSL code (Hue, Saturation, Lightness" or in openHAB terms - "HSBType" (Hue, Saturation, Brightness)

-

//To convert RGB code to HSL code just go to - e.g. http://www.rapidtables.com/convert/color/rgb-to-hsl.htm

-

                  sendCommand - (HFLPB100ZJ200_Color,(new HSBType("0,100,50")))

-

//Dimming the item HFLPB100ZJ200_White to 50%

-

                  sendCommand - (HFLPB100ZJ200_White, 50)

-

      }

-

     

-

//Scene number 8 - Button 4 (up left) pressed - long

-

      if (ZWaveNode9ZW0884ButtonKeyfobGen5_SceneNumber.state - == 8) {

-

//NOTE: since setting the color will influence - the dimming of the WHITE

-

//          so - if you want to set both values at the same time, always

-

//          set - color first and than

-

//      - set the dimming of WHITE

-

 

-

//Changing the color of the item - HFLPB100ZJ200_Color to GREEN

-

//openHAB2 is requesting the color to be set - in HSL code (Hue, Saturation, Lightness" or in openHAB terms "HSBType" - (Hue, Saturation, Brightness)

-

//To convert RGB code to HSL code just go to - e.g. http://www.rapidtables.com/convert/color/rgb-to-hsl.htm

-

                  sendCommand - (HFLPB100ZJ200_Color,(new HSBType("120,100,50")))

-

                  //Dimming the item - HFLPB100ZJ200_White to 100%

-

                  sendCommand (HFLPB100ZJ200_White, 100)

-

      }

-

end  

-
-

Save the rule file.

-

The rule should now - be available

-
-

<crtl+s>

-
- -

 

- -

Test it by -clicking through the buttons (pressed long and pressed short)

- -

NOTE: When -working with rules for the WiFi LED be aware, that the controller is storing -the setting when you send the OFF command. So if you want you switch on the LED -with a different color you might be better off in setting the color to black -before switching off you if you switch on again the LED starts black and not in -the old color.

- -
-
- -

 

- -

Basic -tips for debugging rules

- -

Creating -an item the see the value of a variable of a rule online

- -

The -standard way of debugging a rule would be to use a logfile.

- -

For simple -problems you might also be able to visualize the variables online by creation -item with the same type and posting the value of the variable inside the rule

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

If you are using a - variable in your rule initially set to

-
-

var Number loop_counter = 0

-

 

-
-

Create the item Counter_Item with the same type:

-

In PAPER UI switch - to

-

-Configuration

-

--Items

-

And press the blue - icon (+)

-

Enter Name Counter_Item

-

Select Typ <Number>

-

And confirm the - creation by clicking again on the blue icon (+)

-
-

- -

-

Counter_Item

-

<Number>

-

<(+)>

-
-

Result:

-

A new item called Counter_Item

-

should be visible in - the item tab

-

NOTE: Since this - Item is not linked to a thing it will not show up in the <Control> Tab to PAPER UI.

-
-

- -

-
-

Now enter a line - into your rule to post the value of the var to the Counter_Item

-
-

postUpdate(Counter_Item, - loop_counter)

-
-

To show the value on - a dashboard you have to use e.g. HABPANEL

-

Start HABPANEL

-

http://xxx.xxx.xxx.xxx:8080/HABPANEL/index.html#/

-

and select <Edit dashboards> in the upper right corner

-

then <Add new - dashboard>

-

 

-

 

-

enter the name Debug and <OK>

-
-

- - - -

-

- -

-

Debug

-

<OK>

-
-

Now you should have - the dashboard <Debug> available in your HABPANEL

-

Select the dashboard

-
-

- -

-
-

If you now hover - with your mouse right of the dashboard name the <Edit Debug> - icon will appear.

-

Click on it to enter - the edit mode.

-
-

- -

-

<Edit Debug>

-
-

The edit mode is - indicated by the two icons <Save> - and <Run>

-
-

- -

-
-

Now you have to <+ Add Widget>

-

 

-

 

-

 

-

 

-

You have to use the <Dummy> widget to display numbers

-
-

- -

-

<+ Add Widget>

-

<Dummy>

-
-

The new Widget will - appear on your dashboard

-

NOTE: you can easily - change the size of the widget by dragging the lower right corner. I will snap - to a predefined grid

-
-

- -  

-
-

To edit the widget - you have to click on the 3 dots in the upper right corner of the widget and - select <Edit>

-
-

- - - -

-

<.>

-

<Edit>

-
-

In this window you - can change the name to Counter - Item Debug

-

You - have to select the openHAB - item <Counter_Item> to link it to this widget.

-

Optional - you can change font size, add a unit and format or add some icons.

-

Now <Save> the widget.

-
-

- -

-

Counter Item Debug

-

<Counter_Item>

-

<Save>

-
-

Now <Save> the dashboard and <Run> it.

-

 

-
-

- -   - -

-

<Save>

-

<Run>

-
-

You will now see the - value of your rule variable displayed dynamically on your HABPANEL dashboard

-
-

- -

-
- -
-
- -

Creating -a virtual switch on HABPANEL to use it in a rule

- -

This switch -might come handy if you are debugging your rule while physically having no -access to the switch. Standing up and running to the switch might do you some -good when it comes down to fitness but surely is disturbing while developing -your rule

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Create the item Dummy_Switch with the same type:

-

In PAPER UI switch - to

-

-Configuration

-

--Items

-

And press the blue - icon (+)

-

Enter Name - Dummy_Switch

-

Select Typ <Switch>

-

And confirm the - creation by clicking again on the blue icon (+)

-
-

- -

-

Dummy_Switch

-

<Switch>

-

<(+)>

-
-

Result:

-

A new item called Dummy_Switch

-

should be visible in - the item tab

-

NOTE: Since this - Item is not linked to a thing it will not show up in the <Control> Tab to PAPER UI.

-
-

- -

-
-

Now replace the item - name of the physical_switch with the name of the Dummy_Switch

-
-

physical_switch

-

will become Dummy_Switch

-
-

To use the Dummy_Switch on a dashboard you have to use - e.g. HABPANEL

-

Start HABPANEL

-

http://xxx.xxx.xxx.xxx:8080/HABPANEL/index.html#/

-

and select <Edit dashboards> in the upper right corner

-

then <Add new - dashboard>

-

 

-

 

-

enter the name Debug and <OK>

-
-

- - - -

-

- -

-

Debug

-

<OK>

-
-

Now you should have - the dashboard <Debug> available in your HABPANEL

-

Select the dashboard

-
-

- -

-
-

If you now hover - with your mouse right of the dashboard name the <Edit Debug> - icon will appear.

-

Click on it to enter - the edit mode.

-
-

- -

-

<Edit Debug>

-
-

The edit mode is - indicated by the two icons <Save> - and <Run>

-
-

- -

-
-

Now you have to <+ Add Widget>

-

 

-

 

-

 

-

 

-

You have to use the <Button> widget to display numbers

-
-

- -

-

<+ Add Widget>

-

<Button>

-
-

The new Widget will - appear on your dashboard

-

NOTE: you can easily - change the size of the widget by dragging the lower right corner. I will snap - to a predefined grid

-
-

- -  

-
-

To edit the widget - you have to click on the 3 dots in the upper right corner of the widget and - select <Edit>

-
-

- - - -

-

<.>

-

<Edit>

-
-

In this window you - can change the name to Dummy - Switch ON/OFF

-

You have to select - the openHAB item <Dummy_Switch> to link it to this widget.

-

Optional you can select - display options and icons

-

Now <Save> the widget.

-
-

- -

-

Dummy Switch ON/OFF

-

<Dummy_Switch>

-

<Save>

-
-

Now <Save> the dashboard and <Run> it.

-

 

-
-

- -   - -

-

<Save>

-

<Run>

-
-

You will now see the - Dummy_Switch Item be visualized by the Dummy Switch ON/OFF widget.

-

The initial state - should be <Inactive>

-

Just click on the - widget to change the state to <Active>

-
-

- -   - -

-
- -

 

- -
-
- -

 

- -

Further -Rule examples based on this home automation project:

- -

Switching -ON/OFF switches based on luminance reading of the multisensory

- -

The rule is -designed to switch on/off the Z-Wave Node 2: FGS223 Double Switch 2 based on -the illumination measured by the Z-Wave Node 6: ZW100 MultiSensor 6

- -

The trigger -value is set to 10 LUX

- -

To prevent -von switching on/off if the illumination is around 10 lumen and e.g. just a -cloud is casting a temporarily shadow, there is a counter included which is -measuring multiple times the illumination and only allows to triggering the -switch if there reading is consistently (10 times) above or below the trigger -value.

- -

NOTE: Make -sure you have create the item Counter_Item since it’s used in the rule (see: -part “Creating an item the see the value of a variable of a rule online” in -this chapter).

- -

REMARK: -This was done as some kind of coding and configuring HABPANEL exercise. You -might get the same result in just checking the reading in a less frequent -period, forget about the counter and just trigger the switch when the -illumination reading is above or below the trigger value.

- -

You can -also use this Counter_Item to display some tendency whether your light is about -to switch ON/OFF depending on the value of the Counter_Item on your dashboard. -So if you play a little with the “knob” widget in HABPANEL it might look like -this:

- -

- -  - -  - -  - -

- -

Then you add some other readings -of your multissor, the wattage reading and trigger of your switch, a clock -widget and you have a complete dashboard of your real weather and let it -trigger your outside ligth.

- -

- -
-

- -

You can -just add these lines at the bottom of your existing rule file or create a new -file in the same folder

- - - - - -
-

 

-

var Number loop_counter = 0

-

 

-

 

-

rule "check_illumination"

-

// using the loop_counter to ensure that it is

-

// 10 times in a row darker/lighter before - triggering switch

-

 

-

when

-

// every x seconds "0/x" the value - is checked

-

// 0/30 means every 30 sec the value is - checked

-

      Time cron "0/30 * * ? * * *"

-

then

-

// reset loop_counter if required (counter - outside -5 +5 range)

-

if (loop_counter >= -5 && loop_counter <= 5){

-

// <= 10 is defining the LUX trigger value - when ligth is swiched ON/OFF

-

      if (MultiSens_Helligkeit.state - <= 10) {

-

            if (loop_counter > -5) {

-

                  loop_counter = loop_counter -1

-

                  postUpdate(Counter_Item, - loop_counter)

-

            }

-

            else {

-

                  if (DoubbleSwitch01_Relais1.state - == OFF)

-

                  sendCommand - (DoubbleSwitch01_Relais1, ON)

-

            }

-

      }

-

      else

-

            if (loop_counter < 5) {

-

                  loop_counter =loop_counter +1

-

                  postUpdate(Counter_Item, - loop_counter)

-

            }

-

            else {

-

                  if (DoubbleSwitch01_Relais1.state - == ON)

-

                  sendCommand - (DoubbleSwitch01_Relais1, OFF)

-

            }

-

            }

-

else {

-

            loop_counter = 0

-

            }

-

end

-
- -

And save -the file

- -

 

- -

Markdown -for GitHub:

- -

https://guides.github.com/features/mastering-markdown/

- -

https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet

- -

https://help.github.com/articles/working-with-advanced-formatting/

- -

 

- -

https://help.github.com/articles/basic-writing-and-formatting-syntax/

- -

 

- -
- - - -