Daikin Skyfi and 0.111.0 - first time use - no zones detected

Im on HA 112.0 running in docker.

If the aircon is turned on ( mine is ) I assume we should be able to set/unset the zones, similar to the way the app works…

The top switch is a lovelace thing, it adds it automatically unless you put:

show_header_toggle: false

2 Likes

oh gee, show header toggle, embarrassed how quick that was to fix.
I can see what you mean now, where the switch gets thrown but then toggles back to the opposite way. I however do think that the setting is being sent, it seems that after a while the next refresh of the state finishes and the switch setting “sticks”. But that’s a limited sample of 2, and unfortunately you don’t want to go trigger happy on changes because of the backlogged queries… Given I’ve seen some timeouts and messages rejected, there could be a problem with feedback from an action not being reported (“could not set zone bedrooms to on” type message?).

I’m also thinking that the zone parsing is something that could cope with having an adjusted refresh cycle (once hourly? After initial setup, those names have never changed in 4+ years at my place and I’ll pretty much never add a new zone).

@fredrike thanks for the current fix so I can now see zones. How would you like us to discuss other aspects coming to light here ? Continue this thread, start new thread, or…?

there’s a definite problem when turning zones on and off, with the mapping the switch to a zone - I’ve seen it map the wrong zone. I just turned off my “front living” zone off and it ended up turning off the “living area” zone. I had seen yesterday it turn on zone6 even though I was trying to turn “bedrooms” on. Thoughts on debugging that?

edit: ok I can confirm the challenge of the switches activating zones.
It seems that the switch is associated correctly with the status when the status is read from the controller. It seems however that when acting on the switch, it is actually triggering the N-1 zone. So for me, trying to turn zone 4 on turns on zone 3 (labelled “Bedrooms”). When you toggle zone 1 (“Living area”) nothing happens… It gets tricky trying to turn off anything since you have to have the N+1 zone on first which isn’t always the case - so this is why @stavroz said it didn’t work…

1 Like

I can try to send a fix for this…

Are you saying that switching zone2 actually switches zone1?

Edit, it would help if you would enable debugging on the pydaikin module.

logger:
  logs:
    pydaikin: debug

Here is my logs. Mine didnt seem to switch on or off at all originally but during this testing it seemed to switch on the wrong zone ( after I had already turned off the aircon )

2020-07-03 09:59:49 DEBUG (MainThread) [pydaikin.daikin_base] Updating [‘ac.cgi?pass={}’, ‘zones.cgi?pass={}’]
2020-07-03 09:59:54 DEBUG (MainThread) [pydaikin.daikin_skyfi] Parsing opmode=0&units=.&settemp=27.0&fanspeed=1&fanflags=3&acmode=16&tonact=0&toffact=0&prog=0&time=20:03&day=4&roomtemp=21&outsidetemp=13&louvre=0&zone=32&flt=0&test=0&errcode=&sensors=1
2020-07-03 10:00:02 DEBUG (MainThread) [pydaikin.daikin_base] ServerDisconnectedError 3
2020-07-03 10:00:10 DEBUG (MainThread) [pydaikin.daikin_skyfi] Parsing nz=4&zone1=Bed%202%2C3%2C4&zone2=Bed%201%2C%20upsta&zone3=Family&zone4=Bed%205%2C%20lower
2020-07-03 10:00:16 DEBUG (MainThread) [pydaikin.daikin_skyfi] Parsing opmode=0&units=.&settemp=27.0&fanspeed=1&fanflags=3&acmode=16&tonact=0&toffact=0&prog=0&time=20:04&day=4&roomtemp=21&outsidetemp=13&louvre=0&zone=32&flt=0&test=0&errcode=&sensors=1
2020-07-03 10:00:19 DEBUG (MainThread) [pydaikin.daikin_skyfi] Parsing nz=4&zone1=Bed%202%2C3%2C4&zone2=Bed%201%2C%20upsta&zone3=Family&zone4=Bed%205%2C%20lower
2020-07-03 10:01:08 DEBUG (MainThread) [pydaikin.daikin_skyfi] Updating settings: {‘mode’: ‘hot’}
2020-07-03 10:01:08 DEBUG (MainThread) [pydaikin.daikin_base] Updating [‘ac.cgi?pass={}’]
2020-07-03 10:01:09 DEBUG (MainThread) [pydaikin.daikin_skyfi] Parsing opmode=0&units=.&settemp=27.0&fanspeed=1&fanflags=3&acmode=16&tonact=0&toffact=0&prog=0&time=20:05&day=4&roomtemp=21&outsidetemp=13&louvre=0&zone=32&flt=0&test=0&errcode=&sensors=1
2020-07-03 10:01:09 DEBUG (MainThread) [pydaikin.daikin_skyfi] Updated values: {‘opmode’: ‘1’, ‘units’: ‘.’, ‘settemp’: ‘27.0’, ‘fanspeed’: ‘5’, ‘fanflags’: ‘3’, ‘acmode’: ‘2’, ‘tonact’: ‘0’, ‘toffact’: ‘0’, ‘prog’: ‘0’, ‘time’: ‘20:05’, ‘day’: ‘4’, ‘roomtemp’: ‘21’, ‘outsidetemp’: ‘13’, ‘louvre’: ‘0’, ‘zone’: ‘32’, ‘flt’: ‘0’, ‘test’: ‘0’, ‘errcode’: ‘’, ‘sensors’: ‘1’, ‘pow’: ‘0’, ‘stemp’: ‘27.0’, ‘f_rate’: ‘5’, ‘mode’: ‘16’, ‘htemp’: ‘21’, ‘otemp’: ‘13’, ‘nz’: ‘4’, ‘zone1’: ‘Bed%202%2C3%2C4’, ‘zone2’: ‘Bed%201%2C%20upsta’, ‘zone3’: ‘Family’, ‘zone4’: ‘Bed%205%2C%20lower’}
2020-07-03 10:01:09 DEBUG (MainThread) [pydaikin.daikin_base] Updating [‘set.cgi?pass={}&p=1&t=27.0&f=5&m=2’]
2020-07-03 10:01:10 DEBUG (MainThread) [pydaikin.daikin_skyfi] Parsing opmode=1&units=.&settemp=27.0&fanspeed=1&fanflags=3&acmode=2&tonact=0&toffact=0&prog=0&time=20:05&day=4&roomtemp=21&outsidetemp=13&louvre=0&zone=32&flt=0&test=0&errcode=&sensors=1
2020-07-03 10:01:14 DEBUG (MainThread) [pydaikin.daikin_base] Updating [‘ac.cgi?pass={}’, ‘zones.cgi?pass={}’]
2020-07-03 10:01:15 DEBUG (MainThread) [pydaikin.daikin_skyfi] Parsing opmode=1&units=.&settemp=27.0&fanspeed=1&fanflags=3&acmode=2&tonact=0&toffact=0&prog=0&time=20:05&day=4&roomtemp=21&outsidetemp=13&louvre=0&zone=32&flt=0&test=0&errcode=&sensors=1
2020-07-03 10:01:16 DEBUG (MainThread) [pydaikin.daikin_skyfi] Parsing nz=4&zone1=Bed%202%2C3%2C4&zone2=Bed%201%2C%20upsta&zone3=Family&zone4=Bed%205%2C%20lower
2020-07-03 10:01:34 DEBUG (MainThread) [pydaikin.daikin_skyfi] Set zone: setzone.cgi?pass={}&z=3&s=1
2020-07-03 10:01:36 DEBUG (MainThread) [pydaikin.daikin_skyfi] Parsing opmode=1&units=.&settemp=27.0&fanspeed=1&fanflags=3&acmode=2&tonact=0&toffact=0&prog=0&time=20:05&day=4&roomtemp=21&outsidetemp=13&louvre=0&zone=32&flt=0&test=0&errcode=&sensors=1
2020-07-03 10:02:16 DEBUG (MainThread) [pydaikin.daikin_base] Updating [‘ac.cgi?pass={}’, ‘zones.cgi?pass={}’]
2020-07-03 10:02:17 DEBUG (MainThread) [pydaikin.daikin_skyfi] Parsing opmode=1&units=.&settemp=27.0&fanspeed=1&fanflags=3&acmode=2&tonact=0&toffact=0&prog=0&time=20:06&day=4&roomtemp=21&outsidetemp=13&louvre=0&zone=32&flt=0&test=0&errcode=&sensors=1
2020-07-03 10:02:18 DEBUG (MainThread) [pydaikin.daikin_skyfi] Parsing nz=4&zone1=Bed%202%2C3%2C4&zone2=Bed%201%2C%20upsta&zone3=Family&zone4=Bed%205%2C%20lower
2020-07-03 10:02:24 DEBUG (MainThread) [pydaikin.daikin_skyfi] Set zone: setzone.cgi?pass={}&z=1&s=1
2020-07-03 10:02:25 DEBUG (MainThread) [pydaikin.daikin_skyfi] Parsing opmode=1&units=.&settemp=27.0&fanspeed=1&fanflags=3&acmode=2&tonact=0&toffact=0&prog=0&time=20:06&day=4&roomtemp=21&outsidetemp=13&louvre=0&zone=160&flt=0&test=0&errcode=&sensors=1
2020-07-03 10:02:37 DEBUG (MainThread) [pydaikin.daikin_skyfi] Updating settings: {‘mode’: ‘off’}
2020-07-03 10:02:37 DEBUG (MainThread) [pydaikin.daikin_base] Updating [‘ac.cgi?pass={}’]
2020-07-03 10:02:38 DEBUG (MainThread) [pydaikin.daikin_skyfi] Parsing opmode=1&units=.&settemp=27.0&fanspeed=1&fanflags=3&acmode=2&tonact=0&toffact=0&prog=0&time=20:06&day=4&roomtemp=21&outsidetemp=13&louvre=0&zone=160&flt=0&test=0&errcode=&sensors=1
2020-07-03 10:02:38 DEBUG (MainThread) [pydaikin.daikin_skyfi] Updated values: {‘opmode’: ‘0’, ‘units’: ‘.’, ‘settemp’: ‘27.0’, ‘fanspeed’: ‘5’, ‘fanflags’: ‘3’, ‘acmode’: ‘0’, ‘tonact’: ‘0’, ‘toffact’: ‘0’, ‘prog’: ‘0’, ‘time’: ‘20:06’, ‘day’: ‘4’, ‘roomtemp’: ‘21’, ‘outsidetemp’: ‘13’, ‘louvre’: ‘0’, ‘zone’: ‘160’, ‘flt’: ‘0’, ‘test’: ‘0’, ‘errcode’: ‘’, ‘sensors’: ‘1’, ‘pow’: ‘1’, ‘stemp’: ‘27.0’, ‘f_rate’: ‘5’, ‘mode’: ‘2’, ‘htemp’: ‘21’, ‘otemp’: ‘13’, ‘nz’: ‘4’, ‘zone1’: ‘Bed%202%2C3%2C4’, ‘zone2’: ‘Bed%201%2C%20upsta’, ‘zone3’: ‘Family’, ‘zone4’: ‘Bed%205%2C%20lower’}
2020-07-03 10:02:38 DEBUG (MainThread) [pydaikin.daikin_base] Updating [‘set.cgi?pass={}&p=0’]
2020-07-03 10:02:40 DEBUG (MainThread) [pydaikin.daikin_skyfi] Parsing opmode=0&units=.&settemp=27.0&fanspeed=1&fanflags=3&acmode=2&tonact=0&toffact=0&prog=0&time=20:06&day=4&roomtemp=21&outsidetemp=13&louvre=0&zone=160&flt=0&test=0&errcode=&sensors=1
2020-07-03 10:03:18 DEBUG (MainThread) [pydaikin.daikin_base] Updating [‘ac.cgi?pass={}’, ‘zones.cgi?pass={}’]
2020-07-03 10:03:19 DEBUG (MainThread) [pydaikin.daikin_skyfi] Parsing opmode=0&units=.&settemp=27.0&fanspeed=1&fanflags=3&acmode=2&tonact=0&toffact=0&prog=0&time=20:07&day=4&roomtemp=21&outsidetemp=13&louvre=0&zone=160&flt=0&test=0&errcode=&sensors=1
2020-07-03 10:03:20 DEBUG (MainThread) [pydaikin.daikin_skyfi] Parsing nz=4&zone1=Bed%202%2C3%2C4&zone2=Bed%201%2C%20upsta&zone3=Family&zone4=Bed%205%2C%20lower
2020-07-03 10:04:20 DEBUG (MainThread) [pydaikin.daikin_base] Updating [‘ac.cgi?pass={}’, ‘zones.cgi?pass={}’]
2020-07-03 10:04:23 DEBUG (MainThread) [pydaikin.daikin_skyfi] ClientResponseError(“400, message=‘invalid constant string’, url='http://192.168.1.2:2000/ac.cgi?pass=57236”) #0
2020-07-03 10:04:27 DEBUG (MainThread) [pydaikin.daikin_skyfi] ClientResponseError(“400, message=‘invalid constant string’, url='http://192.168.1.2:2000/ac.cgi?pass=57236”) #1
2020-07-03 10:04:29 DEBUG (MainThread) [pydaikin.daikin_skyfi] Parsing opmode=0&units=.&settemp=27.0&fanspeed=1&fanflags=3&acmode=2&tonact=0&toffact=0&prog=0&time=20:08&day=4&roomtemp=21&outsidetemp=13&louvre=0&zone=160&flt=0&test=0&errcode=&sensors=1
2020-07-03 10:04:31 DEBUG (MainThread) [pydaikin.daikin_skyfi] Parsing nz=4&zone1=Bed%202%2C3%2C4&zone2=Bed%201%2C%20upsta&zone3=Family&zone4=Bed%205%2C%20lower
2020-07-03 10:05:22 DEBUG (MainThread) [pydaikin.daikin_base] Updating [‘ac.cgi?pass={}’, ‘zones.cgi?pass={}’]
2020-07-03 10:05:23 DEBUG (MainThread) [pydaikin.daikin_skyfi] Parsing opmode=0&units=.&settemp=27.0&fanspeed=1&fanflags=3&acmode=2&tonact=0&toffact=0&prog=0&time=20:09&day=4&roomtemp=21&outsidetemp=12&louvre=0&zone=160&flt=0&test=0&errcode=&sensors=1
2020-07-03 10:05:24 DEBUG (MainThread) [pydaikin.daikin_skyfi] Parsing nz=4&zone1=Bed%202%2C3%2C4&zone2=Bed%201%2C%20upsta&zone3=Family&zone4=Bed%205%2C%20lower
2020-07-03 10:06:24 DEBUG (MainThread) [pydaikin.daikin_base] Updating [‘ac.cgi?pass={}’, ‘zones.cgi?pass={}’]
2020-07-03 10:06:27 DEBUG (MainThread) [pydaikin.daikin_skyfi] ClientResponseError(“400, message=‘invalid constant string’, url='http://192.168.1.2:2000/ac.cgi?pass=57236”) #0
2020-07-03 10:06:31 DEBUG (MainThread) [pydaikin.daikin_skyfi] ClientResponseError(“400, message=‘invalid constant string’, url='http://192.168.1.2:2000/ac.cgi?pass=57236”) #1
2020-07-03 10:06:33 DEBUG (MainThread) [pydaikin.daikin_skyfi] Parsing opmode=0&units=.&settemp=27.0&fanspeed=1&fanflags=3&acmode=2&tonact=0&toffact=0&prog=0&time=20:10&day=4&roomtemp=21&outsidetemp=12&louvre=0&zone=160&flt=0&test=0&errcode=&sensors=1
2020-07-03 10:06:35 DEBUG (MainThread) [pydaikin.daikin_skyfi] Parsing nz=4&zone1=Bed%202%2C3%2C4&zone2=Bed%201%2C%20upsta&zone3=Family&zone4=Bed%205%2C%20lower

I have had debug turned on for a while so have this from my testing yesterday.

2020-07-03 17:02:23 DEBUG (MainThread) [pydaikin.daikin_skyfi] Set zone: setzone.cgi?pass={}&z=7&s=1
2020-07-03 17:02:24 DEBUG (MainThread) [pydaikin.daikin_skyfi] Parsing opmode=1&units=.&settemp=23.0&fanspeed=3&fanflags=1&acmode=2&tonact=0&toffact=0&prog=0&time=17:04&day=4&roomtemp=19&outsidetemp=16&louvre=0&zone=66&flt=0&test=0&errdata=144&sensors=1
2020-07-03 17:03:07 DEBUG (MainThread) [pydaikin.daikin_skyfi] Set zone: setzone.cgi?pass={}&z=4&s=1
2020-07-03 17:03:08 DEBUG (MainThread) [pydaikin.daikin_skyfi] Parsing opmode=1&units=.&settemp=23.0&fanspeed=3&fanflags=1&acmode=2&tonact=0&toffact=0&prog=0&time=17:04&day=4&roomtemp=19&outsidetemp=16&louvre=0&zone=82&flt=0&test=0&errdata=144&sensors=1
2020-07-03 17:03:13 DEBUG (MainThread) [pydaikin.daikin_base] Updating ['ac.cgi?pass={}', 'zones.cgi?pass={}']
2020-07-03 17:03:14 DEBUG (MainThread) [pydaikin.daikin_skyfi] Parsing opmode=1&units=.&settemp=23.0&fanspeed=3&fanflags=1&acmode=2&tonact=0&toffact=0&prog=0&time=17:04&day=4&roomtemp=19&outsidetemp=16&louvre=0&zone=82&flt=0&test=0&errdata=144&sensors=1
2020-07-03 17:03:15 DEBUG (MainThread) [pydaikin.daikin_skyfi] Parsing nz=8&zone1=Living%20area&zone2=Front%20living&zone3=Bedrooms&zone4=Zone%204&zone5=Zone%205&zone6=Zone%206&zone7=Zone%207&zone8=Zone%208
2020-07-03 17:03:49 DEBUG (MainThread) [pydaikin.daikin_skyfi] Set zone: setzone.cgi?pass={}&z=3&s=0
<snip>
2020-07-03 17:06:00 DEBUG (MainThread) [pydaikin.daikin_skyfi] Set zone: setzone.cgi?pass={}&z=0&s=1

the tests here were, in order, turn zone8 one (z=7&s=1 was in the log and zone7 came on); turn zone5 on (z=4&s=1, and zone4 came on); try to turn zone4 off (z=3&s=0 and nothing happened because zone3 was already off); and finally, set zone “front living” to on, but z=0 was in the log. Z= should always start at 1.

3 Likes

Just a status update. Applied 112.4 today, still the same… not sure whether I should be expecting the fix anytime soon, but can confirm if it’s in the pipes its not in .4

1 Like

Looks to be fixed in 0.113.0 ! Thanks @fredrike !

Now to change my automations so they toggle the correct zone that I want rather than the +1 that I kludged it with.

It works well for me as well! Thanks @fredrike

1 Like