* Enable the auto-download feature via configuration setting *OR*
* Download the CometVisu release <https://github.com/CometVisu/CometVisu/releases> and extract the "release" folder (the one which contains the index.html file) of the downloaded archive somewhere on your openHAB server (make sure that openHAB can access that folder).
Note: You have to set the path to this folder in your configuration (webFolder).
You can find the CometVisu configuration in the "ui" category.
### Via Config file
You can customize some settings of the CometVisu backend in a configuration file named 'cometvisu.cfg' which has to be created in the 'conf/services/' folder of your openHAB instance, if it does not exist.
The following settings are available:
Relative path to the folder the CometVisu client can be found (must point to the directory that contains the CometVisu's index.html file, which is usually the release-folder):
You can create a folder called 'cometvisu' in openHAB's 'conf/' folder and create files there which should be used instead of CometVisu's own. For example, you can put all your customizations there (e.g. you config, custom.css, etc.).
So the CometVisu itself stays untouched and can easily be replaced with a new release.
Please use the same folder structure and file names as they are used in the CometVisu package.
For example if you want to replace the original config with your own copy the file to the following path:
If you don´t use the given example below, please make sure that you correctly configure openHAB as backend in the CometVisu-Config by adding `backend="openhab"` to the root pages-element (e.g. `<pages...backend="openhab"...>`)
You can use the editor to change and store this config.
You can start with the demo-sitemap to get a quick overview about how the CometVisu looks like.
## New features (compared to the 1.x version)
* PHP support: Editor is working, rsslog-plugin can be used (see examples)
* Persistence support: Any persisted item can be used to create a chart
* GroupItem support: as known from the openHAB UI´s the group-functions like the number of open windows in a group of contacts can be shown in the visu
## Examples
### Show how many lights are switched on
* Items: uses the demo.items provided by openHAB
* Config (please add the infoaction-plugin in pages->meta->plugins in your config in order to use this):
*`consolidationFunction` is only obeyed, when the item is persisted by the rrd4j persistence service
* Altough you have to define <rrd...>Item_name</rrd> for every line in the config, the used items do not have to be persisted by the rrd4j persistence service, any other service will work too, but you have to specify the service name as prefix to the item name, e.g.
`<rrd>mysql:Weather_Temp_Min</rrd>` to get the date from the mysql persistence service.
* Currently the CometVisu-Chart-Backend can only generate charts from persisted Number-Items. Other item types are not supported.
Please note: You have to add the colorchooser plugin in the meta>plugins section of you config
## Known problems
Not all of the PHP-based functions in the CometVisu client have been tested so far. The untested features are:
* Automatic configuration upgrade, when the library version has changed
* calendarlist plugin
* upnpcontroller plugin
The sitemap support can only be used as a starting point for own customizations, e.g. you open an automatic generated config and store it in by CometVisu by using the editor. Then you start to customize it to your own needs. New items must by added by hand from the moment you stored and changed the generated config.
### 404 error
Please make sure that openHAB has the rights to read the configured \<webFolder\> folder.
### 403 error
If you get an 403 - Access Denied error, when you try to open the CometVisu in your browser you have not copied the correct release folder into the \<webFolder\> folder. Please check if there is a subfolder with the exact name "release/", which contains an index.html file and copy the content to the folder defined in the \<webFolder\>-property.
Maybe it is possible to define a general structure (in addition to a sitemap), that maps and groups items based on their context, e.g. which floor/room/subsection the belong to
```
<floor>
<roomnavbar="top">
<all-lights-itemscolspan="12">
<all-rollershutter-itemscolspan="6">
<all-contact-itemscolspan="6">
<all-other-itemscolspan="12">
</room>
</floor>
```
Something like that could help to improve the sitemap->config generation.