Difference between revisions of "Daikin"
(18 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
Daikin air-conditioning systems in combination with the intelligent Touch Controller (iTC) allow for remote control and supervision, via Ethernet communication, of the whole framework. | Daikin air-conditioning systems in combination with the intelligent Touch Controller (iTC) allow for remote control and supervision, via Ethernet communication, of the whole framework. | ||
− | This driver is compatible with the | + | This driver is compatible with the iTC DCS601C51 and complies with the DCS007A51 http open protocol. |
− | {{tip|The HTTP license | + | {{tip|The HTTP license provided by Daikin is required.}} |
[[Category:I/O Server]] | [[Category:I/O Server]] | ||
Line 114: | Line 114: | ||
== HSYCO Configuration == | == HSYCO Configuration == | ||
+ | Add a DAIKIN I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters: | ||
+ | |||
+ | === Communication === | ||
+ | *'''IP Address''': IP address set on the iTC | ||
+ | *'''IP Port''': TCP/IP port set on the iTC. | ||
+ | |||
+ | === High Availability === | ||
+ | *'''Shutdown when inactive''': defaults to true. | ||
+ | |||
=== Options === | === Options === | ||
Line 223: | Line 232: | ||
|rowspan="2"|heat <br/>cool<br/>fan<br/>dependent<br/>dry | |rowspan="2"|heat <br/>cool<br/>fan<br/>dependent<br/>dry | ||
|R | |R | ||
− | |the operation mode of the target is set to the specified value | + | |the operation mode of the target is set to the specified value <sup>[[#note1|[Note 1]]]</sup> |
|- | |- | ||
|W | |W | ||
Line 244: | Line 253: | ||
|- | |- | ||
+ | |rowspan="4"|vent.mode<br/><n>.vent.mode<br/><type>.vent.mode | ||
+ | |rowspan="2"|auto<br/>exchange<br/>bypass | ||
+ | |R | ||
+ | |the ventilation mode of the target is set to the specified value<sup>[[#note1|[Note 1]]]</sup> | ||
+ | |- | ||
+ | |W | ||
+ | |set the ventilation mode of the target to the specified value | ||
+ | |- | ||
+ | |rowspan="2"|unknown | ||
+ | |R | ||
+ | |the ventilation mode of the device is not known | ||
+ | |- | ||
+ | |W | ||
+ | | --- | ||
+ | |- | ||
+ | |||
+ | |rowspan="6"|vent.level<br/><n>.vent.level<br/><type>.vent.level | ||
+ | |rowspan="2"|auto <br/>low<br/>high | ||
+ | |R | ||
+ | |the ventilation of the target is set to the specified value <sup>[[#note1|[Note 1]]]</sup> | ||
+ | |- | ||
+ | |W | ||
+ | |set the ventilation level of the target to the specified value | ||
+ | |- | ||
+ | |rowspan="2"|switch | ||
+ | |R | ||
+ | | --- | ||
+ | |- | ||
+ | |W | ||
+ | |switch the ventilation level cycling among the values low, high, and auto | ||
+ | |- | ||
+ | |rowspan="2"|unknown | ||
+ | |R | ||
+ | |the ventilation level of the device is not known | ||
+ | |- | ||
+ | |W | ||
+ | | --- | ||
+ | |- | ||
+ | |||
+ | |rowspan="5"|vent.freshup<br/><n>.vent.freshup<br/><type>.vent.freshup | ||
+ | |rowspan="2"|0 | ||
+ | |R | ||
+ | |the ventilation fresh up option is disabled <sup>[[#note1|[Note 1]]]</sup> | ||
+ | |- | ||
+ | |W | ||
+ | |disable the ventilation fresh up option | ||
+ | |- | ||
+ | |rowspan="2"|1 | ||
+ | |R | ||
+ | |the ventilation fresh up option is enabled <sup>[[#note1|[Note 1]]]</sup> | ||
+ | |- | ||
+ | |W | ||
+ | |enable the ventilation fresh up option | ||
+ | |- | ||
+ | |unknown | ||
+ | |R | ||
+ | |the ventilation fresh up setting of the device is not known | ||
+ | |- | ||
+ | |||
+ | |rowspan="4"|setpoint<br/><n>.setpoint<br/><type>.setpoint | ||
+ | |rowspan="2"|<val> | ||
+ | |R | ||
+ | |the set-point temperature of the target is <val> (expressed in °C/10)<sup>[[#note1|[Note 1]]]</sup> | ||
+ | |- | ||
+ | |W | ||
+ | |set the set-point temperature to <val> (in °C/10) | ||
+ | |- | ||
+ | |up | ||
+ | |W | ||
+ | |increase the set-point temperature of 0.5 °C | ||
+ | |- | ||
+ | |down | ||
+ | |W | ||
+ | |decrease the set-point temperature of 0.5 °C | ||
+ | |- | ||
+ | |||
+ | |<n>.temp | ||
+ | |<val> | ||
+ | |R | ||
+ | |the measured temperature from the target is <val> (expressed in °C/10) | ||
+ | |- | ||
+ | |||
+ | |rowspan="4"|fan.speed<br/><n>.fan.speed<br/><type>.fan.speed | ||
+ | |rowspan="2"|low<br/>mid<br/>high | ||
+ | |R | ||
+ | |the fan speed of the target is set to the specified value<sup>[[#note1|[Note 1]]]</sup> | ||
+ | |- | ||
+ | |W | ||
+ | |set the fan speed to the specified value | ||
+ | |- | ||
+ | |switch | ||
+ | |W | ||
+ | |switch the fan speed cycling among the values low, mid, and high | ||
+ | |- | ||
+ | |unknown | ||
+ | |R | ||
+ | |the fan speed is not known | ||
+ | |- | ||
+ | |||
+ | |rowspan="6"| fan.direction<br/><n>.fan.direction<br/><type>.fan.direction | ||
+ | |rowspan="2"|0 ... 4 | ||
+ | |R | ||
+ | |the fan direction is set to the specified level<sup>[[#note1|[Note 1]]]</sup> | ||
+ | |- | ||
+ | |W | ||
+ | |set the fan direction to the specified level | ||
+ | |- | ||
+ | |rowspan="2"|swing | ||
+ | |R | ||
+ | |the fan is in swing mode<sup>[[#note1|[Note 1]]]</sup> | ||
+ | |- | ||
+ | |W | ||
+ | |set the fan in swing mode | ||
+ | |- | ||
+ | |switch | ||
+ | |W | ||
+ | |switch the fan mode cycling among 0, 1, 2, 3, 4, and swing | ||
+ | |- | ||
+ | |unknown | ||
+ | |R | ||
+ | |the fan direction is not known | ||
+ | |- | ||
+ | |||
+ | |rowspan="2"|<n>.filter.sign | ||
+ | |0 | ||
+ | |R | ||
+ | |the filter signal is not active on the device | ||
+ | |- | ||
+ | |1 | ||
+ | |R | ||
+ | |the filter signal is active on the device | ||
+ | |- | ||
+ | |||
+ | |rowspan="2"|<n>.setpoint.enabled | ||
+ | |0 | ||
+ | |R | ||
+ | |the set point is disabled | ||
+ | |- | ||
+ | |1 | ||
+ | |R | ||
+ | |the set point is enabled | ||
+ | |- | ||
+ | |||
+ | |rowspan="2"|<n>.temp.enabled | ||
+ | |0 | ||
+ | |R | ||
+ | |the temperature measurement is disabled | ||
+ | |- | ||
+ | |1 | ||
+ | |R | ||
+ | |the temperature measurement is enabled | ||
+ | |- | ||
+ | |rowspan="2"|error<br/><n>.error | ||
+ | |0 | ||
+ | |R | ||
+ | |the target is working properly | ||
+ | |- | ||
+ | |1 | ||
+ | |R | ||
+ | |an error has been detected | ||
+ | |- | ||
+ | |||
+ | |<n>.error.code | ||
+ | |<xx> | ||
+ | |R | ||
+ | |the specified error code is reported (if <ioserver_id>.<n>.error = 1) | ||
+ | |- | ||
|} | |} | ||
+ | |||
+ | <span id="note1"> | ||
+ | ;Note 1 : | ||
+ | Events concerning a group of devices (i.e. broadcast and type-related events) assume the value of the last updated device in the group. That is, for instance, if all VRVs are in operation mode “cool” and only one of them is changed to “heat” then the event <ioserver_id>.vrv.opmode = heat will trigger. | ||
+ | </span> | ||
== User Interface == | == User Interface == | ||
Line 258: | Line 439: | ||
!Attribute | !Attribute | ||
!colspan="2"|Set to | !colspan="2"|Set to | ||
+ | |- | ||
+ | |||
+ | |connection.label | ||
+ | |visible | ||
+ | |true when the device appears offline, false otherwise | ||
+ | |- | ||
+ | |||
+ | |power | ||
+ | |value | ||
+ | |shows the status of the system: ON: at least one AC is on; OFF: all devices are off | ||
+ | |- | ||
+ | |||
+ | |<type>.power | ||
+ | |value | ||
+ | |shows the status of the specified type-group: ON: at least one AC of the specified type is on; OFF: all devices of the specified type are off | ||
+ | |- | ||
+ | |||
+ | |<n>.power | ||
+ | |value | ||
+ | |shows the status of the addressed device: ON, OFF | ||
+ | |- | ||
+ | |||
+ | |power.label.on<br/><n>.power.label.on<br/><type>.power.label.on | ||
+ | |visible | ||
+ | |true when the addressed target is on, false otherwise | ||
+ | |- | ||
+ | |||
+ | |power.label.off<br/><n>.power.label.off<br/><type>.power.label.off" | ||
+ | |visible | ||
+ | |true when the addressed target is off, false otherwise | ||
+ | |- | ||
+ | |||
+ | |setpoint<br/><n>.setpoint<br/><type>.setpoint | ||
+ | |value | ||
+ | |shows the set-point temperature in °C | ||
+ | |- | ||
+ | |||
+ | |temp<br/><n>.temp<br/><type>.temp | ||
+ | |value | ||
+ | |shows the measured temperature in °C | ||
+ | |- | ||
+ | |||
+ | |opmode.label.<mode><br/><n>.opmode.label.MODE<br/><type>.opmode.label.<mode> | ||
+ | |visible | ||
+ | |true when the operation mode of the target is set to the specified mode, false otherwise. The possible values for <mode> are: fan, heat, cool, dependent, dry, auto-heat, and auto-cool | ||
+ | |- | ||
+ | |||
+ | |vent.mode.label.MODE<br/><n>.vent.mode.label.MODE<br/><type>.vent.mode.label.<mode> | ||
+ | |visible | ||
+ | |true when the ventilation mode of the target is set to the specified mode, false otherwise. The possible values for <mode> are: auto, exchange, and bypass | ||
+ | |- | ||
+ | |||
+ | |vent.level.label.<val><br/><n>.vent.level.label.VAL<br/><type>.vent.level.label.<val> | ||
+ | |visible | ||
+ | |true when the ventilation level of the target is set to the specified value, false otherwise. The possible values for <val> are: low, high, and auto | ||
+ | |- | ||
+ | |||
+ | |vent.freshup.label.on<br/><n>.vent.freshup.label.on<br/><type>.vent.freshup.label.on | ||
+ | |visible | ||
+ | |true when the ventilation fresh up option is enabled, false otherwise | ||
+ | |- | ||
+ | |||
+ | |vent.freshup.label.off<br/><n>.vent.freshup.label.off<br/><type>.vent.freshup.label.off | ||
+ | |visible | ||
+ | |true when the ventilation fresh up option is disabled, false otherwise. | ||
+ | |- | ||
+ | |||
+ | |fan.speed.label.<val><br/><n>.fan.speed.label.<val><br/><type>.fan.speed.label.<val> | ||
+ | |visible | ||
+ | |true when the fan speed of the target is set to the specified value, false otherwise. The possible values for <val> are: low, mid, and high | ||
+ | |- | ||
+ | |||
+ | |fan.direction.label.<val><br/><n>.fan.direction.label.VAL<br/><type>.fan.direction.label.<val> | ||
+ | |visible | ||
+ | |true when the fan direction of the target is set to the specified value, false otherwise. The possible values for <val> are: 0, 1, 2, 3, 4 and swing | ||
+ | |- | ||
+ | |||
+ | |error.label<br/><n>.error.label | ||
+ | |visible | ||
+ | |true when the system/device is in an error state, false otherwise | ||
+ | |- | ||
+ | |||
+ | |<n>.filter.sign.label | ||
+ | |visible | ||
+ | |true when the filter signal of the device is active, false otherwise | ||
|- | |- | ||
Latest revision as of 12:48, 6 February 2017
Daikin air-conditioning systems in combination with the intelligent Touch Controller (iTC) allow for remote control and supervision, via Ethernet communication, of the whole framework.
This driver is compatible with the iTC DCS601C51 and complies with the DCS007A51 http open protocol.
The HTTP license provided by Daikin is required.
Contents
Communication
Use an Ethernet straight cable to connect the iTC to the network.
In order to be able to control the system with HSYCO some initial configuration is needed:
- From the main screen, press the S button:
- Select System:
- Select Network and press Execute:
- Configure the network settings:
- Go back to the System Settings page, select Web Server and press Execute:
- Set the port number of the Web server:
System Architecture
The system can handle up to 64 devices of the following typologies: HRV, VRV, D3Dio, and D3Di. The driver allows to address each device individually, or grouped by type, or as a whole system. The following image shows a simple system configuration:
Depending on the type of the device, different settings can be monitored and/or set.
The following table shows the items that can be monitored (M) and set (S) for each type:
Item | VRV | HRV | D3Dio | D3Di |
---|---|---|---|---|
Power status | M/S | M/S | M/S | M |
Operation mode | M/S | -- | -- | -- |
Ventilation modes and level | -- | M/S | -- | -- |
Suction temperature | M | -- | -- | -- |
Set-point temperature | M/S | -- | -- | -- |
Fan speed and direction | M/S | -- | -- | -- |
Filter signal | M/S | -- | -- | -- |
Malfunction status and code | M | M | M | M |
HSYCO Configuration
Add a DAIKIN I/O Server in the I/O Servers section of the Settings and set its parameters:
Communication
- IP Address: IP address set on the iTC
- IP Port: TCP/IP port set on the iTC.
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 | 20 | n > 0 | the data acquisition interval, in seconds |
Datapoints
ID | Value | R/W | Description |
---|---|---|---|
connection | online | R | connection established to the device |
offline | R | HSYCO can’t connect to the device | |
power | 0 | R | the whole system is off |
W | turn all devices off | ||
1 | R | at least one device is on | |
W | turn all devices off | ||
<type>.power | 0 | R | all devices of the specified type are off |
W | turn all devices of the specified type off | ||
1 | R | at least one device of the specified type is on | |
W | turn all devices of the specified type on | ||
<n>.power | 0 | R | the addressed device is off |
W | turn the device off | ||
1 | R | the addressed device is on | |
W | turn the device on | ||
unknown | R | the power state of the device is not known | |
opmode <n>.opmode <type>.opmode |
heat cool fan dependent dry |
R | the operation mode of the target is set to the specified value [Note 1] |
W | set the operation mode of the target to the specified value | ||
auto | R | --- | |
W | set the operation mode of the target to the specified value | ||
ventilation auto-heat auto-cool |
W | --- | |
unknown | R | the operation mode of the device is not known | |
vent.mode <n>.vent.mode <type>.vent.mode |
auto exchange bypass |
R | the ventilation mode of the target is set to the specified value[Note 1] |
W | set the ventilation mode of the target to the specified value | ||
unknown | R | the ventilation mode of the device is not known | |
W | --- | ||
vent.level <n>.vent.level <type>.vent.level |
auto low high |
R | the ventilation of the target is set to the specified value [Note 1] |
W | set the ventilation level of the target to the specified value | ||
switch | R | --- | |
W | switch the ventilation level cycling among the values low, high, and auto | ||
unknown | R | the ventilation level of the device is not known | |
W | --- | ||
vent.freshup <n>.vent.freshup <type>.vent.freshup |
0 | R | the ventilation fresh up option is disabled [Note 1] |
W | disable the ventilation fresh up option | ||
1 | R | the ventilation fresh up option is enabled [Note 1] | |
W | enable the ventilation fresh up option | ||
unknown | R | the ventilation fresh up setting of the device is not known | |
setpoint <n>.setpoint <type>.setpoint |
<val> | R | the set-point temperature of the target is <val> (expressed in °C/10)[Note 1] |
W | set the set-point temperature to <val> (in °C/10) | ||
up | W | increase the set-point temperature of 0.5 °C | |
down | W | decrease the set-point temperature of 0.5 °C | |
<n>.temp | <val> | R | the measured temperature from the target is <val> (expressed in °C/10) |
fan.speed <n>.fan.speed <type>.fan.speed |
low mid high |
R | the fan speed of the target is set to the specified value[Note 1] |
W | set the fan speed to the specified value | ||
switch | W | switch the fan speed cycling among the values low, mid, and high | |
unknown | R | the fan speed is not known | |
fan.direction <n>.fan.direction <type>.fan.direction |
0 ... 4 | R | the fan direction is set to the specified level[Note 1] |
W | set the fan direction to the specified level | ||
swing | R | the fan is in swing mode[Note 1] | |
W | set the fan in swing mode | ||
switch | W | switch the fan mode cycling among 0, 1, 2, 3, 4, and swing | |
unknown | R | the fan direction is not known | |
<n>.filter.sign | 0 | R | the filter signal is not active on the device |
1 | R | the filter signal is active on the device | |
<n>.setpoint.enabled | 0 | R | the set point is disabled |
1 | R | the set point is enabled | |
<n>.temp.enabled | 0 | R | the temperature measurement is disabled |
1 | R | the temperature measurement is enabled | |
error <n>.error |
0 | R | the target is working properly |
1 | R | an error has been detected | |
<n>.error.code | <xx> | R | the specified error code is reported (if <ioserver_id>.<n>.error = 1) |
- Note 1
Events concerning a group of devices (i.e. broadcast and type-related events) assume the value of the last updated device in the group. That is, for instance, if all VRVs are in operation mode “cool” and only one of them is changed to “heat” then the event <ioserver_id>.vrv.opmode = heat will trigger.
User Interface
UISET Actions
ID | Attribute | Set to | |
---|---|---|---|
connection.label | visible | true when the device appears offline, false otherwise | |
power | value | shows the status of the system: ON: at least one AC is on; OFF: all devices are off | |
<type>.power | value | shows the status of the specified type-group: ON: at least one AC of the specified type is on; OFF: all devices of the specified type are off | |
<n>.power | value | shows the status of the addressed device: ON, OFF | |
power.label.on <n>.power.label.on <type>.power.label.on |
visible | true when the addressed target is on, false otherwise | |
power.label.off <n>.power.label.off <type>.power.label.off" |
visible | true when the addressed target is off, false otherwise | |
setpoint <n>.setpoint <type>.setpoint |
value | shows the set-point temperature in °C | |
temp <n>.temp <type>.temp |
value | shows the measured temperature in °C | |
opmode.label.<mode> <n>.opmode.label.MODE <type>.opmode.label.<mode> |
visible | true when the operation mode of the target is set to the specified mode, false otherwise. The possible values for <mode> are: fan, heat, cool, dependent, dry, auto-heat, and auto-cool | |
vent.mode.label.MODE <n>.vent.mode.label.MODE <type>.vent.mode.label.<mode> |
visible | true when the ventilation mode of the target is set to the specified mode, false otherwise. The possible values for <mode> are: auto, exchange, and bypass | |
vent.level.label.<val> <n>.vent.level.label.VAL <type>.vent.level.label.<val> |
visible | true when the ventilation level of the target is set to the specified value, false otherwise. The possible values for <val> are: low, high, and auto | |
vent.freshup.label.on <n>.vent.freshup.label.on <type>.vent.freshup.label.on |
visible | true when the ventilation fresh up option is enabled, false otherwise | |
vent.freshup.label.off <n>.vent.freshup.label.off <type>.vent.freshup.label.off |
visible | true when the ventilation fresh up option is disabled, false otherwise. | |
fan.speed.label.<val> <n>.fan.speed.label.<val> <type>.fan.speed.label.<val> |
visible | true when the fan speed of the target is set to the specified value, false otherwise. The possible values for <val> are: low, mid, and high | |
fan.direction.label.<val> <n>.fan.direction.label.VAL <type>.fan.direction.label.<val> |
visible | true when the fan direction of the target is set to the specified value, false otherwise. The possible values for <val> are: 0, 1, 2, 3, 4 and swing | |
error.label <n>.error.label |
visible | true when the system/device is in an error state, false otherwise | |
<n>.filter.sign.label | visible | true when the filter signal of the device is active, false otherwise |
USER Commands
The Daikin I/O Server supports a few system commands to be inserted within the Web interface. The controls are directly supported as ordinary user objects, by setting the name and param fields according to the corresponding datapoints table.
For instance, setting the name of a user object to “dkn.1.power” and its param field to “on”, will result in having a switch for the device with address 1. Naming it “dkn.1.opmode” with a valid working mode as param (e.g. “heat” or “cold”) will result in a button for setting the mode of the device.
Release Notes
3.0.0
- initial release
Daikin and intelligent Touch Controller are registered trademarks of Daikin Corp.