Giacomini
The Giacoklima bus system equipped with the KM203 network controller allows for remote control and supervision, via Serial communication, of the whole heating/cooling framework.
Communication
Connect HSYCO to the KM203 controller employing an RS485 gateway.
RS-232 parameters:
| Baud rate | 19200 |
| Data bits | 8 |
| Stop bit | 1 |
| Parity | none |
| Flow control | none |
The Giacoklima bus architecture
This image illustrates an example of the system architecture:

The RS-485 port is on the top left corner of the KM203 interface as shown in the picture above.
HSYCO Configuration
Add a GKBUS I/O Server in the I/O Servers section of the Settings and set its parameters:
Communication
- Comm ID: select the comm port connected to the device.
High Availability
- Shutdown when inactive: defaults to true.
Options
| ID | Default | Values | Description |
|---|---|---|---|
| gui | true | true | enable support for the UI object, UISET actions and USER commands |
| false | disable UI support | ||
| startupevents | false | true | generate IO events also during the driver’s start-up phase |
| false | start generating events only after HSYCO is aligned with the current status of the system | ||
| pollinterval | 1 | n > 0 | the data acquisition interval, in seconds |
gkbus.ini
The gkbus.ini file is a specific configuration file located in the main directory (same directory as hsyco.ini or hsyco.jar).
Here you must add a line for each thermostat belonging to the framework and optionally specify a descriptive name of the corresponding area.
Use the format <ioserver_id>.k<n>.<addr> = name, where <ioserver_id> is the id of the referred I/O server, <n> is the number of the KPM20 module the thermostat is connected to and <addr> is the secondary address of the thermostat.
For instance:
gk.k0.0 = Kitchen
gk.k0.1 = Bedroom
gk.k1.0 = Entrance
Datapoints
| ID | Value | R/W | Description |
|---|---|---|---|
| connection | online | R | connection established |
| offline | R | HSYCO can’t connect to the panel | |
| k<n>.<addr>.name | <name> | R | the name of the addressed thermostat is set to the reported string |
| k<n>.<addr>.temp | <val> | R | the room temperature measured by the addressed thermostat is equal to <val> in °C/10 |
| k<n>.<addr>.setpoint.temp | <val> | R | the set-point temperature measured by the addressed thermostat is equal to <val> in °C/10 |
| W | set the temperature set-point of the addressed thermostat to <val> in °C/10 | ||
| k<n>.<addr>.setpoint.humidity | <val> | R | the set-point relative humidity of the addressed thermostat is equal to <val> |
| W | set the relative humidity set-point of the addressed thermostat to <val> | ||
| k<n>.<addr>.humidity | <val> | R | the relative humidity measured by the addressed thermostat is equal to <val> |
| season | summer | R | the current season is set to summer |
| W | set the current season to summer | ||
| winter | R | the current season is set to winter | |
| W | set the current season to winter | ||
| k<n>.<addr>.mode | off | R | the addressed thermostat is set to mode OFF |
| W | set the addressed thermostat to mode OFF | ||
| com | R | the addressed thermostat is set to mode Comfort | |
| W | set the addressed thermostat to mode Comfort | ||
| stb | R | the addressed thermostat is set to mode Stand-by | |
| W | set the addressed thermostat to mode Stand-by | ||
| ngt | R | the addressed thermostat is set to mode “Night" | |
| W | set the addressed thermostat to mode Night | ||
| mode | off | W | set all the thermostats to mode OFF |
| com | W | set all the thermostats to mode Comfort | |
| stb | W | set all the thermostats to mode Stand-by | |
| ngt | W | set all the thermostats to mode Night | |
| k<n>.pump | 0 | R | the pump of the addressed KPM20 module is not active |
| 1 | R | the pump of the addressed KPM20 module is active | |
| k<n>.in.temp | <val> | R | the inlet temperature of the addressed KPM20 module is equal to <val> |
| k<n>.out.temp | <val> | R | the return temperature of the addressed KPM20 module is equal to <val> in °C/10 |
| k<n>.setpoint.temp | <val> | R | the working set-point temperature of the addressed KPM20 module is equal to <val> in °C/10 |
| k<n>.valve | <val> | R | the opening percentage value of the mixing valve calculated by the addressed KPM20 module is equal to val |
| ext.temp | <val> | R | the measured external temperature is equal to <val> in °C/10 |
| t1.winter | <val> | R | the T1 temperature parameter’s value for winter climatic compensation is equal to <val> in °C/10 |
| W | set the T1 temperature parameter’s value for winter climatic compensation to <val> in °C/10 | ||
| t2.winter | <val> | R | the T2 temperature parameter’s value for winter climatic compensation is equal to <val> in °C/10 |
| W | set the T2 temperature parameter’s value for winter climatic compensation to <val> in °C/10 | ||
| lim.winter | <val> | R | the T-Lim temperature parameter’s value for winter climatic compensation is equal to <val> in °C/10 |
| W | set the T-Lim temperature parameter’s value for winter climatic compensation to <val> in °C/10 | ||
| setpoint.winter | <val> | R | the minimum set-point temperature for winter is equal to <val> in °C/10 |
| W | set the minimum set-point temperature for winter to <val> in °C/10 | ||
| setpoint.summer | <val> | R | the minimum set-point temperature for summer is equal to <val> in °C/10 |
| W | set the minimum set-point temperature for summer to <val> in °C/10 |
User Interface
You can use a tempmini object to create a thermostat-equivalent interface.
Set the Server ID field to the I/O Server’s name and specify the address of the thermostat (K483 module) in the Address field using the format k<n>.<addr> where <n> is the number of the KPM20 module the thermostat is connected to and <addr> is its address (e.g. k0.1 represents the second thermostat connected to the first KPM20):

UISET Actions
| ID | Attribute | |
|---|---|---|
| k<n>.<addr>.name | value | shows the name assigned to the addressed thermostat |
| k<n>.<addr>.temp | value | shows the measured room temperature in °C by the addressed thermostat |
| k<n>.<addr>.setpoint.temp | value | shows the set-point temperature in °C on the addressed thermostat |
| k<n>.<addr>.humidity | value | shows the measured relative humidity by the addressed thermostat |
| k<n>.in.temp | value | shows the inlet temperature of the addressed KPM20 module |
| k<n>.out.temp | value | shows the return temperature of the addressed KPM20 module |
| k<n>.setpoint.temp | value | shows the working set-point temperature in °C on the addressed KPM20 module |
| k<n>.valve | value | shows the opening percentage value of the mixing valve calculated by the addressed KPM20 module |
| ext.temp | value | shows the measured external temperature in °C |
| t1.winter | value | shows the T1 temperature parameter’s value for winter climatic compensation in °C |
| t2.winter | value | shows the T2 temperature parameter’s value for winter climatic compensation in °C |
| lim.winter | value | shows the T-Lim temperature parameter’s value for winter climatic compensation in °C |
| setpoint.winter | value | shows the minimum set-point temperature for winter |
| setpoint.summer | value | shows the minimum set-point temperature for summer |
| connection.label.online | visible | true when the system is connected to HSYCO, false otherwise |
| connection.label.offline | visible | true when the system is not connected to HSYCO, false otherwise |
| season.label.winter | visible | true when the current season is set to winter, false otherwise |
| season.label.summer | visible | true when the current season is set to summer, false otherwise |
| k<n>.<addr>.mode.label.off | visible | true when the addressed thermostat is OFF, false otherwise |
| k<n>.<addr>.mode.label.com | visible | true when the working mode of the addressed thermostat is set to comfort, false otherwise |
| k<n>.<addr>.mode.label.stb | visible | true when the working mode of the addressed thermostat is set to stand-by, false otherwise |
| k<n>.<addr>.mode.label.ngt | visible | true when the working mode of the addressed thermostat is set to night, false otherwise |
| k<n>.<addr>.relay.label.0 | visible | true when the relay of the addressed thermostat is not active, false otherwise |
| k<n>.<addr>.relay.label.1 | visible | true when the relay of the addressed thermostat is active, false otherwise |
| k<n>.pump.label.0 | visible | true when the pump of the addressed KPM20 module is not active, false otherwise |
| k<n>.pump.label.1 | visible | true when the pump of the addressed KPM20 module is active, false otherwise |
USER Commands
| Name | Param | Action |
|---|---|---|
| k<n>.<addr>.setpoint.temp | <val> | sets the set-point temperature of the addressed thermostat to the specified value (expressed in °C/10) |
| up | increases the set-point temperature of the addressed thermostat by 0.5°C | |
| down | decreases the set-point temperature of the addressed thermostat by 0.5°C | |
| k<n>.<addr>.mode | off | sets the addressed thermostat on mode OFF |
| com | sets the addressed thermostat on mode Comfort | |
| stb | sets the addressed thermostat on mode Stand-by | |
| ngt | sets the addressed thermostat on mode Night | |
| season | summer | sets the working mode season to summer |
| winter | sets the working mode season to winter | |
| t1.winter | <val> | sets the T1 temperature parameter’s value for winter climatic compensation to the specified value (in °C/10) |
| t2.winter | <val> | sets the T2 temperature parameter’s value for winter climatic compensation to the specified value (in °C/10) |
| lim.winter | <val> | sets the T-Lim temperature parameter’s value for winter climatic compensation to the specified value (in °C/10) |
| setpoint.winter | <val> | sets the minimum set-point temperature for winter to the specified value (in °C/10) |
| setpoint.summer | <val> | sets the minimum set-point temperature for summer to the specified value (in °C/10) |
Release Notes
3.8.0
- added
k<n>.<addr>.setpoint.humiditydatapoint
3.3.0
- initial version release
Giacomini, GKBus and Giacoklima are registered trademarks of Giacomini SpA.