Difference between revisions of "Daikinrc"

From HSYCO
Jump to navigation Jump to search
 
(40 intermediate revisions by the same user not shown)
Line 1: Line 1:
Daikin air-conditioning systems in combination with the intelligent Touch Controller (iTC) or the intelligent Touch Manager (iTM) allow for remote control and supervision, via Ethernet communication, of the whole framework.
+
The DAIKINRC I/O Server is compatible with the Daikin room air conditioner series CTXM, ATXM and FTXM units that can be fitted with the Daikin wireless LAN adapter (BRP06xxx; versions BRP069C4x are not supported) and are supported by the Daikin Controller iOS and Android app.
  
This driver is compatible with iTC and iTM modules respectively compliant with the DCS007A51 and DCM007A51 http protocol.
+
A single DAIKINRC I/O Server controls all the devices connected to the local network.
 
 
{{tip|The HTTP license provided by Daikin is required.}}
 
  
 
[[Category:I/O Server]]
 
[[Category:I/O Server]]
  
== Daikin Configuration and discovery ==
+
== Daikin Configuration and Discovery ==
  
 
All units must be connected to the same LAN of the HSYCO Server. When the DAIKINRC I/O Server starts, and then periodically every 30 to 60 seconds, a discovery request is sent to the LAN. New units responding to the discovery request will start to be polled by the I/O Server and become online.
 
All units must be connected to the same LAN of the HSYCO Server. When the DAIKINRC I/O Server starts, and then periodically every 30 to 60 seconds, a discovery request is sent to the LAN. New units responding to the discovery request will start to be polled by the I/O Server and become online.
  
 
== 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:
+
Add a DAIKINRC I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters.
 +
 
 +
{{tip|A single DAIKINRC I/O Server discovers and controls all units connected to the LAN.}}
 +
 
  
 
=== Communication ===
 
=== Communication ===
*'''IP Address''': IP address set on the iTC/iTM
+
As the I/O Server automatically discovers all units connected to the local network, no connection parameters are required.
*'''IP Port''': TCP/IP port set on the iTC/iTM.
 
  
 
=== High Availability ===
 
=== High Availability ===
Line 28: Line 28:
 
!Values
 
!Values
 
!Description
 
!Description
|-
 
 
|rowspan="2"|gui
 
|rowspan="2"|true
 
|true
 
|enable support for the UI object, UISET actions and USER commands
 
|-
 
|false
 
|disable UI support
 
|-
 
 
|rowspan="2"|startupevents
 
|rowspan="2"|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
 
|pollinterval
|20
+
|5
|n > 0
+
|1 <= n <= 30
|the data acquisition interval, in seconds
+
|the status poll interval, in seconds
 
|-
 
|-
  
Line 57: Line 39:
  
 
== Datapoints ==
 
== Datapoints ==
 +
In the following table, replace <unit> with the name assigned to a room air conditioner unit.
 +
The unit name is shown in the Daikin Controller app.
 +
 +
Names are transformed to lowercase. For instance, if the unit name is "DaikinAP44822", the <unit> part of the corresponding data points will be "daikinap44822".
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 65: Line 51:
 
|-
 
|-
  
|rowspan="2"|connection
+
|rowspan="2"|<unit>.connection
 
|online
 
|online
 
|R
 
|R
|connection established to the device
+
|connection established to the unit
 
|-
 
|-
 
|offline
 
|offline
 
|R
 
|R
|HSYCO can’t connect to the device
+
|HSYCO can’t connect to the unit (after initial successful discovery)
 +
|-
 +
 
 +
|<unit>.address
 +
|<a.b.c.d>
 +
|R
 +
|the IP address of the unit connected to the local WiFi network. As the address is assigned by the DHCP server, the unit address may change over time
 
|-
 
|-
  
|rowspan="4"|power
+
|rowspan="8"|<unit>.fan.direction
|rowspan="2"|0
+
|rowspan="2"|off
 
|R
 
|R
|the whole system is off
+
|fan blades stay in a fixed position
 
|-
 
|-
 
|W
 
|W
|turn all devices off
+
|stop vertical/horizontal movement of fan blades
 
|-
 
|-
|rowspan="2"|1
+
|rowspan="2"|h
 
|R
 
|R
|at least one device is on
+
|fan blades swing horizontally
 
|-
 
|-
 
|W
 
|W
|turn all devices off
+
|enable fan blades horizontal swing
 
|-
 
|-
 
+
|rowspan="2"|v
|rowspan="4"|<type>.power
+
|R
|rowspan="2"|0
+
|fan blades swing vertically
|R
 
|all devices of the specified type are off
 
 
|-
 
|-
 
|W
 
|W
|turn all devices of the specified type off
+
|enable fan blades vertical swing
 
|-
 
|-
|rowspan="2"|1
+
|rowspan="2"|hv
 
|R
 
|R
|at least one device of the specified type is on
+
|fan blades swing horizontally and vertically
 
|-
 
|-
 
|W
 
|W
|turn all devices of the specified type on
+
|enable fan blades horizontal and vertical swing
 
|-
 
|-
  
|rowspan="5"|<n>.power
+
|rowspan="6"|<unit>.fan.rate
|rowspan="2"|0
+
|rowspan="2"|auto
 
|R
 
|R
|the addressed device is off
+
|airflow rate automatic operation
 
|-
 
|-
 
|W
 
|W
|turn the device off
+
|set automatic airflow rate
 
|-
 
|-
|rowspan="2"|1
+
|rowspan="2"|silence
 
|R
 
|R
|the addressed device is on
+
|airflow rate quiet operation (reduced flow rate, for low noise operation)
 
|-
 
|-
 
|W
 
|W
|turn the device on
+
|set airflow rate quiet operation
 
|-
 
|-
|unknown
+
|rowspan="2"|1 ... 5
|R
+
|R
|the power state of the device is not known
+
|airflow rate level
|-
 
 
 
|rowspan="5"|opmode<br/><n>.opmode<br/><type>.opmode
 
|rowspan="2"|heat <br/>cool<br/>fan<br/>dependent<br/>dry
 
|R
 
|the operation mode of the target is set to the specified value <sup>[[#note1|[Note 1]]]</sup>
 
 
|-
 
|-
 
|W
 
|W
|set the operation mode of the target to the specified value
+
|set airflow rate level (1 is slower, 5 is faster)
 
|-
 
|-
|auto
+
 
|W
+
|<unit>.humidity.current
|set the operation mode of the target to the specified value
+
|<value>
|-
+
|R
|ventilation<br/>auto-heat<br/>auto-cool<br/>
+
|the current relative humidity level (if supported by the unit and operation mode)
|R
 
|the operation mode of the target is set to the specified value <sup>[[#note1|[Note 1]]]</sup>
 
|-
 
|unknown
 
|R
 
|the operation mode of the device is not known
 
 
|-
 
|-
  
|rowspan="3"|vent.mode<br/><n>.vent.mode<br/><type>.vent.mode
+
|rowspan="4"|<unit>.humidity.setpoint
|rowspan="2"|auto<br/>exchange<br/>bypass
+
|rowspan="2"|<value>
 
|R
 
|R
|the ventilation mode of the target is set to the specified value<sup>[[#note1|[Note 1]]]</sup>
+
|the relative humidity set-point
 
|-
 
|-
 
|W
 
|W
|set the ventilation mode of the target to the specified value
+
|set the relative humidity set-point (if supported by the unit and operation mode)
|-
 
|unknown
 
|R
 
|the ventilation mode of the device is not known
 
|-
 
 
 
|rowspan="4"|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>
 
 
|-
 
|-
 +
|up
 
|W
 
|W
|set the ventilation level of the target to the specified value
+
|increase the relative humidity set-point by 10%
 
|-
 
|-
|switch
+
|down
 
|W
 
|W
|switch the ventilation level cycling among the values low, high, and auto
+
|decrease the relative humidity set-point by 10%
 
|-
 
|-
|unknown
+
 
|R
+
|<unit>.mac
|the ventilation level of the device is not known
+
|<a.b.c.d.e.f>
 +
|R
 +
|the network interface hardware address of the unit connected to the local WiFi network. The hardware address is fixed
 
|-
 
|-
  
|rowspan="5"|vent.freshup<br/><n>.vent.freshup<br/><type>.vent.freshup
+
|rowspan="10"|<unit>.mode
|rowspan="2"|0
+
|rowspan="2"|auto
 
|R
 
|R
|the ventilation fresh up option is disabled <sup>[[#note1|[Note 1]]]</sup>
+
|automatic operation mode
 
|-
 
|-
 
|W
 
|W
|disable the ventilation fresh up option
+
|set automatic operation mode (the unit automatically switches between cooling and heating)
 
|-
 
|-
|rowspan="2"|1
+
|rowspan="2"|cooling
 
|R
 
|R
|the ventilation fresh up option is enabled <sup>[[#note1|[Note 1]]]</sup>
+
|cooling operation mode
 
|-
 
|-
 
|W
 
|W
|enable the ventilation fresh up option
+
|set cooling operation mode
|-
 
|unknown
 
|R
 
|the ventilation fresh up setting of the device is not known
 
 
|-
 
|-
 
+
|rowspan="2"|heating
|rowspan="4"|setpoint<br/><n>.setpoint<br/><type>.setpoint
 
|rowspan="2"|<val>
 
 
|R
 
|R
|the set-point temperature of the target is <val> (expressed in °C/10)<sup>[[#note1|[Note 1]]]</sup>
+
|heating operation mode
 
|-
 
|-
 
|W
 
|W
|set the set-point temperature to <val> (in °C/10)
+
|set heating operation mode
 
|-
 
|-
|up
+
|rowspan="2"|dehum
|W
+
|R
|increase the set-point temperature of 0.5 °C
+
|drying operation mode
 
|-
 
|-
|down
 
 
|W
 
|W
|decrease the set-point temperature of 0.5 °C
+
|set drying operation mode (the unit controls the humidity, not the temperature)
 
|-
 
|-
 
+
|rowspan="2"|fan
|<n>.temp
+
|R
|<val>
+
|fan operation mode
|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<br/>auto
 
|R
 
|the fan speed of the target is set to the specified value<sup>[[#note1|[Note 1]]]</sup>
 
 
|-
 
|-
 
|W
 
|W
|set the fan speed to the specified value
+
|set fan operation mode (temperature control disabled)
 
|-
 
|-
|switch
+
 
|W
+
|<unit>.name
|switch the fan speed cycling among the values low, mid, and high
+
|<name>
|-
+
|R
|unknown
+
|the unit name, as shown in the Daikin Controller app
|R
 
|the fan speed is not known
 
 
|-
 
|-
  
|rowspan="6"| fan.direction<br/><n>.fan.direction<br/><type>.fan.direction
+
|rowspan="5"|<unit>.power
|rowspan="2"|0 ... 4
+
|rowspan="2"|off
|R
+
|R
|the fan direction is set to the specified level<sup>[[#note1|[Note 1]]]</sup>
+
|the unit is not operating
 
|-
 
|-
 
|W
 
|W
|set the fan direction to the specified level
+
|turn the unit off
 
|-
 
|-
|rowspan="2"|swing
+
|rowspan="2"|on
 
|R
 
|R
|the fan is in swing mode<sup>[[#note1|[Note 1]]]</sup>
+
|the unit is operating
 
|-
 
|-
 
|W
 
|W
|set the fan in swing mode
+
|turn the unit on
 
|-
 
|-
|switch
+
|flip
 
|W
 
|W
|switch the fan mode cycling among 0, 1, 2, 3, 4, and swing
+
|turn the unit on if currently off, and off if currently on
|-
 
|unknown
 
|R
 
|the fan direction is not known
 
 
|-
 
|-
  
|rowspan="2"|<n>.filter.sign
+
|<unit>.temp.current
|0
+
|<value>
|R
+
|R
|the filter signal is not active on the device
+
|the current room temperature (in &deg;C)
|-
 
|1
 
|R
 
|the filter signal is active on the device
 
 
|-
 
|-
  
|rowspan="2"|<n>.setpoint.enabled
+
|<unit>.temp.outside
|0
+
|<value>
|R
+
|R
|the set point is disabled
+
|the current outside temperature (in &deg;C)
|-
 
|1
 
|R
 
|the set point is enabled
 
 
|-
 
|-
  
|rowspan="2"|<n>.temp.enabled
+
|rowspan="4"|<unit>.temp.setpoint
|0
+
|rowspan="2"|<value>
 
|R
 
|R
|the temperature measurement is disabled
+
|the temperature set-point (in &deg;C)
 
|-
 
|-
|1
+
|W
|R
+
|set the temperature set-point (in &deg;C, with .5 degrees accuracy)
|the temperature measurement is enabled
 
 
|-
 
|-
 
+
|up
|rowspan="2"|error<br/><n>.error
+
|W
|0
+
|increase the temperature set-point by 0.5&deg;C
|R
 
|the target is working properly
 
 
|-
 
|-
|1
+
|down
|R
+
|W
|an error has been detected
+
|decrease the temperature set-point by 0.5&deg;C
 
|-
 
|-
  
|<n>.error.code
+
|<unit>.version
|<xx>
+
|<value>
|R
+
|R
|the specified error code is reported  (if <ioserver_id>.<n>.error = 1)
+
|the unit firmware version
 
|-
 
|-
  
 
|}
 
|}
 
<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 ==
  
  
=== UISET Actions ===
+
=== Daikinrc Object ===
 
 
  
{| class="wikitable"
 
!ID
 
!Attribute
 
!colspan="2"|Set to
 
|-
 
  
|connection.label
+
{{:Daikinrc (UI Object)}}
|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, high and auto
 
|-
 
 
 
|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
 
|-
 
 
 
|}
 
 
 
=== 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 ==
 
== Release Notes ==
  
=== 3.6.0 ===
+
=== 3.8.0 ===
*added support for iTM
 
 
 
=== 3.0.0 ===
 
 
*initial release
 
*initial release
  

Latest revision as of 19:42, 25 May 2022

The DAIKINRC I/O Server is compatible with the Daikin room air conditioner series CTXM, ATXM and FTXM units that can be fitted with the Daikin wireless LAN adapter (BRP06xxx; versions BRP069C4x are not supported) and are supported by the Daikin Controller iOS and Android app.

A single DAIKINRC I/O Server controls all the devices connected to the local network.

Daikin Configuration and Discovery

All units must be connected to the same LAN of the HSYCO Server. When the DAIKINRC I/O Server starts, and then periodically every 30 to 60 seconds, a discovery request is sent to the LAN. New units responding to the discovery request will start to be polled by the I/O Server and become online.

HSYCO Configuration

Add a DAIKINRC I/O Server in the I/O Servers section of the Settings and set its parameters.

Note A single DAIKINRC I/O Server discovers and controls all units connected to the LAN.


Communication

As the I/O Server automatically discovers all units connected to the local network, no connection parameters are required.

High Availability

  • Shutdown when inactive: defaults to true.

Options

ID Default Values Description
pollinterval 5 1 <= n <= 30 the status poll interval, in seconds

Datapoints

In the following table, replace <unit> with the name assigned to a room air conditioner unit. The unit name is shown in the Daikin Controller app.

Names are transformed to lowercase. For instance, if the unit name is "DaikinAP44822", the <unit> part of the corresponding data points will be "daikinap44822".

ID Value R/W Description
<unit>.connection online R connection established to the unit
offline R HSYCO can’t connect to the unit (after initial successful discovery)
<unit>.address <a.b.c.d> R the IP address of the unit connected to the local WiFi network. As the address is assigned by the DHCP server, the unit address may change over time
<unit>.fan.direction off R fan blades stay in a fixed position
W stop vertical/horizontal movement of fan blades
h R fan blades swing horizontally
W enable fan blades horizontal swing
v R fan blades swing vertically
W enable fan blades vertical swing
hv R fan blades swing horizontally and vertically
W enable fan blades horizontal and vertical swing
<unit>.fan.rate auto R airflow rate automatic operation
W set automatic airflow rate
silence R airflow rate quiet operation (reduced flow rate, for low noise operation)
W set airflow rate quiet operation
1 ... 5 R airflow rate level
W set airflow rate level (1 is slower, 5 is faster)
<unit>.humidity.current <value> R the current relative humidity level (if supported by the unit and operation mode)
<unit>.humidity.setpoint <value> R the relative humidity set-point
W set the relative humidity set-point (if supported by the unit and operation mode)
up W increase the relative humidity set-point by 10%
down W decrease the relative humidity set-point by 10%
<unit>.mac <a.b.c.d.e.f> R the network interface hardware address of the unit connected to the local WiFi network. The hardware address is fixed
<unit>.mode auto R automatic operation mode
W set automatic operation mode (the unit automatically switches between cooling and heating)
cooling R cooling operation mode
W set cooling operation mode
heating R heating operation mode
W set heating operation mode
dehum R drying operation mode
W set drying operation mode (the unit controls the humidity, not the temperature)
fan R fan operation mode
W set fan operation mode (temperature control disabled)
<unit>.name <name> R the unit name, as shown in the Daikin Controller app
<unit>.power off R the unit is not operating
W turn the unit off
on R the unit is operating
W turn the unit on
flip W turn the unit on if currently off, and off if currently on
<unit>.temp.current <value> R the current room temperature (in °C)
<unit>.temp.outside <value> R the current outside temperature (in °C)
<unit>.temp.setpoint <value> R the temperature set-point (in °C)
W set the temperature set-point (in °C, with .5 degrees accuracy)
up W increase the temperature set-point by 0.5°C
down W decrease the temperature set-point by 0.5°C
<unit>.version <value> R the unit firmware version

User Interface

Daikinrc Object

The user interface for the DAIKINRC I/O Server.

UI Object daikinrc.png

The daikinrc object is listed in the Project Editor’s new object list only when a DAIKINRC I/O Server is defined.


Parameters

  • id: the object's ID, used by UISets
  • server id: the server ID.
  • unit: the room air conditioner unit id. Supports Redirect variables
  • position: the object's position. Use the pixels or rows and columns coordinates format

Syntax

(daikinrc[!<id>] <server id>; <unit>; <position>)

E.g.

(daikinrc d1; daikinap30859; r1c1)

UI Attributes

Common attributes

Name Value Description
pos x<x>y<y> Position specified as x/y coordinates. E.g. x-5y10
visible true Default. Show the object
false Hide the object
blink true | slow Blink the object at a slow speed
fast Blink the object at a fast speed
false Stop the blinking
opacity 0.0 ... 1.0 Object opacity from 0 (not visible) to 1 (fully visible)
rotation 0 ... 360 Object rotation in degrees. Images are rotated around the center point, all other objects are rotated around the top left corner

Release Notes

3.8.0

  • initial release


Daikin is a registered trademarks of Daikin Corp.