-
Notifications
You must be signed in to change notification settings - Fork 21
/
gettingstarted.html
executable file
·351 lines (322 loc) · 22 KB
/
gettingstarted.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
<!DOCTYPE html>
<!--[if lt IE 7 ]><html class="ie ie6" lang="en"> <![endif]-->
<!--[if IE 7 ]><html class="ie ie7" lang="en"> <![endif]-->
<!--[if IE 8 ]><html class="ie ie8" lang="en"> <![endif]-->
<!--[if (gte IE 9)|!(IE)]><!-->
<html lang="en">
<!--<![endif]-->
<head>
<!-- Basic Page Needs
================================================== -->
<meta charset="utf-8">
<title>openHAB - empowering the smart home</title>
<meta name="description" content="OHMY! HTML5 responsive Website template based on Twitter Bootstrap framework. Easy to customize.">
<meta name="author" content="Little NEKO">
<!-- Mobile Specific Metas
================================================== -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- CSS
================================================== -->
<!-- Bootstrap -->
<link type="text/css" rel="stylesheet" href="bootstrap/css/bootstrap.min.css">
<!-- web font -->
<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,300,800" rel="stylesheet" type="text/css">
<!-- plugin css -->
<link rel="stylesheet" type="text/css" href="js-plugin/pretty-photo/css/prettyPhoto.css" />
<link rel="stylesheet" type="text/css" href="js-plugin/rs-plugin/css/settings.css" media="screen" />
<link type="text/css" rel="stylesheet" href="js-plugin/hoverdir/css/style.css">
<!-- icon fonts -->
<link type="text/css" rel="stylesheet" href="font-icons/custom-icons/css/custom-icons.css">
<link type="text/css" rel="stylesheet" href="font-icons/custom-icons/css/custom-icons-ie7.css">
<!-- Custom css -->
<link type="text/css" rel="stylesheet" href="css/layout.css">
<link type="text/css" id="colors" rel="stylesheet" href="css/colors.css">
<!--[if lt IE 9]><script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
<!--[if gte IE 9]><style type="text/css">.iconBig, .active, .hover a , .Shover a { filter: none !important; } </style> <![endif]-->
<link href="https://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet">
<script src="js/modernizr-2.6.1.min.js"></script>
<!-- Favicons
================================================== -->
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<link rel="icon" href="favicon.ico" type="image/x-icon" />
<link rel="apple-touch-icon" href="apple-icon.png" />
<style type="text/css">
.inversedlink {
color:#FFFFFF;
}
.inversedlink:hover {
color:#FFFFFF;
}
.inversedlink:visited {
color:#FFFFFF;
}
.inversedlink:active {
color:#FFFFFF;
}
</style>
</head>
<body>
<!-- Primary Page Layout
================================================== -->
<!-- header -->
<header id="mainHeader" class="clearfix">
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container"> <a href="index.html" class="brand"><img src="images/openhab-logo-top.png" alt="openHAB"/></a>
<nav id="mainMenu" class="clearfix">
<ul>
<li><a href="index.html" class="firstLevel" >Home</a></li>
<li><a href="features.html" class="firstLevel">Features</a></li>
<li><a href="downloads.html" class="firstLevel active">Downloads</a></li>
<li><a href="community.html" class="firstLevel">Community</a></li>
<li><a href="https://github.com/openhab/openhab" class="firstLevel">Github</a></li>
<li><a href="https://github.com/openhab/openhab/wiki" class="firstLevel">Wiki</a></li>
<li><a href="https://my.openhab.org/" class="firstLevel">my.openHAB</a></li>
</ul>
</nav>
</div>
</div>
</div>
</header>
<!-- header -->
<!-- global wrapper -->
<div id="globalWrapper">
<!-- page content -->
<section id="content" class="fullWidth">
<header class="headerPage">
<div class="container clearfix">
<div class="row">
<h1 class="span8">Getting Started</h1>
<div class="span4" id="navTrail"> <a href="index.html" class="homeLink">home</a><span>/</span><a href="downloads.html">getting started</a> </div>
</div>
</div>
</header>
<section class="slice">
<div class="container">
<div class="row">
<aside class="span2" id="sidebar">
<nav id="subnav">
<ul>
<li> <a href="gettingstarted.html" class="active"> Getting Started </a> </li>
<li> <a href="downloads.html"> Downloads </a> </li>
</ul>
</nav>
</aside>
<section class="span10">
<h2>Requirements</h2>
<div class="divider"><span></span></div>
<ol>
<li>You will need to install Java if not already installed. Go to <a href="http://java.com/">http://java.com/</a> to get it.</li>
<li>openHAB runtime, this is the server.</li>
<li>Any additional bindings you may need to support your devices and technologies from addons package</li>
<li>OPTIONAL: You may want to download a tool to configure the items, sitemap and so on. If so,
download openHAB Designer for your specific platform. This will give you syntax validation,
content-assist and more on your configuration files.</li>
</ol>
<p>All openHAB files are available in the <a href="downloads.html">Downloads</a> section.</p>
<h2>Installing the openHAB runtime</h2>
<div class="divider"><span></span></div>
<p>The openHAB runtime comes as a platform-independent zip file.
To install it, follow these simple steps:</p>
<ol>
<li>Unzip the <code>distribution-<version>-runtime.zip</code> to where it is intended to be running from, e.g. <code>C:\openhab</code> or <code>/opt/openhab</code>.</li>
<li>Next, add the bindings you need from addons package. Unzip the previously downloaded <code>distribution-<version>-addons.zip</code> into a separate directory and then
copy bundles which you need (every bundle resides in a separate <code>.jar</code> file) to the "addons" directory of openHAB.</li>
<li>Create a personal configuration file by copying the file <code>configurations/openhab_default.cfg</code> to <code>configurations/openhab.cfg</code>.</li>
</ol>
<p></p>
<h2>Installing the openHAB demo (optional)</h2>
<div class="divider"><span></span></div>
<p>The openHAB comes with a demo package which have all the configuration to play with a model of
a house with some rooms, lights, heating and all the stuff. It also includes some demo rules
to explore the possibilities of openHAB. To install it, follow these simple steps:</p>
<ol>
<li>Unzip the <code>distribution-<version>-demo-configuration.zip</code> to same directory,
you've installed openHAB e.g. <code>C:\openhab</code> or <code>/opt/openhab</code>.</li>
<li>Launch the runtime by executing the script <code>start.bat</code> or <code>start.sh</code>
</li>
<li>Point your browser to <code>http://<openHAB address or hostname>:8080/openhab.app?sitemap=demo</code></li>
</ol>
<p></p>
<h2>Installing the openHAB designer (optional)</h2>
<div class="divider"><span></span></div>
<p>The openHAB designer comes as a platform-<em>dependent</em> zip, so choose the right one for your platform.
To install it, follow these simple steps:</p>
<ol>
<li>Unzip the <code>distribution-<version>-designer-<platform>.zip</code> to some
directory, e.g. <code>C:\openhab-designer</code> resp. <code>/opt/openhab-designer</code>
</li>
<li>Launch it by the executable <code>openHAB-Designer.exe</code> (resp. <code>openHAB-Designer</code>
if you are on a Mac or Linux)</li>
<li>Select the "configurations" folder of your runtime installation in the folder dialog that
is shown when selecting the "open folder" toolbar icon.</li>
</ol>
<p></p>
<h2>Configuring the server</h2>
<div class="divider"><span></span></div>
<p>The configuration files are text files that may be edited with any text editor you wish. Nevertheless, you may use the openHAB designer to edit them, and you will get info about any syntax error. Note that the expected file encoding is UTF-8.</p>
<h3>The openhab.cfg file</h3>
<ul>
<li><code>openhab.cfg</code> is the main configuration file of openHAB. It specifies generic system settings as well as specific
parameters for different bundles. Those options are specified in the following format:
<code><bundle name>:<parameter name>=<parameter value></code>
</li>
<li>
All bundle specific configuration parameters are available on bundles documentation pages
in the <a href="https://github.com/openhab/openhab/wiki">openHAB Wiki</a>
</li>
</ul>
<h3>The yourname.items file</h3>
<p>The next thing we must do is to tell openHAB which items we have. To do so, go to the "configurations/items" directory and create a new file called thenameyouwish.items. You have a demo.items sample file to see which is the syntax of this file.</p>
<p>In this file we define groups and items. Groups might be into groups, and items may be into none, one or more groups. For example:</p>
<ul>
<li>
<code>Group gGF (All)</code> This statement defines de gGF group and states that it belongs to the All group.</li>
<li>
<code>Group GF_Living "Living room" <video> (gGF)</code> This statement defines de group GF_Living, defines that the user interface will show it as "Living room", defines the icon to be shown and states that it belongs to (gGF). Notice that the gGF group belongs to the ALL group, hence GF_Living inherits that group, and it belongs to the All group too.</li>
<li>
<code>Group:Number:AVG Lighting "Average lighting [Lux](%.2f)" <switch> (Status)</code>: this statement means that there is a group called Lighting, which has a value calculated as an average of all its members, and its value is a float with two decimals. It will show a switch icon and it belongs to the Status group.</li>
</ul><p>The items may include the KNX group address to use them. They might be actively read by openHAB or not. They look like this:</p>
<ul>
<li>
<code>Number Lighting_Room_Sensor "Lighting in the Room [Lux](%.2f)" <switch> (Room,Lighting) { knx = "<0/1/1" }</code>: This is a sensor item. It uses the 0/1/1 group address and openHAB will ask for its value periodically because there is a "<" sign before the address. It is a number item, called Lighting_Room_Sensor, and belongs to Room and Lighting groups.</li>
<li>
<code>Switch Light_Room_Table "Table Light" (Room, Lights) { knx = "<0/1/10+0/1/30"}</code>: This is a switch item that has two addresses. openHAB may respond to events in any of them, but may actively read the first one.</li>
</ul><p>For more info about other options have a look at the demo.items file.</p>
<h3>The yourname.sitemap</h3>
<p>In this file we tell openHAB how we want the items to be shown in the user interface. First, create a new thenameyouwish.sitemap file in the "configurations/sitemap" directory. We might define here:</p>
<ul>
<li>
<code>sitemap demo label="Main Menu"</code>: This will be the first line. It is mandatory and it states the name of your sitemap (demo) and the title of the main screen.</li>
<li>You may find descriptions like:</li>
</ul><pre><code> Frame label="Demo" {
Text label="Group Demo" icon="1stfloor" {
Switch item=Lights mappings=[OFF="All Off"]
Group item=Heating
Group item=Windows
Text item=Temperature
}
Text label="Multimedia" icon="video" {
Selection item=Radio_Station mappings=[0=off, 1=HR3, 2=SWR3, 3=FFH, 4=Charivari]
Slider item=Volume
}
}
</code></pre>
<ul>
<li>This means that you want a frame with a visual label "Demo". Then, inside you want two elements:</li>
<li>An item called Group Demo with 1stfloor icon that contains 4 items.</li>
<li>The first one is the group Lights, that has a mapping. It means that when it receives a value of OFF, it might show a "All off" text.</li>
<li>The second one will be the Heating group.</li>
<li>etc.</li>
<li>An item called Multimedia with icon video. It has two elements:</li>
<li>The Radio_station item that has several mappings</li>
<li>The Volume item, shown as an Slider.</li>
</ul><p>For more info about other options have a look at the demo.sitemap file.</p>
<p>NOTE: Items and sitemap may be changed in runtime as needed.</p>
<h2>Start the server!</h2>
<div class="divider"><span></span></div>
<ol>
<li>Launch the runtime by executing the script <code>start.bat</code> or <code>start.sh</code>
</li>
</ol><h2>
Go test it!</h2>
<div class="divider"><span></span></div>
<p>openHAB comes with a built-in user interface. It works on all webkit-based browsers like Chrome,
Safari, etc. Point your browser to <code>http://<openHAB address or hostname>:8080/openhab.app?sitemap=demo</code>
and you should be looking at your sitemap.</p>
</section>
</div>
</div>
</section>
</section>
<!-- page content -->
<!-- footer -->
<footer class="footer1">
<div class="container" id="footer">
<div class="row">
<div class="span6 timelineWidget">
<h2>Latest tweets</h2>
<div class="divider"><span></span></div>
<div id="twitterFrame"> <a class="twitter-timeline" href="https://twitter.com/openHAB?height=250" data-widget-id="432945951875948545" data-tweet-limit="2" data-theme="dark" data-chrome="nofooter noheader transparent" >Tweets by @openHAB</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
</div>
</div>
<div class="span3 contactWidget">
<h2>Contact us</h2>
<div class="divider"><span></span></div>
<address>
<p><strong>openHAB UG (haftungsbeschränkt)</strong></p>
<p> <i class="icon-twitter"></i> <a href="http://twitter.com/openHAB">@openHAB</a></p>
<p> <i class="icon-mail-alt"></i> <a href="mailto:[email protected]">[email protected]</a></p>
</address>
</div>
<div class="span3 sociallWidget">
<h2>Follow us</h2>
<div class="divider"><span></span></div>
<ul class="socialNetwork nav">
<li><a href="https://www.facebook.com/pages/OpenHAB/153141161476518" class="icon-facebook socialIcon tips" title="follow us on Facebook"><span>facebook</span></a></li>
<li><a href="http://twitter.com/openHAB" class="icon-twitter-bird socialIcon tips" title="follow us on Twitter"><span>twitter</span></a></li>
<li><a href="https://plus.google.com/u/0/b/112853105449135193256/112853105449135193256/posts" class="icon-gplus socialIcon tips" title="follow us on Google +"><span>google +</span></a></li>
<li><a href="http://www.youtube.com/playlist?list=PLGlxCdrGUagz6lfgo9SlNLhdwI4la_VSv" class="icon-videocam socialIcon tips" title="follow us on Youtube"><span>youtube</span></a></li>
</ul>
<p></p>
<h2>Support openHAB</h2>
<div class="divider"><span></span></div>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="KB7LEKJLYWUQQ">
<input type="image" style="border:none; background:transparent" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>
</div>
</div>
</div>
</footer>
<footer class="footer2" id="footerRights">
<div class="container">
<div class="row">
<div class="span12">
<p>Copyright © 2014 openHAB UG (haftungsbeschränkt) / All rights reserved | <a class="inversedlink" href="imprint.html"> → Imprint / Terms of use</a></p>
</div>
</div>
</div>
</footer>
<!-- footer -->
</div>
<!-- Global wrapper -->
<!-- End Document
================================================== -->
<script type="text/javascript" src="js-plugin/respond/respond.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript" src="js-plugin/jquery-ui/jquery-ui-1.8.23.custom.min.js"></script>
<!-- third party plugins -->
<script type="text/javascript" src="bootstrap/js/bootstrap.js"></script>
<script type="text/javascript" src="bootstrap/js/bootstrap-carousel.js"></script>
<script type="text/javascript" src="js-plugin/easing/jquery.easing.1.3.js"></script>
<script type="text/javascript" src="js-plugin/pretty-photo/js/jquery.prettyPhoto.js"></script>
<script type="text/javascript" src="js-plugin/hoverdir/jquery.hoverdir.js"></script>
<!-- jQuery KenBurn Slider -->
<script type="text/javascript" src="js-plugin/rs-plugin/js/jquery.themepunch.plugins.min.js"></script>
<script type="text/javascript" src="js-plugin/rs-plugin/js/jquery.themepunch.revolution.min.js"></script>
<!-- Custom -->
<script type="text/javascript" src="js/custom.js"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', UA]);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-47717934-1', 'openhab.org');
ga('send', 'pageview');
</script>
</body>
</html>