diff --git a/temp/test-Dateien/colorschememapping.xml b/temp/test-Dateien/colorschememapping.xml new file mode 100644 index 0000000..6a0069c --- /dev/null +++ b/temp/test-Dateien/colorschememapping.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/temp/test-Dateien/image001.jpg b/temp/test-Dateien/image001.jpg new file mode 100644 index 0000000..91d51cd Binary files /dev/null and b/temp/test-Dateien/image001.jpg differ diff --git a/temp/test-Dateien/image002.jpg b/temp/test-Dateien/image002.jpg new file mode 100644 index 0000000..47f0b81 Binary files /dev/null and b/temp/test-Dateien/image002.jpg differ diff --git a/temp/test-Dateien/image003.jpg b/temp/test-Dateien/image003.jpg new file mode 100644 index 0000000..d36a63f Binary files /dev/null and b/temp/test-Dateien/image003.jpg differ diff --git a/temp/test-Dateien/image004.jpg b/temp/test-Dateien/image004.jpg new file mode 100644 index 0000000..1262caf Binary files /dev/null and b/temp/test-Dateien/image004.jpg differ diff --git a/temp/test-Dateien/image005.jpg b/temp/test-Dateien/image005.jpg new file mode 100644 index 0000000..442fa4b Binary files /dev/null and b/temp/test-Dateien/image005.jpg differ diff --git a/temp/test-Dateien/image006.jpg b/temp/test-Dateien/image006.jpg new file mode 100644 index 0000000..d9660d6 Binary files /dev/null and b/temp/test-Dateien/image006.jpg differ diff --git a/temp/test-Dateien/image007.jpg b/temp/test-Dateien/image007.jpg new file mode 100644 index 0000000..80fbcfa Binary files /dev/null and b/temp/test-Dateien/image007.jpg differ diff --git a/temp/test-Dateien/image008.jpg b/temp/test-Dateien/image008.jpg new file mode 100644 index 0000000..49a037c Binary files /dev/null and b/temp/test-Dateien/image008.jpg differ diff --git a/temp/test-Dateien/image009.png b/temp/test-Dateien/image009.png new file mode 100644 index 0000000..5d231ff Binary files /dev/null and b/temp/test-Dateien/image009.png differ diff --git a/temp/test-Dateien/image010.png b/temp/test-Dateien/image010.png new file mode 100644 index 0000000..0444cc0 Binary files /dev/null and b/temp/test-Dateien/image010.png differ diff --git a/temp/test-Dateien/image011.png b/temp/test-Dateien/image011.png new file mode 100644 index 0000000..5d8efbb Binary files /dev/null and b/temp/test-Dateien/image011.png differ diff --git a/temp/test-Dateien/image012.png b/temp/test-Dateien/image012.png new file mode 100644 index 0000000..7c48afe Binary files /dev/null and b/temp/test-Dateien/image012.png differ diff --git a/temp/test-Dateien/image013.jpg b/temp/test-Dateien/image013.jpg new file mode 100644 index 0000000..7f82c62 Binary files /dev/null and b/temp/test-Dateien/image013.jpg differ diff --git a/temp/test-Dateien/image014.jpg b/temp/test-Dateien/image014.jpg new file mode 100644 index 0000000..f5d4e43 Binary files /dev/null and b/temp/test-Dateien/image014.jpg differ diff --git a/temp/test-Dateien/image015.jpg b/temp/test-Dateien/image015.jpg new file mode 100644 index 0000000..7a5f803 Binary files /dev/null and b/temp/test-Dateien/image015.jpg differ diff --git a/temp/test-Dateien/image016.jpg b/temp/test-Dateien/image016.jpg new file mode 100644 index 0000000..964aa2c Binary files /dev/null and b/temp/test-Dateien/image016.jpg differ diff --git a/temp/test-Dateien/image017.jpg b/temp/test-Dateien/image017.jpg new file mode 100644 index 0000000..00add82 Binary files /dev/null and b/temp/test-Dateien/image017.jpg differ diff --git a/temp/test-Dateien/image018.jpg b/temp/test-Dateien/image018.jpg new file mode 100644 index 0000000..eca91cb Binary files /dev/null and b/temp/test-Dateien/image018.jpg differ diff --git a/temp/test-Dateien/image019.jpg b/temp/test-Dateien/image019.jpg new file mode 100644 index 0000000..ad4ac2a Binary files /dev/null and b/temp/test-Dateien/image019.jpg differ diff --git a/temp/test-Dateien/image020.jpg b/temp/test-Dateien/image020.jpg new file mode 100644 index 0000000..8b64b91 Binary files /dev/null and b/temp/test-Dateien/image020.jpg differ diff --git a/temp/test-Dateien/image021.jpg b/temp/test-Dateien/image021.jpg new file mode 100644 index 0000000..907c6bf Binary files /dev/null and b/temp/test-Dateien/image021.jpg differ diff --git a/temp/test-Dateien/image022.jpg b/temp/test-Dateien/image022.jpg new file mode 100644 index 0000000..9465ae8 Binary files /dev/null and b/temp/test-Dateien/image022.jpg differ diff --git a/temp/test-Dateien/image023.jpg b/temp/test-Dateien/image023.jpg new file mode 100644 index 0000000..cbb4bf4 Binary files /dev/null and b/temp/test-Dateien/image023.jpg differ diff --git a/temp/test-Dateien/image024.jpg b/temp/test-Dateien/image024.jpg new file mode 100644 index 0000000..a8191ce Binary files /dev/null and b/temp/test-Dateien/image024.jpg differ diff --git a/temp/test-Dateien/image025.jpg b/temp/test-Dateien/image025.jpg new file mode 100644 index 0000000..6bd754a Binary files /dev/null and b/temp/test-Dateien/image025.jpg differ diff --git a/temp/test-Dateien/image026.jpg b/temp/test-Dateien/image026.jpg new file mode 100644 index 0000000..6707ba3 Binary files /dev/null and b/temp/test-Dateien/image026.jpg differ diff --git a/temp/test-Dateien/image027.jpg b/temp/test-Dateien/image027.jpg new file mode 100644 index 0000000..3bea53b Binary files /dev/null and b/temp/test-Dateien/image027.jpg differ diff --git a/temp/test-Dateien/image028.png b/temp/test-Dateien/image028.png new file mode 100644 index 0000000..9fc48a7 Binary files /dev/null and b/temp/test-Dateien/image028.png differ diff --git a/temp/test-Dateien/image029.png b/temp/test-Dateien/image029.png new file mode 100644 index 0000000..5389dfd Binary files /dev/null and b/temp/test-Dateien/image029.png differ diff --git a/temp/test-Dateien/image030.jpg b/temp/test-Dateien/image030.jpg new file mode 100644 index 0000000..72a9af5 Binary files /dev/null and b/temp/test-Dateien/image030.jpg differ diff --git a/temp/test-Dateien/image031.png b/temp/test-Dateien/image031.png new file mode 100644 index 0000000..c9126c1 Binary files /dev/null and b/temp/test-Dateien/image031.png differ diff --git a/temp/test-Dateien/image032.png b/temp/test-Dateien/image032.png new file mode 100644 index 0000000..758469d Binary files /dev/null and b/temp/test-Dateien/image032.png differ diff --git a/temp/test-Dateien/image033.png b/temp/test-Dateien/image033.png new file mode 100644 index 0000000..ee2dfb4 Binary files /dev/null and b/temp/test-Dateien/image033.png differ diff --git a/temp/test-Dateien/image034.png b/temp/test-Dateien/image034.png new file mode 100644 index 0000000..e5f6447 Binary files /dev/null and b/temp/test-Dateien/image034.png differ diff --git a/temp/test-Dateien/image035.jpg b/temp/test-Dateien/image035.jpg new file mode 100644 index 0000000..73efabf Binary files /dev/null and b/temp/test-Dateien/image035.jpg differ diff --git a/temp/test-Dateien/image036.jpg b/temp/test-Dateien/image036.jpg new file mode 100644 index 0000000..f84b95a Binary files /dev/null and b/temp/test-Dateien/image036.jpg differ diff --git a/temp/test-Dateien/image037.jpg b/temp/test-Dateien/image037.jpg new file mode 100644 index 0000000..bed6c58 Binary files /dev/null and b/temp/test-Dateien/image037.jpg differ diff --git a/temp/test-Dateien/image038.jpg b/temp/test-Dateien/image038.jpg new file mode 100644 index 0000000..bb41db3 Binary files /dev/null and b/temp/test-Dateien/image038.jpg differ diff --git a/temp/test-Dateien/image039.jpg b/temp/test-Dateien/image039.jpg new file mode 100644 index 0000000..2553bbf Binary files /dev/null and b/temp/test-Dateien/image039.jpg differ diff --git a/temp/test-Dateien/image040.jpg b/temp/test-Dateien/image040.jpg new file mode 100644 index 0000000..ff52f44 Binary files /dev/null and b/temp/test-Dateien/image040.jpg differ diff --git a/temp/test-Dateien/image041.jpg b/temp/test-Dateien/image041.jpg new file mode 100644 index 0000000..8e64e4e Binary files /dev/null and b/temp/test-Dateien/image041.jpg differ diff --git a/temp/test-Dateien/image042.jpg b/temp/test-Dateien/image042.jpg new file mode 100644 index 0000000..a556232 Binary files /dev/null and b/temp/test-Dateien/image042.jpg differ diff --git a/temp/test-Dateien/item0001.xml b/temp/test-Dateien/item0001.xml new file mode 100644 index 0000000..7afd858 --- /dev/null +++ b/temp/test-Dateien/item0001.xml @@ -0,0 +1 @@ + diff --git a/temp/test-Dateien/props002.xml b/temp/test-Dateien/props002.xml new file mode 100644 index 0000000..2baed6c --- /dev/null +++ b/temp/test-Dateien/props002.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/temp/test-Dateien/themedata.thmx b/temp/test-Dateien/themedata.thmx new file mode 100644 index 0000000..f7418b3 Binary files /dev/null and b/temp/test-Dateien/themedata.thmx differ diff --git a/temp/test.htm b/temp/test.htm new file mode 100644 index 0000000..ab8be20 --- /dev/null +++ b/temp/test.htm @@ -0,0 +1,17538 @@ + + + + + + + + + + + + + + + + + + + + +
+ +
+ +

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/

+ +

 

+ +
+ + + +