-
-
Notifications
You must be signed in to change notification settings - Fork 163
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
failing to reach ring server #1506
Comments
Please upgrade to a supported version of NodeJS, ideally latest v20.18.0, and reupload logs. However, I will note that there is clearly a network issue going on here as every single fetch fails, even those not made by homebridge-ring itself, for example, the message "Failed to connect push notification receiver", which means push-receiver could also not connect, and it also uses fetch. Something is blocking HTTPS network connections from this container. I've had one report of this with a pfSense firewall that was running Snort, which somehow identified the traffic as bad and added a dynamic blocking rule. |
@tsightler i updated to the latest 20.18 and the issue remains. Just made a downgrade to 12.1 and now everthing works after setting up all cameras again. |
Downgrading to an old version doesn't really help to troubleshoot the problem. Older versions use an external library for making HTTP requests, because versions of Node prior to v18 did not have native fetch. Version 13 and later support native fetch, which is now natively supported in NodeJS v18 and later, but for some reason that is failing for you. The only way to solve the problem is to troubleshoot why fetch is failing for you, otherwise no future version will ever work again. Also, old versions are unlikely to stay working with ding and push notifications because the old push notification format is deprecated. Don't know when Ring will completely kill it, but it will happen at some point (at least for some people it seems to have already happened). If you are unable/unwilling to work on troubleshooting the issue, I will close it. |
@tsightler don't understand me wrong of course i want to help solving the issue but in first step it should run everything like before. what can i do please advise i am not the specialist in networking and co. |
@tsightler i can setup a second docker with only ring plugin for testing and evaluating, because there will be the same issue |
@pcziesch Thanks. Can you share some additional details of your setup, for example, above you state Ubuntu 20.04.5 (pretty old), what version of Docker are you running? Does that system run as a VM, if so, what is the hypervisor host and version? Also, what is the networking configuration, what hardware, firewall/gateway, etc? |
ok docker ist the QNAP docker station in version Version 3.0.8.981 (2024/09/13). Image is the oznu/homebridge image in latest version installed. homebridge docker is bridged to the ip of the NAS. I hope this helps for info |
I’m having the exact same issue; everything has been down for me for a few days now… Docker 24.0.7 Networking config: AT&T fiber modem/router combo in bridge mode with an Eero router as the main network. Raspi has a static IP and no other plugins have issues. I can provide more details on the OS setup if you provide commands to run, but it’s just a basic install of HomeBridge on a raspi. |
@tsightler i tried today another docker homebridge with ubuntu 22.04.5 and ring plugin 13.1 and had same issue so seems to be not an ubuntu issue. after dwongrade to 12.1 everthing is fine |
While I appreciate sharing your details, you did not provide any logs so I will not assume that you have the exact same issue as "everything has been down" can be caused by many different issues so you may have the exact same symptom, but not the same issue, and that just causes confusion. Please post logs showing showing you have the exact same issue or your comment will be marked as off-topic. |
@pcziesch I've been doing some research to try to understand what might cause this issue since ring-client-api and push-receiver are just using native fetch in NodeJS so there's not really much that can be done from a code perspective as the error is coming from the fetch function call itself. Underneath the covers, native fetch in NodeJS is based on a minimal version of Undici, and there are a few similar reports on that project. The vast majority of these reports boil down to DNS or IPv6 issues, or some combination of interaction between those two. It seems that native fetch is not as robust as some of the other http clients out there, and will default to trying IPv6. If IPv6 is enabled, but not configured to actually work, it takes too long to timeout and will never fall back to IPv4, ending up with the connection error. Are you comfortable enough with the command line to get access to the running container to run some commands in it? |
@tsightler so you want me to enter some telnet commands on the nas right. i will give it a try if i get a proper advise for advanced users. maybe it will take some time in some cases because i have to read first and than try out |
@pcziesch I'm trying to understand your setup clearly in the hope that maybe I can somewhat reproduce this issue. You say you are using QNAP Docker Station, but then there's also an Ubuntu VM? Are you running Ubuntu VM on QNAP then Docker inside Ubuntu VM? I was under the impression that Docker Station would run the docker containers directly. |
@pcziesch Maybe another question, do you have Discord or some other way to direct message? Would you be willing to setup a time for a remote session so that I remotely see and understand your setup and perhaps try to troubleshoot interactively? Note that I understand if you are not willing to do this, but it might save some time on both sides. I'm very interested in getting to the bottom if this issue as it just makes very little sense to me. |
@tsightler what i see is an app in qnap called docker station where you can install docker like himebridge all in wysiwyg. there is also an vm station on qnap which is not installed in my case |
@tsightler of course we can do an online session and i am willing to get of this issue. but i am not familar with discord , ms teams is on board and i am next week on a business trip so i cannot participate until end of next week maybe at the weekend |
@pcziesch OK, thanks for being willing to share. I have some ideas to look into, maybe a remote session would not be needed, but it's good to have that as a possible option. I'm also travelling for work next week, so understand the challenge there. You've provided me some clues. For example, when you are stating the Ubuntu version, I believe you are referring to the version inside the container (i.e. what is shown in Homebridge Web UI), so that is more clear now and it sounds like you are using 'host' network mode. The onzu/homebridge container is outdated so it would be good to use the official homebridge/homebridge container for all testing. I don't have a QNAP, but I can try to emulate this setup as closely as possible and see if I can figure out any way to reproduce. |
@tsightler you Right with your assumptions. I already have setup a docker with official Homebridge Image and one Ring device. So if there is something to Test Go for it. |
HomeBridge makes it fairly difficult to copy logs when on mobile, but it's the same style of errors in logs; failed to reach Ring (on the same subscribe route as the description of the issue), fetch failed, trying again in 5 seconds. There's literally no other details in the logs aside from that error over and over again with different numbers for the path param following Any other specifics you need? |
@SpencerKaiser Yes, I need to full logs from plugin startup until the first error, nothing else is really useful. |
And redact that path param I assume? Anything else non-obvious I should redact related to ring? |
You are free to redact whatever you feel is required, personally, I don't think there is anything of concern in the paths, they are just ids (I wouldn't paste, for example, my token, but people do that sometimes too). Ring clearly doesn't see device/location IDs as sensitive information or they wouldn't be in the URL to begin with (some are even visible in the web based Ring console). If you have serious concerns you can feel free to send logs directly to my email, same username as here, but gmail. |
@pcziesch I have something I would like you to try when you get a chance. It's a bit of a long shot, but it will help me to remove one possible cause that keeps coming up in searches on this issue. Below are the steps:
Almost every single case I can find of the 'UND_ERR_CONNECT_TIMEOUT' indicates that it is an issue with IPv6 being misconfigured, perhaps something like IPv6 being available but the firewall configured to drop all IPv6 traffic, just as an example (which is a common default in some devices). I actually don't see these Ring hosts resolve to IPv6 addresses in my environment, so I'm not convinced that is the issue here, but perhaps there are cases where they do as they appear to be using AWS load-balancing services. This should make the system prefer IPv4 addresses in all cases. |
Here is the log after reboot [10/14/2024, 5:21:59 AM] [HB Supervisor] Restarting Homebridge...
[10/14/2024, 5:22:00 AM] Homebridge v1.8.4 (HAP v0.12.2) (Homebridge xxxx) is running on port 51792. NOTICE TO USERS AND PLUGIN DEVELOPERS
[10/14/2024, 5:22:13 AM] [Ring] Found the following locations: ring camera works. after installing the 13.1 plugin version i had the same fetching failures |
@pcziesch Sorry for not being clear, I was looking for logs of the 13.1 version. Mainly I want to see if push-receiver also fails in 13.1 after making the change, or just Ring API (basically, is there any change in behavior at all from that setting). |
@SpencerKaiser Can you tell me a bit more about your install? You state you have static IP, do you have both IPv4 and IPv6 setup? What are the DNS server settings? What specific OS is installed and what model RPi? Which docker image are you using and what instructions did you follow it install docker? I have both a spare RPi3 and RPi4, so I'm thinking I might be able to duplicate your setup more closely as I don't own a QNAP. That being said, I don't think these are the issue, I think it is something firewall related instead as the failures are happening at the TCP connection level, way lower than any code written here. |
@tsightler sorry i will Dad the log with 13.1 later this day. |
@tsightler sorry for the delay, I had a crazy weekend and haven't had time to sit down with the laptop. I'll dig in this afternoon and get logs and all the environmental stuff you asked about above. Quick unexpected update: everything works again....... I didn't change anything, didn't restart, and did nothing on the HB/software side of things. I feel like there's zero chance this is relevant, but just in case: I replaced batteries in my smart lock (which was dead) and replaced the battery in my doorbell (which was ~10%) and immediately after that everything was working again 🫣 |
here you are [10/14/2024, 4:44:03 PM] [Homebridge UI] Homebridge restart request received
[10/14/2024, 4:44:14 PM] Homebridge v1.8.4 (HAP v0.12.2) (Homebridge 0F17) is running on port 51792. NOTICE TO USERS AND PLUGIN DEVELOPERS
[10/14/2024, 4:44:36 PM] [Ring] Found the following locations: |
Is there an existing issue for this?
Describe The Bug
sinces some days i recognized that my cams and all other devices from ring not shown in my apple home which wasn't an issue at all in the past. the homebridge runs on an qnap NAS via docker which didn't change since years also. i do not have any clue why this happens no and rebooting of NAS , homebrodge, Router etc doesn't fix anything
To Reproduce
No response
Expected behavior
plugin should connect to ring api server
Relevant log output
Screenshots
No response
Additional context
No response
OS
Ubuntu Focal (20.04.5 LTS)
Node.js Version
18.13.0
NPM Version
where to find ?
ring-client-api
13.1.0
Operating System
Docker
The text was updated successfully, but these errors were encountered: