Difference between revisions of "Giacomini"
(→3.3.0) |
|||
(25 intermediate revisions by 2 users not shown) | |||
Line 26: | Line 26: | ||
== The Giacoklima bus architecture == | == The Giacoklima bus architecture == | ||
This image illustrates an example of the system architecture: | This image illustrates an example of the system architecture: | ||
− | The | + | |
+ | |||
+ | [[File:IO Server Giacomini Architecture.png|center]] | ||
+ | |||
+ | |||
+ | The RS-485 port is on the top left corner of the KM203 interface as shown in the picture above. | ||
== HSYCO Configuration == | == HSYCO Configuration == | ||
+ | Add a GKBUS I/O Server in the [[Settings#I/O Servers|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 === | === Options === | ||
Line 66: | Line 79: | ||
|} | |} | ||
− | == | + | === gkbus.ini === |
The gkbus.ini file is a specific configuration file located in the main directory (same directory as hsyco.ini or hsyco.jar). | The gkbus.ini file is a specific configuration file located in the main directory (same directory as hsyco.ini or hsyco.jar). | ||
Line 87: | Line 100: | ||
!Description | !Description | ||
|- | |- | ||
+ | |||
+ | |||
+ | |rowspan="2"|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 | ||
+ | |- | ||
+ | |||
+ | |rowspan="2"|k<n>.<addr>.setpoint.temp | ||
+ | |rowspan="2"|<val> | ||
+ | |R | ||
+ | |the set-point temperature measured by the addressed thermostat is equal to <val> in °C/10 | ||
+ | |- | ||
+ | |W | ||
+ | |set the set-point temperature of the addressed thermostat to <val> in °C/10 | ||
+ | |- | ||
+ | |||
+ | |k<n>.<addr>.humidity | ||
+ | |<val> | ||
+ | |R | ||
+ | |the relative humidity measured by the addressed thermostat is equal to <val> | ||
+ | |- | ||
+ | |||
+ | |rowspan="4"|season | ||
+ | |rowspan="2"|summer | ||
+ | |R | ||
+ | |the current season is set to summer | ||
+ | |- | ||
+ | |W | ||
+ | |set the current season to summer | ||
+ | |- | ||
+ | |rowspan="2"|winter | ||
+ | |R | ||
+ | |the current season is set to winter | ||
+ | |- | ||
+ | |W | ||
+ | |set the current season to winter | ||
+ | |- | ||
+ | |||
+ | |rowspan="8"|k<n>.<addr>.mode | ||
+ | |rowspan="2"|off | ||
+ | |R | ||
+ | |the addressed thermostat is set to mode “OFF” | ||
+ | |- | ||
+ | |W | ||
+ | |set the addressed thermostat to mode “OFF” | ||
+ | |- | ||
+ | |rowspan="2"|com | ||
+ | |R | ||
+ | |the addressed thermostat is set to mode “Comfort” | ||
+ | |- | ||
+ | |W | ||
+ | |set the addressed thermostat to mode “Comfort” | ||
+ | |- | ||
+ | |rowspan="2"|stb | ||
+ | |R | ||
+ | |the addressed thermostat is set to mode “Stand-by” | ||
+ | |- | ||
+ | |W | ||
+ | |set the addressed thermostat to mode “Stand-by” | ||
+ | |- | ||
+ | |rowspan="2"|ngt | ||
+ | |R | ||
+ | |the addressed thermostat is set to mode “Night" | ||
+ | |- | ||
+ | |W | ||
+ | |set the addressed thermostat to mode “Night” | ||
+ | |- | ||
+ | |||
+ | |rowspan="4"|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” | ||
+ | |- | ||
+ | |||
+ | |rowspan="2"|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 | ||
+ | |- | ||
+ | |||
+ | |rowspan="2"|t1.winter | ||
+ | |rowspan="2"|<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 | ||
+ | |- | ||
+ | |||
+ | |rowspan="2"|t2.winter | ||
+ | |rowspan="2"|<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 | ||
+ | |- | ||
+ | |||
+ | |rowspan="2"|lim.winter | ||
+ | |rowspan="2"|<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 | ||
+ | |- | ||
+ | |||
+ | |rowspan="2"|setpoint.winter | ||
+ | |rowspan="2"|<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 | ||
+ | |- | ||
+ | |||
+ | |rowspan="2"|setpoint.summer | ||
+ | |rowspan="2"|<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): | |
− | |||
[[File:IO Server Giacomini Interface.png|center]] | [[File:IO Server Giacomini Interface.png|center]] | ||
Line 101: | Line 304: | ||
!Attribute | !Attribute | ||
!colspan="2"|Set to | !colspan="2"|Set to | ||
+ | |- | ||
+ | |||
+ | |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 | ||
|- | |- | ||
Line 112: | Line 420: | ||
|- | |- | ||
+ | |rowspan="3"|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 | ||
+ | |- | ||
+ | |||
+ | |rowspan="4"|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” | ||
+ | |- | ||
+ | |||
+ | |rowspan="2"|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) | ||
+ | |- | ||
|} | |} | ||
Line 124: | Line 484: | ||
''Giacomini, GKBus and Giacoklima are registered trademarks of Giacomini SpA.'' | ''Giacomini, GKBus and Giacoklima are registered trademarks of Giacomini SpA.'' | ||
− | |||
− |
Latest revision as of 15:23, 6 November 2014
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.
Contents
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 set-point temperature of the addressed thermostat to <val> in °C/10 | ||
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 | Set to | |
---|---|---|---|
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.3.0
- initial version release
Giacomini, GKBus and Giacoklima are registered trademarks of Giacomini SpA.