Homekit: Accessories become unavailable

Hi,
I have openhab 2 - online [build 629] freshly installed on a rpi3 [rasbian].
Seperately on a rpi2 I have openhab1 and rsmb mqtt broker running. All my sensors [ESP8266] communicate through mqtt to this rsmb broker.

I am trying to get homekit going on the openhab2 by configuring only its mqtt client and its homekit setup.

the mqtt.cfg is:

rsmb.url=tcp://192.168.50.50:1884
rsmb.clientId=openhab2
the homekit.cfg is

org.openhab.homekit:port=9124
org.openhab.homekit:pin=031-45-154
org.openhab.homekit:useFahrenheitTemperature=true
org.openhab.homekit:thermostatCoolMode=CoolOn
org.openhab.homekit:thermostatHeatMode=HeatOn
org.openhab.homekit:thermostatAutoMode=Auto
org.openhab.homekit:thermostatOffMode=Off
org.openhab.homekit:networkInterface=192.168.100.100
the test items are:

Number ew_online “espmote online” (gEsp) [“CurrentTemperature”] {mqtt="<[rsmb:esp/203/online:state:default]"}
Number ew_temp “Temperature” (gEsp) [“CurrentTemperature”] {mqtt="<[rsmb:esp/203/@A/temp:state:default]"}
Number ew_light “Lumens” (gEsp) [“CurrentTemperature”] {mqtt="<[rsmb:esp/203/@A/ldr:state:default]"}
Switch ew_rly1 “Entrance Inside Light” (gEsp) [“Lighting”] {mqtt=">[rsmb:esp/203/$L/rly1:command:ON:1],>[rsmb:esp/203/$L/rly1:command:OFF:0],<[rsmb:esp/203/@L/rly1:state:default]"}
Switch ew_rly2 “Entrance Outside Light” (gEsp) [“Lighting”] {mqtt=">[rsmb:esp/203/$L/rly2:command:ON:1],>[rsmb:esp/203/$L/rly2:command:OFF:0],<[rsmb:esp/203/@L/rly2:state:default]"}
I have enabled TRACE logging via log:set TRACE com.beowulfe.hap

the issue I am having is that initially the homekit sets up fine ie. the openhab accessory pairs and the ‘sub’ accesories show up and are available and usable. The TRACE above logs exchanges.

Then sometime later [a few hours] the home app on my phone is disconnected from the openhab2 homekit bridge [seen via TRACE logs] and then is never able to reestablish a link with the accessories again. I tried restarting openhab but with no luck.
there is no activity at all in the TRACE logs even when I have the home app open and probing around in the unavailable accessories.

How would I further troubleshoot this to pinpoint the problem area? any suggestions to fixing this?

Thanks in advance.

Have you checked the rsmb logs? Restarting that? It might be a problem there.

I restarted RSMB but with no luck. Everything still “No Response” and no home kit TRACE entries in openhab.
I then took it a step further and removed MQTT from the items and now have only two items:

Switch testlight “test light” [“Lighting”]
Switch testswitch “test switch” [ “Switchable” ]

Still nothing…

I managed to solve my issue: the problem lies with IOS. Homekit doesnt like having 2 different IOS versions between the apps of homekit ie. my iphone is on IOS10.1.1 [using Home and Evo apps] and ipad running as a hub on IOS10.0.4 [also using Home and Evo apps].
Because of the IOS version mismatch, homekit accesories just stay in “no response” mode when probed from either IOS10.1.1 or IOS 10.0.4.

To rectify the issue I had to clear pairings in openhabs homekit binding, update ipad to IOS10.1.1 and then repair all accessories.
It now works as expected.
Thought I would share this trouble so that someone else doesnt hit the same problem later on.

1 Like

I also found a trick to recover if homekit openhab devices stuck at updating/ no response until restart openhab, I found closed the app (by double tap home than swipe up) than turn off wifi for 2 seconds in iphone/ipad, mostly the case do it 1 time will be ok, the worst case is repeat above step 3 times, so far when I discover this trick, I don’t need restart openhab to bring back homekit in iphone, please share if this trick works or not works.

@hamwong

I’m having the same issue of stuck in no response. Your trick worked - swiped up to close Home, turn off wifi, wait a couple seconds, turn wifi back on and Home goes back to working as expected.

Thank you!