HomeKit remote access

No, It’s still “on”…

ou
I tried to copy operation mode and it worked.
Really. It does not work with “off”, But works with “Off”

Now, as I understand, home app is sending not what thermostat is listening to. How should I change home app command or thermostat command?

Can you try if heat and cool (lowercase) work from the services panel?

Yeah, they work
“Heat (Default)”, “Cool”

Hm, I have to take a closer look at it later. Will get back to you

“Heat (Default)”, “Cool”

I meant especially the lowercase ones.

Sorry, no, does not work that way

heat (Default) - does not work
Heat (Default) - works

So, the issue is that the Z-Wave climate platform doesn’t follow the Home Assistant standards for states which results in HomeKit and others not working. While looking at Github, I found the corresponding issue: https://github.com/home-assistant/home-assistant/issues/13158

Originally for Google Home, but essentially the same problem.
Unfortunately I don’t have any Z-Wave climate devices, which make debugging and solving this myself, nearly impossible.

Naively thought that I can change z-wave file (Off -> off) and get things work. Nope, does not work
So I only can change the temperature, not state. Unfortunatelly
What is more sad - I know only one way to control A/C.

@Argo Check out https://github.com/home-assistant/home-assistant/issues/13158#issuecomment-400499679

Went through the instruction.
Still not working.
Turned thermofloor from HA and tried to turn off from homekit

2018-06-27 17:03:10 DEBUG (Thread-5) [pyhap.hap_server] Request PUT from address '('192.168.1.66', 58405)' for path '/characteristics'.
2018-06-27 17:03:10 DEBUG (Thread-5) [pyhap.characteristic] client_update_value: TargetTemperature to 35
2018-06-27 17:03:10 DEBUG (Thread-5) [homeassistant.components.homekit.type_thermostats] climate.thermofloor_as_heatit_thermostat_tf_021_heating: Start target_temperature timeout
2018-06-27 17:03:10 INFO (Thread-5) [pyhap.hap_server] 192.168.1.66 - "PUT /characteristics HTTP/1.1" 207 -
2018-06-27 17:03:11 DEBUG (SyncWorker_19) [homeassistant.components.homekit.type_thermostats] climate.thermofloor_as_heatit_thermostat_tf_021_heating: Set target temperature to 35.00°C
2018-06-27 17:03:12 DEBUG (MainThread) [homeassistant.components.homekit.accessories] New_state: <state climate.thermofloor_as_heatit_thermostat_tf_021_heating=Heat (Default); current_temperature=32.5, min_temp=7, max_temp=35, temperature=35.0, operation_mode=Heat (Default), operation_list=['Cool', 'Energy Heat', 'Off', 'Heat (Default)'], node_id=4, value_index=1, value_instance=1, value_id=72057594110328850, unit_of_measurement=°C, friendly_name=Теплый пол, supported_features=129 @ 2018-06-27T17:02:32.551416+03:00>
2018-06-27 17:03:12 DEBUG (SyncWorker_0) [pyhap.characteristic] set_value: CurrentTemperature to 32.5
2018-06-27 17:03:12 DEBUG (SyncWorker_0) [pyhap.characteristic] set_value: TemperatureDisplayUnits to 0
2018-06-27 17:03:12 DEBUG (SyncWorker_0) [pyhap.characteristic] set_value: CurrentHeatingCoolingState to 0
2018-06-27 17:03:12 DEBUG (Thread-5) [pyhap.hap_server] Request PUT from address '('192.168.1.66', 58405)' for path '/characteristics'.
2018-06-27 17:03:12 DEBUG (Thread-5) [pyhap.characteristic] client_update_value: TargetHeatingCoolingState to 1
2018-06-27 17:03:12 DEBUG (Thread-5) [homeassistant.components.homekit.type_thermostats] climate.thermofloor_as_heatit_thermostat_tf_021_heating: Set heat-cool to 1
2018-06-27 17:03:12 INFO (Thread-5) [pyhap.hap_server] 192.168.1.66 - "PUT /characteristics HTTP/1.1" 207 -
2018-06-27 17:03:43 DEBUG (Thread-5) [pyhap.hap_server] Request PUT from address '('192.168.1.66', 58405)' for path '/characteristics'.
2018-06-27 17:03:43 DEBUG (Thread-5) [pyhap.characteristic] client_update_value: TargetHeatingCoolingState to 0
2018-06-27 17:03:43 DEBUG (Thread-5) [homeassistant.components.homekit.type_thermostats] climate.thermofloor_as_heatit_thermostat_tf_021_heating: Set heat-cool to 0
2018-06-27 17:03:43 INFO (Thread-5) [pyhap.hap_server] 192.168.1.66 - "PUT /characteristics HTTP/1.1" 207 -

Try to turn on homekit (heat):

2018-06-27 17:04:35 DEBUG (MainThread) [homeassistant.components.homekit.accessories] New_state: <state climate.thermofloor_as_heatit_thermostat_tf_021_heating=Off; current_temperature=32.5, min_temp=7, max_temp=35, temperature=35.0, operation_mode=Off, operation_list=['Cool', 'Energy Heat', 'Off', 'Heat (Default)'], node_id=4, value_index=1, value_instance=1, value_id=72057594110328850, unit_of_measurement=°C, friendly_name=Теплый пол, supported_features=129 @ 2018-06-27T17:04:35.909391+03:00>
2018-06-27 17:04:35 DEBUG (SyncWorker_13) [pyhap.characteristic] set_value: CurrentTemperature to 32.5
2018-06-27 17:04:35 DEBUG (SyncWorker_13) [pyhap.characteristic] set_value: TargetTemperature to 35.0
2018-06-27 17:04:35 DEBUG (SyncWorker_13) [pyhap.characteristic] set_value: TemperatureDisplayUnits to 0
2018-06-27 17:04:35 DEBUG (SyncWorker_13) [pyhap.characteristic] set_value: CurrentHeatingCoolingState to 0
2018-06-27 17:04:36 DEBUG (MainThread) [homeassistant.components.homekit.accessories] New_state: <state climate.thermofloor_as_heatit_thermostat_tf_021_energy_heat=Off; current_temperature=32.5, min_temp=7, max_temp=35, temperature=35.0, operation_mode=Off, operation_list=['Cool', 'Energy Heat', 'Off', 'Heat (Default)'], node_id=4, value_index=11, value_instance=1, value_id=72057594110329010, unit_of_measurement=°C, friendly_name=Thermofloor Energy Heat, supported_features=129, hidden=True @ 2018-06-27T17:04:35.987434+03:00>
2018-06-27 17:04:36 DEBUG (SyncWorker_4) [pyhap.characteristic] set_value: CurrentTemperature to 32.5
2018-06-27 17:04:36 DEBUG (SyncWorker_4) [pyhap.characteristic] set_value: TargetTemperature to 35.0
2018-06-27 17:04:36 DEBUG (SyncWorker_4) [pyhap.characteristic] set_value: TemperatureDisplayUnits to 0
2018-06-27 17:04:36 DEBUG (SyncWorker_4) [pyhap.characteristic] set_value: CurrentHeatingCoolingState to 0
2018-06-27 17:04:48 DEBUG (Thread-5) [pyhap.hap_server] Request PUT from address '('192.168.1.66', 58405)' for path '/characteristics'.
2018-06-27 17:04:48 DEBUG (Thread-5) [pyhap.characteristic] client_update_value: TargetHeatingCoolingState to 1
2018-06-27 17:04:48 DEBUG (Thread-5) [homeassistant.components.homekit.type_thermostats] climate.thermofloor_as_heatit_thermostat_tf_021_heating: Set heat-cool to 1
2018-06-27 17:04:48 INFO (Thread-5) [pyhap.hap_server] 192.168.1.66 - "PUT /characteristics HTTP/1.1" 207 -

and auto mode

2018-06-27 17:09:53 DEBUG (Thread-5) [pyhap.hap_server] Request GET from address '('192.168.1.66', 58405)' for path '/characteristics?id=1845106148.10'.
2018-06-27 17:09:53 INFO (Thread-5) [pyhap.hap_server] 192.168.1.66 - "GET /characteristics?id=1845106148.10 HTTP/1.1" 207 -
2018-06-27 17:09:53 DEBUG (Thread-5) [pyhap.hap_server] Request PUT from address '('192.168.1.66', 58405)' for path '/characteristics'.
2018-06-27 17:09:53 DEBUG (Thread-5) [pyhap.characteristic] client_update_value: TargetHeatingCoolingState to 3
2018-06-27 17:09:53 DEBUG (Thread-5) [homeassistant.components.homekit.type_thermostats] climate.thermofloor_as_heatit_thermostat_tf_021_heating: Set heat-cool to 3
2018-06-27 17:09:53 INFO (Thread-5) [pyhap.hap_server] 192.168.1.66 - "PUT /characteristics HTTP/1.1" 207 -
2018-06-27 17:09:54 DEBUG (Thread-5) [pyhap.hap_server] Request GET from address '('192.168.1.66', 58405)' for path '/characteristics?id=1845106148.11,1845106148.9'.
2018-06-27 17:09:54 INFO (Thread-5) [pyhap.hap_server] 192.168.1.66 - "GET /characteristics?id=1845106148.11,1845106148.9 HTTP/1.1" 207 -
2018-06-27 17:09:54 DEBUG (Thread-5) [pyhap.hap_server] Request PUT from address '('192.168.1.66', 58405)' for path '/characteristics'.
2018-06-27 17:09:54 DEBUG (Thread-5) [pyhap.characteristic] client_update_value: TargetTemperature to 34
2018-06-27 17:09:54 DEBUG (Thread-5) [homeassistant.components.homekit.type_thermostats] climate.thermofloor_as_heatit_thermostat_tf_021_heating: Start target_temperature timeout
2018-06-27 17:09:54 INFO (Thread-5) [pyhap.hap_server] 192.168.1.66 - "PUT /characteristics HTTP/1.1" 207 -
2018-06-27 17:09:54 DEBUG (SyncWorker_8) [homeassistant.components.homekit.type_thermostats] climate.thermofloor_as_heatit_thermostat_tf_021_heating: Set target temperature to 34.00°C
2018-06-27 17:09:55 DEBUG (MainThread) [homeassistant.components.homekit.accessories] New_state: <state climate.thermofloor_as_heatit_thermostat_tf_021_heating=Off; current_temperature=32.5, min_temp=7, max_temp=35, temperature=34.0, operation_mode=Off, operation_list=['Cool', 'Energy Heat', 'Off', 'Heat (Default)'], node_id=4, value_index=1, value_instance=1, value_id=72057594110328850, unit_of_measurement=°C, friendly_name=Теплый пол, supported_features=129 @ 2018-06-27T17:04:35.909391+03:00>
2018-06-27 17:09:55 DEBUG (SyncWorker_18) [pyhap.characteristic] set_value: CurrentTemperature to 32.5
2018-06-27 17:09:55 DEBUG (SyncWorker_18) [pyhap.characteristic] set_value: TemperatureDisplayUnits to 0
2018-06-27 17:09:55 DEBUG (SyncWorker_18) [pyhap.characteristic] set_value: CurrentHeatingCoolingState to 0

Homekit - set A/C to 22. It worked, but HA does not changed the state

2018-06-27 17:48:21 DEBUG (Thread-5) [pyhap.hap_server] Request GET from address '('192.168.1.66', 58405)' for path '/characteristics?id=3908308246.10'.
2018-06-27 17:48:21 INFO (Thread-5) [pyhap.hap_server] 192.168.1.66 - "GET /characteristics?id=3908308246.10 HTTP/1.1" 207 -
2018-06-27 17:48:22 DEBUG (Thread-5) [pyhap.hap_server] Request GET from address '('192.168.1.66', 58405)' for path '/characteristics?id=3908308246.11,3908308246.9'.
2018-06-27 17:48:22 INFO (Thread-5) [pyhap.hap_server] 192.168.1.66 - "GET /characteristics?id=3908308246.11,3908308246.9 HTTP/1.1" 207 -
2018-06-27 17:48:22 DEBUG (Thread-5) [pyhap.hap_server] Request PUT from address '('192.168.1.66', 58405)' for path '/characteristics'.
2018-06-27 17:48:22 DEBUG (Thread-5) [pyhap.characteristic] client_update_value: TargetTemperature to 22
2018-06-27 17:48:22 DEBUG (Thread-5) [homeassistant.components.homekit.type_thermostats] climate.remotec_zxt120ru_cooling_1: Start target_temperature timeout
2018-06-27 17:48:22 INFO (Thread-5) [pyhap.hap_server] 192.168.1.66 - "PUT /characteristics HTTP/1.1" 207 -
2018-06-27 17:48:22 DEBUG (SyncWorker_19) [homeassistant.components.homekit.type_thermostats] climate.remotec_zxt120ru_cooling_1: Set target temperature to 22.00°C

Home kit A/C turn off
it did not work.

2018-06-27 17:50:02 DEBUG (Thread-5) [pyhap.hap_server] Request PUT from address '('192.168.1.66', 58405)' for path '/characteristics'.
2018-06-27 17:50:02 DEBUG (Thread-5) [pyhap.characteristic] client_update_value: TargetHeatingCoolingState to 0
2018-06-27 17:50:02 DEBUG (Thread-5) [homeassistant.components.homekit.type_thermostats] climate.remotec_zxt120ru_cooling_1: Set heat-cool to 0
2018-06-27 17:50:02 INFO (Thread-5) [pyhap.hap_server] 192.168.1.66 - "PUT /characteristics HTTP/1.1" 207 -
2018-06-27 17:50:21 DEBUG (MainThread) [homeassistant.components.homekit.accessories] New_state: <state binary_sensor.fibaro_system_fgms001_motion_sensor_sensor=off; node_id=2, value_index=0, value_instance=1, value_id=72057594076463104, friendly_name=Движение в коридоре, device_class=motion @ 2018-06-27T17:50:21.426762+03:00>
2018-06-27 17:50:21 DEBUG (SyncWorker_0) [pyhap.characteristic] set_value: MotionDetected to False
2018-06-27 17:50:21 DEBUG (SyncWorker_0) [homeassistant.components.homekit.type_sensors] binary_sensor.fibaro_system_fgms001_motion_sensor_sensor: Set to 0

Can you post a new pic of the entity in the entities panel?

I just noticed an error in my instructions. The file path should be .homeassistant/custom_components/climate/zwave.py

So no zwave folder.

They are working! Huge thank you!
Siri can only do auto mod? For A/C it’s fine, but if I say for thermofloor, it does not change the state. Frome
homekit app everything is fine when I choose heat mode

Siri should be able to do everything that works from the Home App. For the thermofloor it should be off, heat and cool.

The only problem is that the thermostat does have unsupported modes as well. Say you do the following:

  • Select heat from HomeKit
  • Select Energy Heat from the HA frontend

If you then try to select heat again in the Home App, it will not work. You need to select a different mode first (e.g. cool) and then heat.

1 Like

I am currently having the same issue. I used to have homebridge working on my Pi and HomeKit always worked perfectly (also remotely). Since I have home-assistant running, HomeKit is not responding when I am not at home. I CAN control my Apple-TV using it. It shows up in HomeKit as available when I turn off wifi and I can make it play music using the HomeKit app, but everything else is not available.
Do you guys have any other idea what the problem could be? Is there something that I have to enable? HA btw. is not available from outside of local and I’d prefer to let it stay that way.
Are there some logs or so to look at?

Home app is garbage… only use is to integrate with Siri… I don’t see myself ever using Home app until they get an actual UX person on it. Especially once you integrate all your smart home devices, switches, lights, etc. It’s a mess to manage. Apple really missed their mark for sure.