marcoraddatz / homebridge-docker

Dockerized Homebridge. No plugins pre-defined, hassle-free setup. Read instructions!
Apache License 2.0
127 stars 47 forks source link

No status response to iOS-Device #5

Closed xantalor closed 5 years ago

xantalor commented 7 years ago

Hey,

I messing around with homebridge a long time for now. Also developed a plugin but that's just for information.

After developing process I tried to put it all together in a docker image on my synology, but there my iOS devices didn't get a response from homebridge. This means I see my accessories but everyone has the state "no answer". In a VM in Virtual Box there is no problem homebridge and plugin fully working.

In my opinion there can only be two problem sources.

Did you have any suggestions?

Greetz, Xanta

marcoraddatz commented 7 years ago

Are you using the latest version of the image? All versions prior to 2.1 (latest) might have connection issues due to Homebridge updates. 2.0 still uses Homebridge 0.4.10, while 2.1 uses 0.4.16 by default.

xantalor commented 7 years ago

Yeah, I using latest version of the image. It's really wired.

marcoraddatz commented 7 years ago

What plugins do you use?

xantalor commented 7 years ago

Actual my own developed one (based on homebridge-httpdoor) and homebridge-synology-diskstation. Both plugins work in the VM but not in Docker. Also done a tcpdump but didn't found any hints there. Did you have any experience with this? I could also provide the debug log of homebridge

xantalor commented 7 years ago

With reference to post #6 I also run the vpn service... Doing a test by deactivating it. Will responde in some minutes.

EDIT: Makes no difference :(

marcoraddatz commented 7 years ago

Yes, the log might help. In the past most problems were caused by outdated plugins. The Synology one was one of them.

Thanks for testing out the VPN issue!

xantalor commented 7 years ago

Will post tomorrow the debug log of homebridge then I will also try to remove the vpn service instead of just deactivating. Maybe this makes a difference.

EDIT: Also with removed VPN Application no response to my iPhone.

xantalor commented 7 years ago

Accessory [HomeTest] Creating new AccessoryInfo for our HAP server +0ms Accessory [HomeTest] Creating new IdentifierCache +876ms EventedHTTPServer Server listening on port 51826 +3s [1/28/2017, 2:55:26 PM] Homebridge is running on port 51826. EventedHTTPServer [::ffff:192.168.2.147] New connection from client +4m EventedHTTPServer [::ffff:192.168.2.147] HTTP server listening on port 43745 +89ms EventedHTTPServer [::ffff:192.168.2.147] HTTP request: /pair-setup +2s HAPServer [CC:22:3D:E3:CE:34] HAP Request: POST /pair-setup +1ms HAPServer [CC:22:3D:E3:CE:34] Pair step 1/5 +301ms EventedHTTPServer [::ffff:192.168.2.147] HTTP Response is finished +4s EventedHTTPServer [::ffff:192.168.2.147] HTTP request: /pair-setup +1s HAPServer [CC:22:3D:E3:CE:34] HAP Request: POST /pair-setup +0ms HAPServer [CC:22:3D:E3:CE:34] Pair step 2/5 +3ms EventedHTTPServer [::ffff:192.168.2.147] HTTP Response is finished +1s EventedHTTPServer [::ffff:192.168.2.147] HTTP request: /pair-setup +36ms HAPServer [CC:22:3D:E3:CE:34] HAP Request: POST /pair-setup +0ms HAPServer [CC:22:3D:E3:CE:34] Pair step 3/5 +2ms HAPServer [CC:22:3D:E3:CE:34] Pair step 4/5 +171ms HAPServer [CC:22:3D:E3:CE:34] Pair step 5/5 +105ms Accessory [HomeTest] Paired with client 67B185C9-F12C-40C9-93D3-8E931C4A66EC +187ms EventedHTTPServer [::ffff:192.168.2.147] HTTP Response is finished +527ms EventedHTTPServer [::ffff:192.168.2.147] Client connection closed +127ms EventedHTTPServer [::ffff:192.168.2.147] HTTP connection was closed +3ms EventedHTTPServer [::ffff:192.168.2.147] HTTP server was closed +2ms EventedHTTPServer [::ffff:192.168.2.147] New connection from client +72ms EventedHTTPServer [::ffff:192.168.2.147] HTTP server listening on port 48318 +2ms EventedHTTPServer [::ffff:192.168.2.147] HTTP request: /pair-verify +50ms HAPServer [CC:22:3D:E3:CE:34] HAP Request: POST /pair-verify +0ms HAPServer [CC:22:3D:E3:CE:34] Pair verify step 1/2 +34ms EventedHTTPServer [::ffff:192.168.2.147] HTTP Response is finished +107ms EventedHTTPServer [::ffff:192.168.2.147] HTTP request: /pair-verify +155ms HAPServer [CC:22:3D:E3:CE:34] HAP Request: POST /pair-verify +1ms HAPServer [CC:22:3D:E3:CE:34] Pair verify step 2/2 +2ms HAPServer [CC:22:3D:E3:CE:34] Client 67B185C9-F12C-40C9-93D3-8E931C4A66EC verification complete +102ms EventedHTTPServer [::ffff:192.168.2.147] HTTP Response is finished +2ms EventedHTTPServer [::ffff:192.168.2.147] HTTP request: /accessories +82ms HAPServer [CC:22:3D:E3:CE:34] HAP Request: GET /accessories +1ms EventedHTTPServer [::ffff:192.168.2.147] HTTP Response is finished +354ms EventedHTTPServer [::ffff:192.168.2.147] HTTP request: /characteristics +167ms HAPServer [CC:22:3D:E3:CE:34] HAP Request: PUT /characteristics +1ms Accessory [HomeTest] Processing characteristic set: [{"aid":2,"iid":13,"ev":true},{"aid":2,"iid":16,"ev":true},{"aid":3,"iid":14,"ev":true},{"aid":3,"iid":17,"ev":true}] +5ms Accessory [HomeTest] Registering Characteristic "Reachable" for events +4ms Accessory [HomeTest] Registering Characteristic "Category" for events +2ms Accessory [HomeTest] Registering Characteristic "Reachable" for events +0ms Accessory [HomeTest] Registering Characteristic "Category" for events +1ms EventedHTTPServer [::ffff:192.168.2.147] HTTP Response is finished +1ms EventedHTTPServer [::ffff:192.168.2.147] HTTP request: /characteristics +47ms HAPServer [CC:22:3D:E3:CE:34] HAP Request: PUT /characteristics +57ms Accessory [HomeTest] Processing characteristic set: [{"aid":2,"iid":9,"ev":true},{"aid":2,"iid":10,"ev":true}] +1ms Accessory [HomeTest] Registering Characteristic "Current Door State" for events +1ms Accessory [HomeTest] Registering Characteristic "Target Door State" for events +0ms EventedHTTPServer [::ffff:192.168.2.147] HTTP Response is finished +1ms EventedHTTPServer [::ffff:192.168.2.147] HTTP request: /characteristics +13ms HAPServer [CC:22:3D:E3:CE:34] HAP Request: PUT /characteristics +1ms Accessory [HomeTest] Processing characteristic set: [{"aid":2,"iid":11,"ev":true}] +1ms Accessory [HomeTest] Registering Characteristic "Obstruction Detected" for events +1ms EventedHTTPServer [::ffff:192.168.2.147] HTTP Response is finished +0ms EventedHTTPServer [::ffff:192.168.2.147] HTTP request: /characteristics +110ms HAPServer [CC:22:3D:E3:CE:34] HAP Request: PUT /characteristics +0ms Accessory [HomeTest] Processing characteristic set: [{"aid":3,"iid":8,"ev":true},{"aid":3,"iid":11,"ev":true},{"aid":3,"iid":12,"ev":true}] +2ms Accessory [HomeTest] Registering Characteristic "On" for events +0ms Accessory [HomeTest] Registering Characteristic "Current Temperature" for events +1ms Accessory [HomeTest] Registering Characteristic "Status Active" for events +2ms EventedHTTPServer [::ffff:192.168.2.147] HTTP Response is finished +1ms EventedHTTPServer [::ffff:192.168.2.147] HTTP request: /characteristics +83ms HAPServer [CC:22:3D:E3:CE:34] HAP Request: PUT /characteristics +0ms Accessory [HomeTest] Processing characteristic set: [{"aid":2,"iid":9,"ev":true}] +1ms Accessory [HomeTest] Registering Characteristic "Current Door State" for events +1ms EventedHTTPServer [::ffff:192.168.2.147] HTTP Response is finished +1ms EventedHTTPServer [::ffff:192.168.2.147] HTTP request: /characteristics +47ms HAPServer [CC:22:3D:E3:CE:34] HAP Request: PUT /characteristics +1ms Accessory [HomeTest] Processing characteristic set: [{"aid":2,"iid":9,"ev":true}] +2ms Accessory [HomeTest] Registering Characteristic "Current Door State" for events +0ms EventedHTTPServer [::ffff:192.168.2.147] HTTP Response is finished +2ms EventedHTTPServer [::ffff:192.168.2.147] HTTP request: /characteristics +4s HAPServer [CC:22:3D:E3:CE:34] HAP Request: PUT /characteristics +5ms Accessory [HomeTest] Processing characteristic set: [{"aid":1,"iid":2,"value":true}] +5ms Accessory [HomeTest] Setting Characteristic "Identify" to value true +1ms Accessory [HomeTest] Identification request +105ms Accessory [HomeTest] Identification request ignored; no listeners to 'identify' event +0ms EventedHTTPServer [::ffff:192.168.2.147] HTTP Response is finished +3ms EventedHTTPServer [::ffff:192.168.2.147] HTTP request: /characteristics?id=2.9,2.10,2.11 +37ms HAPServer [CC:22:3D:E3:CE:34] HAP Request: GET /characteristics?id=2.9,2.10,2.11 +1ms Accessory [HomeTest] Getting value for Characteristic "Current Door State" +124ms [1/28/2017, 2:59:56 PM] [GarageDoor] Getting current state... Accessory [HomeTest] Getting value for Characteristic "Target Door State" +765ms Accessory [HomeTest] Got Characteristic "Target Door State" value: 0 +1ms Accessory [HomeTest] Getting value for Characteristic "Obstruction Detected" +1ms [1/28/2017, 2:59:57 PM] [GarageDoor] Getting current state... [1/28/2017, 3:00:00 PM] [GarageDoor] Error getting state (status code undefined): Error: connect EHOSTUNREACH 192.168.2.107:80 Accessory [HomeTest] Got Characteristic "Current Door State" value: undefined +3s Accessory [HomeTest] Error getting value for Characteristic "Current Door State": connect EHOSTUNREACH 192.168.2.107:80 +1ms [1/28/2017, 3:00:00 PM] [GarageDoor] Error getting state (status code undefined): Error: connect EHOSTUNREACH 192.168.2.107:80 Accessory [HomeTest] Got Characteristic "Obstruction Detected" value: undefined +4ms Accessory [HomeTest] Error getting value for Characteristic "Obstruction Detected": connect EHOSTUNREACH 192.168.2.107:80 +0ms EventedHTTPServer [::ffff:192.168.2.147] HTTP Response is finished +2ms EventedHTTPServer [::ffff:192.168.2.147] HTTP request: /characteristics?id=3.8 +7ms HAPServer [CC:22:3D:E3:CE:34] HAP Request: GET /characteristics?id=3.8 +1ms Accessory [HomeTest] Getting value for Characteristic "On" +1ms Accessory [HomeTest] Got Characteristic "On" value: true +3s EventedHTTPServer [::ffff:192.168.2.147] Muting event '3.8' notification for this connection since it originated here. +4ms EventedHTTPServer [::ffff:192.168.2.147] HTTP Response is finished +0ms EventedHTTPServer [::ffff:192.168.2.147] HTTP request: /characteristics +52ms HAPServer [CC:22:3D:E3:CE:34] HAP Request: PUT /characteristics +1ms Accessory [HomeTest] Processing characteristic set: [{"aid":2,"iid":2,"value":true}] +1ms Accessory [HomeTest] Setting Characteristic "Identify" to value true +0ms Accessory [GarageDoor] Identification request +1ms Accessory [GarageDoor] Identification request ignored; no listeners to 'identify' event +0ms EventedHTTPServer [::ffff:192.168.2.147] HTTP Response is finished +71ms EventedHTTPServer [::ffff:192.168.2.147] HTTP request: /characteristics +29ms HAPServer [CC:22:3D:E3:CE:34] HAP Request: PUT /characteristics +0ms Accessory [HomeTest] Processing characteristic set: [{"aid":3,"iid":2,"value":true}] +1ms Accessory [HomeTest] Setting Characteristic "Identify" to value true +1ms Accessory [Home4Station] Identification request +0ms Accessory [Home4Station] Identification request ignored; no listeners to 'identify' event +1ms EventedHTTPServer [::ffff:192.168.2.147] HTTP Response is finished +1ms EventedHTTPServer [::ffff:192.168.2.147] HTTP request: /characteristics?id=3.11 +4ms HAPServer [CC:22:3D:E3:CE:34] HAP Request: GET /characteristics?id=3.11 +159ms Accessory [HomeTest] Getting value for Characteristic "Current Temperature" +1ms Accessory [HomeTest] Got Characteristic "Current Temperature" value: 23 +0ms EventedHTTPServer [::ffff:192.168.2.147] Muting event '3.11' notification for this connection since it originated here. +2ms EventedHTTPServer [::ffff:192.168.2.147] HTTP Response is finished +0ms EventedHTTPServer [::ffff:192.168.2.147] HTTP request: /characteristics +97ms HAPServer [CC:22:3D:E3:CE:34] HAP Request: PUT /characteristics +0ms Accessory [HomeTest] Processing characteristic set: [{"aid":3,"iid":2,"value":true}] +2ms Accessory [HomeTest] Setting Characteristic "Identify" to value true +0ms Accessory [Home4Station] Identification request +1ms Accessory [Home4Station] Identification request ignored; no listeners to 'identify' event +0ms EventedHTTPServer [::ffff:192.168.2.147] HTTP Response is finished +1ms EventedHTTPServer [::ffff:192.168.2.147] HTTP request: /characteristics?id=2.9,2.11,2.10,3.11,3.8 +47ms HAPServer [CC:22:3D:E3:CE:34] HAP Request: GET /characteristics?id=2.9,2.11,2.10,3.11,3.8 +1ms Accessory [HomeTest] Getting value for Characteristic "Current Door State" +1ms [1/28/2017, 3:00:04 PM] [GarageDoor] Getting current state... Accessory [HomeTest] Getting value for Characteristic "Obstruction Detected" +3ms [1/28/2017, 3:00:04 PM] [GarageDoor] Getting current state... Accessory [HomeTest] Getting value for Characteristic "Target Door State" +2ms Accessory [HomeTest] Got Characteristic "Target Door State" value: 0 +0ms Accessory [HomeTest] Getting value for Characteristic "Current Temperature" +1ms Accessory [HomeTest] Got Characteristic "Current Temperature" value: 23 +19ms Accessory [HomeTest] Getting value for Characteristic "On" +0ms Accessory [HomeTest] Got Characteristic "On" value: true +3ms [1/28/2017, 3:00:06 PM] [GarageDoor] Door state is closed Accessory [HomeTest] Got Characteristic "Obstruction Detected" value: true +2s EventedHTTPServer [::ffff:192.168.2.147] Muting event '2.11' notification for this connection since it originated here. +0ms

marcoraddatz commented 7 years ago

Looks good so far – doesn't seem to be Homebridge. I guess it's either the plugin that manages the garage (seems to be a problem with the websocket) or some local network issues (firewall?!):

[1/28/2017, 3:00:00 PM] [GarageDoor] Error getting state (status code undefined): Error: connect EHOSTUNREACH 192.168.2.107:80 Accessory [HomeTest] Got Characteristic "Current Door State" value: undefined +3s Accessory [HomeTest] Error getting value for Characteristic "Current Door State": connect EHOSTUNREACH 192.168.2.107:80 +1ms [1/28/2017, 3:00:00 PM] [GarageDoor] Error getting state (status code undefined): Error: connect EHOSTUNREACH 192.168.2.107:80

xantalor commented 7 years ago

Normally it works, but the other plugin (homebridge-synology) did also no answer to the client. I also don't think the problem comes from homebridge, it's more from docker oder synology. Also tried to deactivate the firewall on synology - no difference.

marcoraddatz commented 7 years ago

I had lots of trouble with the Synology plugin in the past, so I recommend to deactivate it.

xantalor commented 7 years ago

Deactivation of the Synology plugin makes no difference. :(

marcoraddatz commented 7 years ago

Can you post your config.json and the install.sh?

xantalor commented 7 years ago

My install.sh is empty. I am loading the plugin by path.

config.json


{
     "bridge": {
        "name": "HomeTest",
        "username": "CC:22:3D:E3:CE:34",
        "port": 51826,
        "pin": "031-45-155"
    },

    "description": "HomeBridge HTTP Status Control",

    "accessories": [ {
                "accessory": "Httpdoor",
                "name": "GarageDoor",
                                "status_url": "http://192.168.2.107/?state",
                                "control_url": "http://192.168.2.107/?switch=%t"
        }
        ]
}
marcoraddatz commented 7 years ago

Pretty simple config. I'm sorry, I have no idea where the problems come from :(

xantalor commented 7 years ago

Yeah, damn. I was hopping so much. You are using the image on your synology, right? Which DSM version you are running?

marcoraddatz commented 7 years ago

Yes, I run it on the Synology with DSM 6.0.2.

xantalor commented 7 years ago

Okay, I will try to run Synology DSM in an VM maybe a fresh install of the dsm helps. Will report my results.

nicx commented 7 years ago

I have the same problem, but only on some iOS devices. I am currently using 3 iPads and 1 iPhone. All is workjing fine on 2 iPads, but on 1 iPad and the iPhone I get "no answer" from all devices. If I change some layout in the Home App, this is synchronized succesfully over all 4 iOS devices, but the status on the two is always "no answer"

Using Homebridge3.0 with docker on DSM 6.1.1

leoliupei commented 7 years ago

the same problem, one month

nicx commented 7 years ago

any news to this? what can I do instead of completely remove the whole homebridge an create a new one with a new username every few weeks?

marcoraddatz commented 7 years ago

I still can't reproduce this.

nicx commented 7 years ago

ok, but what do you need to get involved? logfiles? which? it just happend after 1 week again on 2 ios devices out of 5.

marcoraddatz commented 7 years ago

Don't have any clue how to solve this. Maybe I need more iOS devices. 😀

yubiao commented 7 years ago

For the issue some ios devices work while some others don't, I have the same issue sometimes but I get "No response" instead of "No answer". It only happens intermittently for me. I read on the internet this is pretty common and I think it is related to the design of Homekit because some other Homekit capable bridge such as HUE has the same problem. Essentially the problem is that one of your ios devices is not discovering one of the Homekit bridges in your network. Try something different instead of reset your Homebridge or reset your icloud on the ios device:

  1. First make sure you have the latest version of homebridge and ios. And make sure your ios device and your homebridge are in the same subnet.
  2. Tap on the "no response" accessory multiple times to see if it changes the status to normal.
  3. Unplug and reconnect your Homebridge host to the network.
  4. Change your ios device to airplane mode then back
  5. reboot your router
  6. Shorten the poll interval in your config.json

These are all that so far I can think of. I have the feeling that Apple's Homekit, Airplay, AirDrop work in a similar way in terms of device discovering and Airplay had many issues before that some wifi speaker makers have to drop support for it. Hopefully Apple will improve the reliability in the coming ios.

yubiao commented 6 years ago

I also found that using a Apple TV as the home hub will significantly increase the reliability.