diff --git a/openHAB2_Raspberry_beginner-s_walkthrough_-_2nd _DRAFT.htm b/openHAB2_Raspberry_beginner-s_walkthrough_-_2nd _DRAFT.htm new file mode 100644 index 0000000..9b8bd3a --- /dev/null +++ b/openHAB2_Raspberry_beginner-s_walkthrough_-_2nd _DRAFT.htm @@ -0,0 +1,10203 @@ + + +
+ + + + + + + + +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
+ + + + + +Is openHAB2 the +right choice for my home automation project?6
+ + + +A few words about +the 2 in openHAB2:6
+ + + + + +Minimal setup of the +controller:7
+ +Additional hardware +for optional setup of the controller with 7” Raspberry display: 8
+ + + +Z-Wave sensors, +switches and actuators10
+ +LAN devices (cable +or WiFi)11
+ + + + + + + +Chapter 3: Raspberry +hardware and Raspbian OS installation14
+ +General information +about Raspberry interfaces and GPIO pins:14
+ + + +Raspberry GPIO pin +Overview:14
+ +Preparing MicroSD +card - writing Raspbian image to MicroSD card (PC required): 15
+ +Connecting the +hardware to the Raspberry16
+ + + +Optional: +Installation of 7” Raspberry display and display case: 17
+ +Display installation +pictures:17
+ +Chapter 4: Raspbian +basic configuration21
+ +Starting up +Raspberry or the first time – Raspbian PIXEL desktop. 21
+ + + +Basic terminal +commands and functions:22
+ +Initial +configuration of Raspbian23
+ + + +Optional: Change +display orientation24
+ + + + + +Connect Raspberry to +network:27
+ +Check the IP address +of the Raspberry:27
+ + + +Optional Raspberry +settings and configuration:28
+ +Check partition size +on MicroSD card:28
+ +Create a Desktop +icon and link it to a application28
+ + + +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 boot31
+ +Configure the +autostart file:31
+ +Select the start URL +for Chromium web browser:31
+ +Chapter 5: Setting +up Raspbian for access via PC33
+ +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
+ + + +Common samba server +commands:36
+ +Optional: Generic +samba user setup37
+ + + +Chapter 6: Installation +of openHAB2 on Raspberry39
+ +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 tty41
+ +Granting java +environment access to serial ports41
+ +Chapter 7: +Installation of Eclipse Smart Home Designer42
+ +Installation guide +for windows (Eclipse Smart Home Designer and Java Runtime Environment): 42
+ + + +Chapter 8: +Initializing openHAB2 (finally: first startup)45
+ +Chapter 10: General +information about configuring openHAB246
+ +openHAB (no 2) vs. +openHAB246
+ +Chapter 10: +Configuring openHAB2 using PAPER UI47
+ + + +General process of +adding new things to the configuration49
+ +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 things +using HABmin UI55
+ +For details +documentation on the Z-Wave Binding usage in HABmin consult: 56
+ + + +The concept of Things, Channels, Items and Links57
+ +Creating the +required items for my project58
+ +Now go on creating +the items according to the list below59
+ +Chapter 11: Creating +a dashboard for your home automation project60
+ + + + + + + + + + + +Creating the +myfirstrule.rules file64
+ + + + + +Basic tips for +debugging rules70
+ +Creating an item the +see the value of a variable of a rule online70
+ +Creating a virtual +switch on HABPANEL to use it in a rule72
+ +Further Rule +examples based on this home automation project:74
+ +Switching ON/OFF +switches based on luminance reading of the multisensory. 74
+ ++ +
+ +
+ +
+ 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 + |
+
+ +
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.
+ +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.
+ ++ +
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.
+
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:
+ +
+ 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) + |
+ + + | +
+ +
(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) + |
+ + + | +
+ +
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 + |
+
+ + |
+
+ +
+ +
+ +
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). + |
+ + + | +
+ Z-Wave Aeotec by Aeon Labs ZW100 Multisensor + |
+ + + | +
+ 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
+ ++ +
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 + |
+ + + | +
+ +
+ +
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)
+ +
+ 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) + |
+ + + | +
+ 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) + |
+ + + | +
+ PuTTY +or KiTTY portable +to access the Raspberry console from your PC + |
+
+
+ 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) ++ |
+ + + | +
+ +
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)
+ ++ +
+ +
+ +
+ +
+ 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 +
|
+
+ + |
+
+ +
+ +
+ + |
+
+ + |
+
+ 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. + |
+ + + | +
+ +
+ +
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)
+ +
+ 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 ++ |
+
+ +
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:
+ ++ +
+ +
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
+ ++ +
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)
+ +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 + |
+
+ + |
+
+ + |
+
+ + |
+
+ + |
+
+ + |
+
+ + |
+
+ + |
+
+ + |
+
+ + |
+
+ + |
+
+ +
+ +
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.
+ ++ +
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 + |
+
+ + |
+
+ +
+ +
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 + |
+
+ +
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 + |
+
+ +
+ +
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 + |
+
+ +
+ +
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 + |
+
+ +
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)
+ ++ +
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 + |
+
+ +
+ +
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.
+ ++ +
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> + |
+
+ +
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> + |
+
+ +
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 + |
+
+ +
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 + |
+
+ +
+ +
If you are working with the 7” Raspberry +display setup you might want to use a screensaver as well.
+ +
+ Open Terminal + |
+ + + | +
+ Install xscreensaver and some additional screen + saver themes + |
+
+ sudo apt-get install xscreensaver xscreensaver-data-extra + xscreensaver-gl-extra +<y> + |
+
+ +
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 + |
+
+ + |
+
+ +
+ +
+ 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 + |
+
+ +
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 ++ |
+ + + | +
+ To check if it is working +Close Chromium browser +Open Chromium browser +Result: http://yoururl.com + should be loaded on startup (in my example I + selected the openHAB2 GUI start page ) +Optional: If you have completed your openHAB2 + configuration and want to use HABPANEL as GUI you can just use the URL + http://xxx.xxx.xxx.xxx:8080/HABPANEL/index.html#/ +or even start specific pages in the HABPANEL GUI + (just use the URL shown in the browser when you access the HABPANEL page) + |
+
+
+ http://xxx.xxx.xxx.xxx:8080/start/index + |
+
+ +
+ +
+ 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 + |
+
+ + |
+
+ +
+ +
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 + |
+ + + | +
+ +
+ +
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 + |
+
+ +
+ 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 + |
+
+ +
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. + |
+
+ +
+ +
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 ++ |
+
+ +
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 + |
+
+ +
+ 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 + |
+
+ +
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 + |
+
+ +
+ +
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.
+ +
+ 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 + |
+
+ +
+ 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 + |
+
+ +
(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
+ ++ +
+ 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 + |
+ + + + + + | +
+ 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 + |
+
+ +
+ +
+ 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 + |
+ + + | +
+ +
+ +
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!
+ ++ +
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:
+ + + ++ +
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
+ ++ +
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.
+ ++ +
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
+ +
+ 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 + |
+ + + | +
+ +
+ +
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 + |
+ + + | +
+ +
+ +
NOTE: Make +sure that the device is connected to the Raspberry network via IP.
+ +
+ 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 + |
+ + + | +
+ +
+ +
+ 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 + |
+ + + | +
+ +
+ 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 + |
+ + + | +
+ +
NOTE: Make +sure the Raspbian does have online access pages.
+ +
+ 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. + ++ 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 + |
+ + + | +
+ +
+ +
+ +
+ +
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.
+ +
+ 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 + |
+ + + | +
+ +
+ +
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 + |
+
+ + |
+
+ +
+ +
http://www.cd-jackson.com/index.php/openhab/habmin/10-habmin-zwave-binding-initialisation
+ ++ +
+ +
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
+ +
+ 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 ++ |
+ + + | +
+ +
+ +
+ 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 + |
+
+ +
+ +
+ +
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://192.168.2.106:8080/paperui/index.html#/extensions +on the tab <USER INTERFACES> + |
+ + + | +
+ +
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
+ ++ +
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>
+ + + ++ +
+ +
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 + |
+ + + | +
+ +
You can find the standard documentation on:
+ +http://docs.openhab.org/addons/uis/HABPANEL/readme.html
+ +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
+ ++ +
+ +
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.
+ +
+ 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> + |
+
+ +
+ +
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.
+ ++ +
+ +
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)
+
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 + |
+ + + | +
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> + |
+
+ + |
+
+ +
+ +
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
+ ++ +