1.2.0 • Published 10 months ago

@caitken-com/node-red-contrib-daikin-api v1.2.0

Weekly downloads
-
License
MIT
Repository
-
Last release
10 months ago

JSON to Daikin Wifi controller/adaptor

Controls Daikin air-conditioner wifi controller/adaptor via Node Red. Tested with BRP15B61.

daikin-server (config node)

ModeDescription
IP Address:{string} Local IP of your Daikin Wifi adaptor. Eg: 192.168.1.123
Auto mode{int} ID of Auto mode. Eg: 0
Fan mode{int} ID of Fan mode. Eg: 3
Heat mode{int} ID of Heating mode. Eg: 1
Cool mode{int} ID of Cooling mode. Eg: 2
Dry mode{int} ID of Drying mode. Eg: 6
Dehumidifier mode{int} ID of Dehumidifier mode. Eg: 3

Each aircon-unit maybe be setup with different IDs for the various modes. Here's some documentation on possible values, although my IDs don't match those docs, which is why I've made it user configurable.

daikin-api node (command node)

On initial deploy the node will automatically sync with the wifi controller. But won't know the correct mode(s) till you set the IDs within the config node.

Commands:

General use only requires these two commands: getControlInfo setControlInfo

Get control info:

Use this to fetch the status from the wifi controller. After the initial automatic sync you'll need to do this command periodically to keep the node / your flows in sync with the wifi controller.

{
	"cmd": "getControlInfo"
}

The above payload will return something similar to this:

{"Power":false,"Mode":"Heat","TargetTemperature":22,"FanRate":"Low","FanDirection":"Disabled"}

Set control info:

Use this to send commands (set values) to the wifi controller. At least one of the following must be set: Power, Mode, TargetTemperature, FanRate, FanDirection

{
	"cmd": "setControlInfo",
	"Power": true,
	"Mode": "Heat",
	"TargetTemperature": 22,
	"FanRate": "Low",
	"FanDirection": "Off"
}
ParamTypeDescription
Power{bool}true/false
Mode{string}Auto/Heat/Cool/Dry/Dehumidifier/Fan (!)
TargetTemperature{int}0-100 degrees celsius
FanRate{string}Auto/Silence/Low/1/2/3/4/5/Auto low/Auto mid/Auto high (!)
FanDirection{string}Off/Vertical/Horizontal/3D (!)

(!) Not all values are available on every system.

Get sensor info:

Fetches temperature sensor info.

{
	"cmd": "getSensorInfo"
}

The above payload will return something similar to this:

{"OutsideTemperature":"Disabled","InsideTemperature":16}

On my unit InsideTemperature is measuring from a sensor within the roof space where the machine is. And OutsideTemperature is disabled. So not useful to determine indoor/outdoor temperatures, at least on my unit.

Get zone setting

Fetches zone names, and ON/OFF status

{
	"cmd": "getZoneSetting"
}

The above payload will return something similar to this:

{"Zones": [0:"-",1:"-",2:"-",3:"-",4:"-",5:"-",6:"-",7:"-"],"On":[0:false,1:false,2:false,3:false,4:false,5:false,6:false,7:false]}

Get config

Syncs with wifi controller, then returns all cached values of this node in human/pretty values

{
	"cmd": "getConfig"
}

The above payload will return something similar to this:

{"Power":true,"Mode":"Cool","TargetTemperature":22,"FanRate":"Low","FanDirection":"Disabled","OutsideTemperature":"Disabled","InsideTemperature":22,"ZoneNames":["-","-","-","-","-","-","-","-"],"ZoneStates":[false,false,false,false,false,false,false,false],"EnableZones":false,"EnableLinearZones":false,"EnableSetZones":true,"EnableCommonZone":false,"EnableAutoMode":false,"EnableDryMode":true,"EnableQuickTimer":true,"EnableFanRate":true,"EnableFanRateAuto":false,"EnableFanDirection":false,"EnableSpecialMode":false,"EnableCh":false,"EnableHolidayMode":false,"EnableCent":false,"EnableFilterSign":true,"EnableTemperatureSetting":true,"EnablePatrol":false,"EnableAirSide":false,"SpecialMode":"Disabled","Model":"NOTSUPPORT","Type":"aircon","Version":"1.2.1","Revision":23,"Name":"DaikinAP88703","ID":"Disabled","Errors":false,"Location":"Disabled","CountryCode":"au","Method":"home only","SSID":"DaikinAP88703","Mac":"DC:F5:05:F0:26:21","Port":30050,"AdapterKind":3,"AdaptorMode":"run","LED":true,"AcLED":true,"ErrorType":0,"ErrorCode":0,"HolidayMode":"Disabled","Operate":2,"LowPowerFlag":0,"SyncTime":0,"NoticeIpInt":0,"NoticeSyncInt":0,"BkAuto":2,"Dt1":22,"Dt2":22,"FanSteps":2,"FanDirection1":"Disabled","FanAirSide":"Disabled","AirSide1":"Disabled","AirSide2":"Disabled","FanAuto":"Disabled","Auto1":"Disabled","Auto2":"Disabled","FanDirection2":"Disabled","FilterSign":false,"Cent":"Disabled","NumRemotes":2,"Humidity":0,"TargetHumidity":7,"CoolTemperatureMin":16,"CoolTemperatureMax":32,"HeatTemperatureMin":16,"HeatTemperatureMax":32,"SpecialModeKind":"Disabled","AdvancedMode":"N/A"}

Get raw config

Syncs with wifi controller, then returns all cached values of this in raw json

{"ret":"OK","pow":"1","mode":"2","operate":"2","bk_auto":"2","stemp":"22","dt1":"22","dt2":"22","f_rate":"1","dfr1":"1","dfr2":"1","f_airside":"0","airside1":"0","airside2":"0","f_auto":"0","auto1":"0","auto2":"0","f_dir":"0","dfd1":"0","dfd2":"0","filter_sign_info":"0","cent":"0","en_cent":"0","remo":"2","err":"0","model":"NOTSUPPORT","type":"aircon","humd":"0","s_humd":"7","en_zone":"0","en_linear_zone":"0","en_filter_sign":"1","acled":"1","land":"0","elec":"0","temp":"1","m_dtct":"0","ac_dst":"au","dmnd":"0","en_temp_setting":"1","en_frate":"1","en_fdir":"0","en_rtemp_a":"0","en_spmode":"0","en_ipw_sep":"0","en_scdltmr":"0","en_mompow":"0","en_patrol":"0","en_airside":"0","en_quick_timer":"1","en_auto":"0","en_dry":"1","en_common_zone":"0","cool_l":"16","cool_h":"32","heat_l":"16","heat_h":"32","frate_steps":"2","en_frate_auto":"0","reg":"au","dst":"1","ver":"1_2_1","rev":"23","location":"0","name":"DaikinAP88703","icon":"0","method":"home only","port":"30050","id":"","pw":"","lpw_flag":"0","adp_kind":"3","led":"1","en_setzone":"1","mac":"DCF505F02621","adp_mode":"run","ssid":"DaikinAP88703","err_type":"0","err_code":"0","en_ch":"1","holiday":"0","en_hol":"0","sync_time":"0","htemp":"22","otemp":"-","zone_name":["-","-","-","-","-","-","-","-"],"zone_onoff":["0","0","0","0","0","0","0","0"]}

Get raw:

Get or set raw values on the wifi controller, using json. Useful for debugging your Mode IDs for the config node.

If anyone has a unit with vents controllable via the wifi controller, or other values that need setting/getting. I'd like to work with you in updating this package, by opening an Issue on github!

EndpointDescription
basic_infoProvides Daikin account information (security issue!), software version, mac address and generic info
get_remote_methodProvides information about polling system
set_remote_methodSet information on the polling system (reduce remote time update ??)
get_model_infoProvides model information
set_control_infoMain endpoint to set status parameters (control almost all)
get_control_infoMain endpoint to request all current status parameters
get_sensor_infoProvides information on sensors (temperatures, humidity, power consumption)
get_timerProvides information on timer
set_timerSet timer
get_priceProvides information about cost of running?
set_priceSet value/s about cost of running?
get_target?
set_target?
get_week_powerProvides weekly and today runtime information (in mn)
get_year_powerProvides yearly runtime information
get_programGet schedule information
set_programSet schedule
get_scdltimerProvides information about on/off weekly timer
set_scdltimerSet on/off weekly timer
get_notify?
set_notify?
set_regioncodeSet region code
set_ledSet LED but doesn't work?
rebootReboot the Wifi controller
get_zone_settingProvides zone names, and ON/OFF status
set_zone_settingSet zone names, and ON/OFF status
{
	"cmd": "getRaw",
	"endpoint": "get_control_info",
	"data": null
}

The above payload will return something similar to what's shown below. Use this documentation to determine their meaning:

{"ret":"OK","pow":"0","mode":"1","operate":"1","bk_auto":"2","stemp":"22","dt1":"22","dt2":"22","f_rate":"1","dfr1":"1","dfr2":"1","f_airside":"0","airside1":"0","airside2":"0","f_auto":"0","auto1":"0","auto2":"0","f_dir":"0","dfd1":"0","dfd2":"0","filter_sign_info":"0","cent":"0","en_cent":"0","remo":"2"}
1.2.0

10 months ago

1.1.0

2 years ago

1.0.6

2 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago