homebridge: Thermostat temperature setting unavailable after iOS13 upgrade

Pre Steps

Expected Behavior

After Opening themostat temperature settings I should be able to set temp in IOS13 Home app.

Current Behavior

After Opening themostat temperature settings I should be able to set temp, but after upgrade to IOS 13 temperature value in danfoss thermostats connected via zway server are showing empty value and I can’t set any temperature. Setting the temperature via Siri or using automation works fine.

Steps to Reproduce (for bugs)

Set the temerature in zway server on any thermostats to some value, than try it in IOS13 home app. Opening thermostat temperature IMG_1301 setting window shows empty value.

Versions

  • Homebridge: 0.4.46
  • Node: v8.9.4
  • OS: Raspbian Stretch

Configuration

            {
                    "platform": "ZWayServer",
                    "url": "http://localhost:8083/",
                    "login": "xxxx",
                    "password": "xxxx"
            },

Homebridge Log / Command Output

Oct 05 13:38:08 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:08 GMT ZWayServer Got value: 0, for Danfoss Battery (#2).
Oct 05 13:38:08 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:08 GMT Accessory [HomeBr] Got Characteristic "Status Low Battery" value: 0
Oct 05 13:38:08 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:08 GMT ZWayServer Got value: 22, for Balcony Doors.
Oct 05 13:38:08 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:08 GMT Accessory [HomeBr] Got Characteristic "Target Temperature" value: 22
Oct 05 13:38:08 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:08 GMT ZWayServer Got value: false, for Ksiezyc.
Oct 05 13:38:08 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:08 GMT Accessory [HomeBr] Got Characteristic "On" value: false
Oct 05 13:38:08 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:08 GMT ZWayServer Got value: 22, for Small Room.
Oct 05 13:38:08 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:08 GMT Accessory [HomeBr] Got Characteristic "Target Temperature" value: 22
Oct 05 13:38:08 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:08 GMT ZWayServer Got value: 0, for Danfoss Battery (8.0).
Oct 05 13:38:08 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:08 GMT Accessory [HomeBr] Got Characteristic "Status Low Battery" value: 0
Oct 05 13:38:08 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:08 GMT EventedHTTPServer [192.168.1.106] HTTP Response is finished
Oct 05 13:38:08 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:08 GMT EventedHTTPServer [192.168.1.106] Writing pending HTTP event data
Oct 05 13:38:12 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:12 GMT EventedHTTPServer [192.168.1.106] HTTP request: /characteristics
Oct 05 13:38:12 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:12 GMT HAPServer [CC:xx:xx:xx:xx:xx] HAP Request: PUT /characteristics
Oct 05 13:38:12 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:12 GMT Accessory [HomeBr] Processing characteristic set: [{"aid":27,"iid":11,"value":1}]
Oct 05 13:38:12 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:12 GMT Accessory [HomeBr] Setting Characteristic "Target Heating Cooling State" to value 1
Oct 05 13:38:12 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:12 GMT ZWayServer WARN: Set of TargetHeatingCoolingState not yet implemented, resetting to HEAT!
Oct 05 13:38:12 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:12 GMT EventedHTTPServer [192.168.1.106] HTTP Response is finished
Oct 05 13:38:13 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:13 GMT EventedHTTPServer [192.168.1.106] HTTP request: /characteristics?id=27.18,27.17
Oct 05 13:38:13 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:13 GMT HAPServer [CC:xx:xx:xx:xx:xx] HAP Request: GET /characteristics?id=27.18,27.17
Oct 05 13:38:13 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:13 GMT Accessory [HomeBr] Getting value for Characteristic "Charging State"
Oct 05 13:38:13 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:13 GMT ZWayServer Getting value for Danfoss Battery (#5), characteristic "Charging State"...
Oct 05 13:38:13 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:13 GMT Accessory [HomeBr] Got Characteristic "Charging State" value: 0
Oct 05 13:38:13 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:13 GMT Accessory [HomeBr] Getting value for Characteristic "Battery Level"
Oct 05 13:38:13 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:13 GMT ZWayServer Getting value for Danfoss Battery (#5), characteristic "Battery Level"...
Oct 05 13:38:13 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:13 GMT ZWayServer Got value: 45, for Danfoss Battery (#5).
Oct 05 13:38:13 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:13 GMT Accessory [HomeBr] Got Characteristic "Battery Level" value: 45
Oct 05 13:38:13 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:13 GMT EventedHTTPServer [192.168.1.106] HTTP Response is finished
Oct 05 13:38:21 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:21 GMT EventedHTTPServer [192.168.1.106] HTTP request: /characteristics
Oct 05 13:38:21 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:21 GMT HAPServer [CC:xx:xx:xx:xx:xx] HAP Request: PUT /characteristics
Oct 05 13:38:21 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:21 GMT Accessory [HomeBr] Processing characteristic set: [{"aid":27,"iid":11,"value":0}]
Oct 05 13:38:21 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:21 GMT Accessory [HomeBr] Setting Characteristic "Target Heating Cooling State" to value 0
Oct 05 13:38:21 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:21 GMT ZWayServer WARN: Set of TargetHeatingCoolingState not yet implemented, resetting to HEAT!
Oct 05 13:38:21 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:21 GMT EventedHTTPServer [192.168.1.101] Sending HTTP event '27.11' with data: {"characteristics":[{"aid":27,"iid":11,"value":0}]}
Oct 05 13:38:21 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:21 GMT EventedHTTPServer [192.168.1.118] Sending HTTP event '27.11' with data: {"characteristics":[{"aid":27,"iid":11,"value":0}]}
Oct 05 13:38:21 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:21 GMT EventedHTTPServer [192.168.1.106] Muting event '27.11' notification for this connection since it originated here.
Oct 05 13:38:21 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:21 GMT EventedHTTPServer [192.168.1.106] HTTP Response is finished
Oct 05 13:38:22 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:22 GMT EventedHTTPServer [192.168.1.106] HTTP request: /characteristics
Oct 05 13:38:22 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:22 GMT HAPServer [CC:xx:xx:xx:xx:xx] HAP Request: PUT /characteristics
Oct 05 13:38:22 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:22 GMT Accessory [HomeBr] Processing characteristic set: [{"aid":27,"iid":11,"value":1}]
Oct 05 13:38:22 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:22 GMT Accessory [HomeBr] Setting Characteristic "Target Heating Cooling State" to value 1
Oct 05 13:38:22 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:22 GMT ZWayServer WARN: Set of TargetHeatingCoolingState not yet implemented, resetting to HEAT!
Oct 05 13:38:22 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:22 GMT EventedHTTPServer [192.168.1.101] Sending HTTP event '27.11' with data: {"characteristics":[{"aid":27,"iid":11,"value":1}]}
Oct 05 13:38:22 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:22 GMT EventedHTTPServer [192.168.1.118] Sending HTTP event '27.11' with data: {"characteristics":[{"aid":27,"iid":11,"value":1}]}
Oct 05 13:38:22 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:22 GMT EventedHTTPServer [192.168.1.106] Muting event '27.11' notification for this connection since it originated here.
Oct 05 13:38:22 raspberrypi homebridge[709]: Sat, 05 Oct 2019 11:38:22 GMT EventedHTTPServer [192.168.1.106] HTTP Response is finished

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 17 (1 by maintainers)

Most upvoted comments

So the spec says that we should use Temperature Display Units with Paired Read, Paired Write and Notify permissions. The plug-in was manually overriding this to just Paired Read. This must’ve worked for some time, but was technically wrong (by the spec) even though it worked. This is part of the issue that we face. I actually committed a fix for this to HAP-NodeJS recently as this was not always the case (requiring write permission).

@KanG00 it’s in index.js of homebridge-zway /usr/local/lib/node_modules/homebridge-zway/index.js line 964-966. Comment out them with // or delete them.

//cx.setProps({ //perms: [Characteristic.Perms.READ] //});

see this commit

https://github.com/dgow/homebridge-zway/commit/df88c779ffe722e3478f91902c020cce6159c1c2

after hours of debugging its working now! Its fixed on my fork. Not sure when its gonna be merged into the main project, seems to be dead 😃

https://github.com/dgow/homebridge-zway

params for Characteristic.TemperatureDisplayUnits were overriden to readonly. not sure why. I just commented this out…

… cx.setProps({ perms: [Characteristic.Perms.READ] }); …

I think the issue can be closed. Its not a homebridge bug. The default settings for the Thermostat Service are fine.

actually the brightness example is a quite bad one. or a good one for not doing it this way.

homekit will automatically send an on command if changing the brightness of a switched off lamp, this is the source of problems for devices that will go to full brightness if they receive an on command (like like Homematic) and there are plugins that have to implement workarounds for this.

so the best is not to have any sort of device independent ‘intelligence’ in the system but only in the plugins on the device level. this is the only level that knows about the real behavior of the devices.

This issue is not related to Z-WAY… This is about the changed heating controls in IOS 13. In case of a heating it’s not possible to adjust the target temperature before you would turn it ON. But in case of a heating the ON/OFF status should be managed by the target temperature compared to the current, so it’s not really an option to turn it on. At least in my understanding. I’m pretty sure there is a config to re-enable the temperature selection while the heating is off. As it’s allowed to control the brightness of a lamp which is not on.

You need to file this issue under the plug-ins page on GitHub. This is not related to HomeBridge itself.