error changing settings.

Posted on
Tue Jun 21, 2022 11:02 pm
agame offline
Posts: 497
Joined: Jul 13, 2017
Location: Melbourne, Australia

error changing settings.

Hi, I've been using some scripts to control a Daikin but thought i would give the plugin a go, in order to publish a device to HomeKit.

The plugin can correctly read all settings and ambient temperature, however any attempt to alter settings generates an error:

Code: Select all
actionValue : 0.0
configured : True
delayAmount : 900
description : set mode of thermostat to all off
deviceId : 26784696
replaceExisting : True
textToSpeak :
thermostatAction : SetHvacMode
   Daikin Wifi Controller          0
   Daikin Wifi Controller          off
   Daikin Wifi Controller Debug    action string is off
   Daikin Wifi Controller Debug    http://192.168.1.111/aircon/set_control_info?pow=0&mode=4&stemp=24.0&shum=0&f_rate=5&f_dir=3
   Daikin Wifi Controller Error    Unknown/Other Error setting /aircon/set_control_info?pow=0&mode=4&stemp=24.0&shum=0&f_rate=5&f_dir=3 from Daikin Unit daikin - new plugin
   Daikin Wifi Controller Debug    Error is HTTPConnectionPool(host='192.168.1.111', port=80): Read timed out. (read timeout=2)
   Daikin Wifi Controller Error    send "daikin - new plugin" mode change to off failed
   Daikin Wifi Controller Debug    [['ret', 'OK'], ['pow', '1'], ['mode', '4'], ['adv', ''], ['stemp', '24.0'], ['shum', '0'], ['dt1', '25.0'], ['dt2', 'M'], ['dt3', '27.0'], ['dt4', '24.0'], ['dt5', '24.0'], ['dt7', '25.0'], ['dh1', 'AUTO'], ['dh2', '0'], ['dh3', '0'], ['dh4', '0'], ['dh5', '0'], ['dh7', 'AUTO'], ['dhh', '50'], ['b_mode', '4'], ['b_stemp', '24.0'], ['b_shum', '0'], ['alert', '255'], ['f_rate', '5'], ['f_dir', '3'], ['b_f_rate', '5'], ['b_f_dir', '3'], ['dfr1', '5'], ['dfr2', '5'], ['dfr3', '5'], ['dfr4', '5'], ['dfr5', '5'], ['dfr6', '5'], ['dfr7', '5'], ['dfrh', '5'], ['dfd1', '0'], ['dfd2', '3'], ['dfd3', '3'], ['dfd4', '3'], ['dfd5', '3'], ['dfd6', '0'], ['dfd7', '0'], ['dfdh', '0'], ['ret', 'OK'], ['htemp', '24.0'], ['hhum', '-'], ['otemp', '11.0'], ['err', '0'], ['cmpfreq', '58']]
   Daikin Wifi Controller Debug    [['ret', 'OK'], ['pow', '1'], ['mode', '4'], ['adv', ''], ['stemp', '24.0'], ['shum', '0'], ['dt1', '25.0'], ['dt2', 'M'], ['dt3', '27.0'], ['dt4', '24.0'], ['dt5', '24.0'], ['dt7', '25.0'], ['dh1', 'AUTO'], ['dh2', '0'], ['dh3', '0'], ['dh4', '0'], ['dh5', '0'], ['dh7', 'AUTO'], ['dhh', '50'], ['b_mode', '4'], ['b_stemp', '24.0'], ['b_shum', '0'], ['alert', '255'], ['f_rate', '5'], ['f_dir', '3'], ['b_f_rate', '5'], ['b_f_dir', '3'], ['dfr1', '5'], ['dfr2', '5'], ['dfr3', '5'], ['dfr4', '5'], ['dfr5', '5'], ['dfr6', '5'], ['dfr7', '5'], ['dfrh', '5'], ['dfd1', '0'], ['dfd2', '3'], ['dfd3', '3'], ['dfd4', '3'], ['dfd5', '3'], ['dfd6', '0'], ['dfd7', '0'], ['dfdh', '0'], ['ret', 'OK'], ['htemp', '24.0'], ['hhum', '-'], ['otemp', '11.0'], ['err', '0'], ['cmpfreq', '58'], ['ret', 'OK'], ['curr_day_heat', '0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0'], ['prev_1day_heat', '0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0'], ['curr_day_cool', '0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0'], ['prev_1day_cool', '0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0'], ['ret', 'OK'], ['s_dayw', '3'], ['week_heat', '0/0/0/0/0/0/0/0/0/0/0/0/0/0'], ['week_cool', '0/0/0/0/0/0/0/0/0/0/0/0/0/0'], ['ret', 'OK'], ['curr_year_heat', '0/0/0/0/0/0/0/0/0/0/0/0'], ['prev_year_heat', '0/0/0/0/0/0/0/0/0/0/0/0'], ['curr_year_cool', '0/0/0/0/0/0/0/0/0/0/0/0'], ['prev_year_



The URL the plugin is generating looks identical to what my script uses....and as you can see there is an error reported: any idea what is happening?

Posted on
Wed Jun 22, 2022 2:18 am
neilk offline
Posts: 546
Joined: Jul 13, 2015
Location: Reading, UK

Re: error changing settings.

So if you post into a browser (or curl it from a script)

Code: Select all
http://192.168.1.111/aircon/set_control_info?pow=0&mode=4&stemp=24.0&shum=0&f_rate=5&f_dir=3


Everything works OK.

The read timeout error is strange as the controller IP must be correct as it is returning data from the updates.

Do you have any other network related issues or latency problems, on my unit it intermittently fails to respond to to a status request but only for one cycle and it self corrects. Do you ever see any errors in the log relating to that ?

If it really is a timeout issue then I can look to make quick and dirty change for you to test, and then make it configurable but this is really not much else to tweak.

If you want to share your scripts as well I can take a look and see if something is subtly different.

Thanks,
Neil

Posted on
Wed Jun 22, 2022 3:06 am
agame offline
Posts: 497
Joined: Jul 13, 2017
Location: Melbourne, Australia

Re: error changing settings.

actually the url returns the the response

Code: Select all
ret=OK,adv=


and doesn't do anything.

here's the script I use to set commands. Much of it is about managing UI elements however you will see the URL generation.

Code: Select all
import requests

pow = indigo.variables[469667786].value # "upstairs_aircon_pow_target"
mode = indigo.variables[1560422268].value # "upstairs_aircon_mode_target"
stemp = indigo.variables[432309815].value # "upstairs_aircon_stemp_target"
f_rate = indigo.variables[1963800654].value # "upstairs_aircon_fanspeed_target"
f_dir = indigo.variables[1974389442].value # "upstairs_aircon_fandir_target"

##pow_actual = indigo.variables[1199721418].value # "upstairs_aircon_pow_actual"


indigo.server.log("mode is " + mode)

##if pow_actual.value == False:

url = "http://192.168.1.111/aircon/set_control_info?pow=" + pow +"&mode=" + mode + "&stemp=" + stemp + "&shum=0" + "&f_rate=" + f_rate + "&f_dir=" + f_dir
requests.get(url)

indigo.server.log("updated upstairs daikin settings")


coolmodeIcon = indigo.variables[1194462574]. value # "upstairs_aircon_coolmode_state"
drymodeIcon = indigo.variables[1294622760]. value # "upstairs_aircon_drymode_state"
fanmodeIcon = indigo.variables[647775410]. value # "upstairs_aircon_fanmode_state"
heatmodeIcon = indigo.variables[586965895].value # "upstairs_aircon_heatmode_state"


if   mode  == '3':   #cool
   indigo.variable.updateValue(757312318, value='cool') #modetargettext
   indigo.variable.updateValue(1194462574, value='True') #cool icon
   indigo.variable.updateValue(1294622760, value='False') #dry icon
   indigo.variable.updateValue(647775410, value='False') #fan icon
   indigo.variable.updateValue(586965895, value='False') #heat icon
   

elif mode  == '4': #heat
   indigo.variable.updateValue(757312318, value='heat') #modetargettext
   indigo.variable.updateValue(1194462574, value='False') #cool icon
   indigo.variable.updateValue(1294622760, value='False') #dry icon
   indigo.variable.updateValue(647775410, value='False') #fan icon
   indigo.variable.updateValue(586965895, value='True') #heat icon

elif mode  == '2': #dry
   indigo.variable.updateValue(757312318, value='dry') #modetargettext
   indigo.variable.updateValue(1194462574, value='False') #cool icon
   indigo.variable.updateValue(1294622760, value='True') #dry icon
   indigo.variable.updateValue(647775410, value='False') #fan icon
   indigo.variable.updateValue(586965895, value='False') #heat icon

elif mode  == '6':  #fan
   indigo.variable.updateValue(757312318, value='fan') #modetargettext
   indigo.variable.updateValue(1194462574, value='False') #cool icon
   indigo.variable.updateValue(1294622760, value='False') #dry icon
   indigo.variable.updateValue(647775410, value='True') #fan icon
   indigo.variable.updateValue(586965895, value='False') #heat icon



else :
   indigo.server.log( "error setting hvac mode icons")

Posted on
Wed Jun 22, 2022 3:27 am
agame offline
Posts: 497
Joined: Jul 13, 2017
Location: Melbourne, Australia

Re: error changing settings.

i've found what breaks it:. the plugin is passing the temp value with a decimal place. when i round to an integer, it works.


url generated by plugin
Code: Select all
http://192.168.1.111/aircon/set_control_info?pow=0&mode=4&stemp=24.0&shum=0&f_rate=5&f_dir=3


url generated by my script
Code: Select all
http://192.168.1.111/aircon/set_control_info?pow=0&mode=4&stemp=24&shum=0&f_rate=5&f_dir=3

Posted on
Wed Jun 22, 2022 3:50 pm
neilk offline
Posts: 546
Joined: Jul 13, 2015
Location: Reading, UK

Re: error changing settings.

Thanks for the sleuthing. Which controller are you using ?

It looks like something for a specific device type, I am away for a few days but will test and look to a configurable fix for this if it is device specific

I checked the. API documentation and the call I use appear to be valid, but I will double check in testing.

Posted on
Wed Jun 22, 2022 4:52 pm
agame offline
Posts: 497
Joined: Jul 13, 2017
Location: Melbourne, Australia

Re: error changing settings.

i think the Daikin APIs are reverse engineered, and vary slightly by region,so the doco may not be reliable.
[Does anyone actually need a fraction-of-degree precision?!]

The interface i'm using is the Daikin BRP072A42.

Posted on
Wed Jun 22, 2022 11:25 pm
neilk offline
Posts: 546
Joined: Jul 13, 2015
Location: Reading, UK

Re: error changing settings.

Indeed it varies both by region and model and is not very consistent on identical features.


I will sort one way or another now we know but it may be next week.

Neil

Posted on
Wed Jun 22, 2022 11:35 pm
agame offline
Posts: 497
Joined: Jul 13, 2017
Location: Melbourne, Australia

Re: error changing settings.

no stress, thx!

Page 1 of 1

Who is online

Users browsing this forum: No registered users and 1 guest