Installation Guide

From HSYCO
Revision as of 16:14, 24 February 2014 by Manuela (talk | contribs) (→‎hsyco/www)
Jump to navigation Jump to search

HSYCO SERVER ships pre-installed with the latest version of the HSYCO software, on a Linux Ubuntu 12.04 LTS Server distribution stripped of all not-essential services.

The Oracle Java SE Runtime Environment version 7 is also installed. No other software is required.



This chapter describes the access procedures for the basic management of the system and the structure of HSYCO’s installation and configuration files.

Initial Set-Up

There are two standard hardware configurations, a compact server with one Ethernet port and one Serial port, and a larger, expandable server with two Ethernet ports and four serial ports.


HSYCO SERVER is configured with the following default network configuration:

  • IP address: 192.168.0.50
  • Net mask: 255.255.255.0
  • Default Gateway: 192.168.0.1
  • DNS: 192.168.0.1


The IP address 192.168.0.50 will be used from now on in all the examples as the HSYCO SERVER address.

On the two Ethernet ports server, the port which is usually configured is the one next to the USB ports, shown as LAN1. The Ethernet port LAN2, on the right, works but it is not configured.

The Configuration Console

HSYCO Server provides a simple low-level maintenance console, used to reboot the system, reset its settings or restore the whole system to the original factory configuration.

This console is not used for normal operations.

The console is available using a keyboard and a monitor connected to the VGA/DVI/HDMI video out connector.


Server Configuration Console

1) Reboot the system
2) Halt the system
3) Stop HSYCO Server
4) Start HSYCO Server
5) Restore network configuration to factory defaults (192.168.0.50)
6) Delete all PINs and file server password and restore default values
7) Restore database to factory defaults. All data will be lost
8) Restore system software to factory defaults. All data will be lost
Type a function number and press Enter [1, 2, 3, 4, 5, 6, 7, 8]:


Type the desired function number and Enter, then press Y to confirm after the beeps (the system will sound a number of beeps, corresponding to the function number; this should allow you to access the console functions using the keyboard and audio feedback only, without a monitor).

Function 1 performs the operating system shutdown, followed by a reboot.

Function 2 performs the operating system shutdown and halts the system. You should turn it off then back on to restart.

Function 3 and 4 are used to temporarily stop the HSYCO Server process, and to restart it.


Use functions 5 to 8 with caution. These function will delete configuration settings, user data, and security settings of the system. They could allow a local user with physical access to the server, unrestricted access to your data.


Function 5 restores the factory default network configuration. If you make a mistake while setting the network parameters, preventing access to the server via the network connection, you can use this function to reset the configuration and regain access to the server.

Function 6 removes all users’ PIN and PUK codes, restoring the default 00000 administrator enabled PIN. It also reset the operating system password to its default.

Function 7 deletes all data in the HSYCO database, including persistent variables.

Function 8 performs a full factory reset, returning the system to the HSYCO version and settings as shipped, removing all custom data, configuration and programs.

The Administration Pages

HSYCO SERVER is pre-configured with a system’s management application that gives you access to the administration functions, including the ability to change the network settings and the operating system’s password, and HSYCO users management.

The protection of any system from unauthorized access is extremely important.

HSYCO uses several security mechanisms, and it is therefore safe to use through the Internet or inside a local network.

HSYCO default configuration only accepts Web requests through the HTTPS secure protocol, while access via HTTP is disabled.

Furthermore, to protect against malicious service discovery robots, HSYCO does not answer to Web requests where only the server address is defined, for example https://192.168.0.50, but requires an extended URL, which must include an access key, called URLKey, defined in the general system configuration parameters.


Note The factory default URLKey is hsycoserver.


The URLKey is not a secret password, but only an additional protection feature.

To access the system’s management application, simply called Manager from now on, enter the following URL in your Web Browser:

https://192.168.0.50/hsycoserver/manager

Because the SSL certificate used to secure the communication between the Web Browser and HSYCO SERVER is self-generated, you will be asked to accept the server’s certificate.

On the iPod touch, iPhone or iPad press Continue, on other browsers follow the dialog boxes to permanently accept the certificate.


Installation Certificate.png


You will see the PIN and PUK authentication page. Enter the default PIN and PUK, and press OK:

PIN: 0000
PUK: 00000 0000 00000


Installation PIN PUK.png


Note The default pre-configured PIN and PUK are the same for all HSYCO SERVERS, to let you conveniently access the user interface during the initial installation. Both the PIN and PUK should be changed immediately to different, hard to guess numbers.


Press the Admin icon in the Manager’s main menu to access the Users, System Password, Network and Clock settings functions, described below.


Installation Admin.png


Users

The users page lets you fully manage individual users from the HSYCO Web interface.

You can set and revoke the administrator rights, enable and disable a user, modify PIN and PUK codes, delete a user, and also define the rights of access to the subdirectories.

If no pages have been specified through the Web interface, the user has no limits and can access all the existing pages.


Installation Users.png


To change the predefined PIN and PUK, select user, then enter the new PIN and PUK codes in the appropriate fields, and press Save to confirm.

Or you can create one or more new users, at least one of them with administrator privileges, then log in again with the new administrator PIN and PUK and delete the default user.

System Password

The system password is used to access both the operating system’s console, directly or with SSH, and the HSYCO files through the files sharing network service.

This password is needed to access the HSYCO SERVER for maintenance and to change its configuration.

To change the system password you should log in with a PIN and PUK corresponding to a user with administrator privileges.


Installation Password.png


Click the Password button in the Admin menu and enter the new password twice, then press Save to confirm.

In order to guarantee an adequate safety the password should be composed by letters and numbers, should not contain well-known words and needs to be of at least 10-16 characters.

You should save the password in a safe place.

If you forget the password, but still have access to HSYCO, you can simply go to the password page and type a new password.

The system password should be known only by the owner of the system.

If, for maintenance reasons, someone else needs to access HSYCO, you should change the password to a temporary new password, then revert to your secret password.


Note Be aware that the system password provides unrestricted access to the operating system configuration, to the HSYCO configuration, including users administration, and to all files, like recorded images from all the cameras and log files.

Network Settings

The network settings page lets you change the network parameters of HSYCO SERVER.

Be sure to know the meaning and the effects of your changes, as a mistake in these parameters may render HSYCO SERVER not accessible from the network and through the HSYCO Web interface.


HSYCO implements a safety mechanism that in most cases would automatically revert, after 5 minutes from the change, the network settings to the original configuration if for any reason network access to HSYCO is lost after a change.


Installation Network.png


To change the network settings, enter the new parameters and press Save.

After the change, you have 5 minutes to log in again to any page to confirm your changes.

The network settings page is not normally needed after the initial installation, and it is usually deleted from the menu to prevent accidental changes to the network configuration.

Clock Settings

The clock page sets the server’s clock and time zone, and enables the automatic update of the clock based on Internet time servers.


Installation Clock.png


To change the time settings, enter the new parameters and press Save.

All the other parameters are read-only from the clock page, and can be set using the Settings menu, as explained in the Configuration Guide.

The time zone information is used to obtain the correct local time and automatically adjust for daylight saving time.

If automatic time is set to on HSYCO automatically sets the local date and time by polling Network Time Protocol (NTP) servers.

The Manager

The Manager is the Web-based toolkit of applications that you will use to create customized graphic user interfaces and access all system’s configuration files.

The Manager runs on most modern Web browsers, including tablets like Apple’s iPad. It also runs on small screen devices like the iPhone or iPod touch, although a larger screen size is advisable for ease of use. Microsoft’s Internet Explorer versions 8 and older are not supported, and IE9 is not guaranteed to work, although it should in most cases.


To access the Manager, enter the following URL in your Web Browser:

https://192.168.0.50/hsycoserver/manager

You need to authenticate using a PIN with administrator privileges to use the Manager.


Manager menu.png


Touch “about” in the bottom left corner to show HSYCO’s current version information.


Manager About.png


The Manager has several application.

Admin for basic user and network settings, as already discussed.

The Project Editor is the visual editor you use to customize the user interface, and will be described in the Customization chapter.

The File Manager provides access to all HSYCO’s files, just like the standard file manager you have in your personal computer, only this one is fully Web-based and works directly on HSYCO Server’s files.

The Log Viewer is a real-time viewer of HSYCO’s logs.

The Status Browser, a real-time viewer of data points, variables and dynamic user interface attributes, will be discussed in the Programming chapter.

The System Monitor is used to monitor several key hardware and operating system parameter of the HSYCO server.

The Wiring Editor, an easy to use end-user logic and scenarios builder, will be described n the Customization chapter.

Finally, the Knx Utility and BACnet Utility applications are also available through the Manager if the respective I/O servers are enabled.

You can switch between applications touching the Manager Switching Applications.png icon on the top bar.

Manager Top Bar.png


Using a PC with a physical keyboard, you can press [Ctrl] and [Shift] at the same time for fast switching between applications. An application selection panel appears until you keep the [Ctrl] key pressed; select the application you need by repeatedly pressing [Shift], then releasing [Ctrl].


The File Manager

The File Manager application offers all the conventional tools used to manage files, including a text editor to modify text files without having to download them to your computer.


Manager File Manager.png


You can download and upload individual files or ZIP directories, and create, rename and delete files and directories.

You can download a full backup of all configuration files (excluding the logs and motion directories), using the download root backup tool. Because of its size, this function could take a considerable amount of time to generate and download the backup.zip file.


Manager Tools.png


You can also activate a small live log view window, quite a useful tool while you are editing files and want to check the logs for debugging.


Manager Text Editor.png


In the text editor, if someone modifies the file you are currently editing, you will be prompted with a warning message, asking to either reload the file with the new version, or ignoring the changes.


Manager File Changed.png


Your changes will be lost if you accept to reload the new version of the file.


Upgrading and restarting HSYCO

In order to upgrade the HSYCO software version, you should simply upload a new version of the hsyco.jar file to the root directory. After the upload, the server will restart and the Manager will reload on the browser.

You can also manually force an HSYCO restart. To do so, select the hsyco.jar file and press the “restart hsyco” button in the right panel.


Manager Restart HSYCO.png

The Log Viewer

The Log Viewer application shows a scrollable live view of the last 1000 lines from the daily log file.


Manager Log Viewer.png


The tool bar at the bottom lets you filter log lines searching for a text, or to exclude a text in order to de-clutter the log. Type multiple words to select or exclude all lines that contain at least one of the words. Touch “search” to toggle between text search and exclude mode.

Touch “pause” to stop updating the viewer, then press again to restart. New log lines written while paused will not appear in the viewer, but will still be saved in the log file.

Touch “clear” to clear the log window.

You can also temporarily select which log levels you want, without having to modify the hsyco.ini main configuration file.

Touch “verbose”, “events” or “user” to enable or disable the log levels. Changing log levels also affects what other users will see in the Log Viewer as well as what is actually written in the log file. Changes to the log levels will return to the preset configuration after you leave the Log Viewer application.

The Log Viewer

The System Monitor works in combination with the system I/O server, which must be enabled for this function to work, and monitors several key hardware and operating system parameters of the HSYCO server.


Manager System Monitor.png


If the system I/O server is not enabled, the following message will be shown.


Manager System Monitor Message.png


See the system I/O server application note for additional information.

Files Organization

The general structure of HSYCO’s main directory is shown in the following diagram.


Installation File Organization.png


hsyco/access.ini

This file contains the information corresponding to the users’ PIN/PUK access codes. This file can be manually modified to create or delete a PIN code, though it is usually modified through the users management pages in the HSYCO Web interface. It is also updated by HSYCO after every access, showing the time and the IP address of the last access and the number of access errors made by every user.


hsyco/acl.ini

This file is used to define server-side access control lists for Web-based user commands. The optional acl.ini file defines the rules to allow or reject commands.

See the Access Control List chapter in the Appendix section for additional information.


hsyco/console.log

console.log is a system log file. It contains information and error messages generated by the operating system or by the Java Virtual Machine.

For example, the following message:

Exception in thread "main" java.lang.NoClassDefFoundError: com/hsyco/OpenWebNetMonitor
at com.hsyco.hsyco.main(hsyco.java:4794)
Caused by: java.lang.ClassNotFoundException: com.hsyco.OpenWebNetMonitor

suggests that one of the HSYCO Java libraries is missing. This file is therefore useful in the testing stage or during the development of an additional Java component, while it does not provide any relevant information about the normal execution of the HSYCO software.


hsyco/hsyco.ini

This is the main configuration file, containing all HSYCO configuration parameters. It is fully described in the Configuration chapter. Any change to this file causes the automatic restart of HSYCO after a few seconds.


hsyco/hsyco.jar

This file contains all the components of the HSYCO software. In order to update HSYCO SERVER to a newer version, you replace this file with a new one, containing the whole code and the resources of the software in a compressed format. Any change to this file causes the automatic restart of HSYCO after a few seconds.


hsyco/hsyco.keys

This file contains the SSL certificate for the HTTPS web traffic cryptography. When HSYCO is started, if the file is not available, a new SSL certificate is automatically generated according to the name defined in hsyco.ini. Otherwise, HSYCO simply uses the certificate contained in this file, which could have been also generated by an official Certification Authority (CA)[Note 1]. If an official certificate is not used, this file is created and managed by HSYCO without any manual intervention.

Note 1 
For example Verisign or Thawte.


hsyco/keys.data

It is the database of the secure authentication keys between the Web Browser and HSYCO. This file is created and managed by HSYCO and must not be modified or erased.


hsyco/license.txt

This file contains the software license key needed to make HSYCO fully operational. When HSYCO is started for the first time, or if this file is removed before start-up, HSYCO creates a new file containing an encrypted unique code that identifies the computer on which the software is running. In order to unlock HSYCO, the file needs to contain the software license key, issued by Home Systems Consulting.

If the license key is not available in the file or if it is not correct, HSYCO disables all the functions of access to any field device, keeping only the HTTP and HTTPS Web Server running. It will be therefore possible to access the Web pages, but not to execute any action on or interface to the systems connected to HSYCO.


hsyco/systemtopo.txt

Contains the list of all the devices of the system and names of the Wi-Fi location zones[Note 2].

This file format is described in details in the Configuration chapter.

systemtopo.txt can be modified at any time; any change is applied within a few seconds without restarting HSYCO. Web pages are automatically reloaded after any change to systemtopo.txt.

Note 2 
That is, the list of the different Access Point devices that constitute the local wireless network.


hsyco/timers.data

It is the database of the timers’ settings, such as alarms, irrigation or light timers, managed by HSYCO. This file is created and managed by HSYCO and should not be modified or erased.


hsyco/com/hsyco

This directory contains the customizable Java files. In particular, the file user.class must always exist, even just in its original version if it has not been customized. The corresponding source file user.java is not necessary for the correct execution of the software.


hsyco/www

The www directory contains all the customizable files corresponding to the Web pages of the user interface. All the required standard files can be found in the hsyco.jar package and therefore are not included in www; however it is always possible to add new customized files in appropriate locations in www; these files will have priority over the standard files contained in hsyco.jar.

Whenever HSYCO detects any change to the files in www and in its sub-directories, it automatically forces the refresh of the Web page on the connected browsers, so that all the changes are immediately visible.


The directories and the standard files will be described in the following paragraphs, although the directories and files structure can be customized as needed.


hsyco/www/<project>/index.hsm

The <project> directory, contains the definition of the user interface pages. Each <project> directory contains the index.hsm file, with the complete definition of the whole Web interface. This file format is described in the Personalization chapter. It is not possible to use names such as img and the skins’ names, which are reserved. It is also not possible to have more than one Web interface description file in the same directory.

hsyco/www/<project>/img

Contains the files of the images associated to the automation and lighting devices defined in the systemtopo.txt file, or any other image file used by the Web interface. Files in this subdirectory have priority over files in the hsyco/www/img directory.

hsyco/www/<skin>

Customized skins can be defined and saved in www subdirectories. The files of the standard skins are included in the hsyco.jar package file. Creating a directory with the same name of a standard skin is possible, but should be done carefully, as it will override the standard skin files.

hsyco/www/img

Contains the files of the images associated to the automation and lighting devices defined in the systemtopo.txt file, or any other image file used by the Web interface. Files in the img/ sub-directory under the project's main directory have priority over files in this directory.

hsyco/www/public

The HTTPServerPublicDirectory parameter defined in hsyco.ini file enables a basic Web server that serves files, without any parsing, contained in a specific directory, via HTTP and HTTPS, only to clients in the trusted range of IP addresses.

hsyco/motion

Contains the images of every single frame recorded from each camera. The motion directory contains a distinct subdirectory for each camera, named as the cameras ids defined in hsyco.ini. In these directories the files are organized in two additional subdirectory levels. HSYCO automatically manages these directories and the individual files.

In order to avoid any malfunction in the reproduction and, potentially, in the recording of the events you should not partially delete the files. If needed, it is possible to delete all the files of a camera and then restart HSYCO so that the index of the images can be correctly updated.


HSYCO will automatically erase the files and their corresponding subdirectories after the time of images storage has expired, as set in hsyco.ini for each camera.

Moreover, the older frames are automatically erased before their times of expiration if the space available on disc drops below a safe margin.

hsyco/logs

Contains the log files generated by HSYCO. The information details contained in the log files depend on the log level settings defined in hsyco.ini. All the relevant events detected from the field, the commands sent, the users access information and errors can be traced.

When starting HSYCO the information corresponding to the execution of the different HSYCO modules will be logged. Some of the most important log messages are listed in the Appendix chapter.

HSYCO writes a separate log file each day, in a different directory for each year, in the MMGG-message.log' format. For example, the log file for the 12th April 2012 will be hsyco/logs/2012/0412-message.log.

If anti-intrusion systems are integrated with HSYCO, the file security.log will be written too, in the same directories as the daily log files. This file contains the list of all the events concerning activation, deactivation and alarms on the anti-intrusion systems.

The log files can be removed anytime without causing any problem. HSYCO does not provide an automatic procedure to erase the log files.

hsyco/ir

This directory can be empty or might not exist at all. It contains the files with CCF encoded IR commands, to be used when sending IR commands with IRTrans devices.

These files should have the extension .ccfhex and the name corresponds to the IR database name.

Each file contains one or more lines per command:

command_name = hex_ccf_data

The CCF data for each command is in hexadecimal format, and could be broken in multiple lines.

hsyco/dataloggers.ini

This file contains the definitions of time slots for data loggers of type counter. Each line sets some rules for a time slot of a data logger, the format to be used is the following:

datalogger_name; slot_id; time_range; days_of_week; date; rate

Whenever a counter data logger listed in this file is updated, the rules are matched from top to bottom to establish the time slot the new value belongs to and thus which rate to apply.

The following table describes each field of a rule line: