node-alarm-dot-com / homebridge-node-alarm-dot-com

Alarm.com plugin for Homebridge using Node.js
MIT License
61 stars 23 forks source link

GET null failed: The "url" argument must be of type string #32

Closed ansuz07 closed 4 years ago

ansuz07 commented 4 years ago

Just started getting a new error this morning. No changes to the config or the base machine

 [3/16/2020, 12:50:01 PM] [Security System] Error: GET null failed: GET null failed: The "url" argument must be of type string. Received type object
 at /usr/lib/node_modules/homebridge-node-alarm-dot-com/node_modules/node-alarm-dot-com/index.js:114:17
 at processTicksAndRejections (internal/process/task_queues.js:93:5)

Any ideas?

rivertonrock commented 4 years ago

I came here to report the same Issue, and it looks like @ansuz07 beat me to it. Here is the error I am receiving:

[3/16/2020, 8:19:43 AM] [Security System] Error: GET null failed: GET null failed: The "url" argument must be of type string. Received type object at /usr/lib/node_modules/homebridge-node-alarm-dot-com/node_modules/node-alarm-dot-com/index.js:114:17 at runMicrotasks () at processTicksAndRejections (internal/process/task_queues.js:94:5)

estevanb commented 4 years ago

Same thing here with me:

UNHANDLED ERROR: Error: GET null failed: GET null failed: The "url" argument must be of type string. Received null at /usr/lib/node_modules/homebridge-node-alarm-dot-com/node_modules/node-alarm-dot-com/index.js:114:17 at processTicksAndRejections (internal/process/task_queues.js:97:5)

ngori commented 4 years ago

I'm not experiencing this error this morning but I'm running my own non-public fork with garage door support. Just looking at the nod-alarm-dot.com/index.js it appears there is difficulty loading the with mobile session url login used to capture the session and cookies used elsewhere. I'm wondering if everyone has the same alarm.com provider? Perhaps a mandated change to 2 factor?

On Mon, Mar 16, 2020 at 11:03 AM estevanb notifications@github.com wrote:

Same thing here with me:

UNHANDLED ERROR: Error: GET null failed: GET null failed: The "url" argument must be of type string. Received null at /usr/lib/node_modules/homebridge-node-alarm-dot-com/node_modules/node-alarm-dot-com/index.js:114:17 at processTicksAndRejections (internal/process/task_queues.js:97:5)

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/mkormendy/homebridge-node-alarm-dot-com/issues/32#issuecomment-599585633, or unsubscribe https://github.com/notifications/unsubscribe-auth/AG6JCYUQEMMHGOY2KYBQPN3RHY5TDANCNFSM4LMF4MIQ .

ansuz07 commented 4 years ago

Updating with bug report template:

Describe the bug Can no longer access any functions on Alarm.com. Logs show GET error with url incorrectly defined

To Reproduce Steps to reproduce the behavior:

  1. Install plugin and set up.
  2. On reboot, plugin will throw error. No functions can be polled or controlled.

Expected behavior Should access the Alarm.com server and show available devices

Screenshots Error Message as follow:

 [3/16/2020, 12:50:01 PM] [Security System] Error: GET null failed: GET null failed: The "url" argument must be of type string. Received type object
 at /usr/lib/node_modules/homebridge-node-alarm-dot-com/node_modules/node-alarm-dot-com/index.js:114:17
 at processTicksAndRejections (internal/process/task_queues.js:93:5)

Homebridge System (please complete the following information):

Additional context None

estevanb commented 4 years ago

My front end is Brinks Security and it does not have two factor authentication

Some additional input seen on homebridge status page:

[3/16/2020, 11:35:06 AM] [Security System] Logging into Alarm.com as ########@gmail.com [3/16/2020, 11:35:06 AM] [Security System] Error: GET null failed: GET null failed: The "url" argument must be of type string. Received null at /usr/lib/node_modules/homebridge-node-alarm-dot-com/node_modules/node-alarm-dot-com/index.js:114:17 at runMicrotasks () at processTicksAndRejections (internal/process/task_queues.js:97:5)

kaganae commented 4 years ago

Same issue, also with no changes to my config.

Mar 16 22:33:43 raspberrypi homebridge[2832]: [2020-3-16 22:33:43] [Security System] Logging into Alarm.com as XXXXX@gmail.com Mar 16 22:33:43 raspberrypi homebridge[2832]: [2020-3-16 22:33:43] [Security System] Error: GET null failed: GET null failed: Parameter "url" must be a string, not object Mar 16 22:33:43 raspberrypi homebridge[2832]: at get.then.catch.err (/usr/lib/node_modules/homebridge-node-alarm-dot-com/node_modules/node-alarm-dot-com/index.js:114:17) Mar 16 22:33:43 raspberrypi homebridge[2832]: at Mar 16 22:33:43 raspberrypi homebridge[2832]: at process._tickCallback (internal/process/next_tick.js:189:7)

dshenson commented 4 years ago

Same issue for me. Looks like brinks updated their alarm.com interface

drclayton commented 4 years ago

I am getting this error as well, but not using Brinks.

ngori commented 4 years ago

I'm also now getting this error. It's in the same spot in my fork related to capturing the session URL from the mobile page. Looks like something server side was changed across all ADC providers.

On Tue, Mar 17, 2020 at 11:42 AM drclayton notifications@github.com wrote:

I am getting this error as well, but not using Brinks.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/mkormendy/homebridge-node-alarm-dot-com/issues/32#issuecomment-600141580, or unsubscribe https://github.com/notifications/unsubscribe-auth/AG6JCYWKICA7UHPDICE6OCLRH6K6XANCNFSM4LMF4MIQ .

mkormendy commented 4 years ago

Hello all,

Yes I am getting these errors and cannot operate my alarm system now either. Something has changed in the payload received back from ADC and I need to analyze the payload and see how to work around it (if possible).

NOTE: my employer is in full coronavirus lockdown, and I've been busy with some fast-turnaround initiatives with regard to the pandemic with our company. I'll try to fit in some time to look at this as this seems like it's affecting everyone now.

ulo-swe commented 4 years ago

I am also getting the exact sam error.

CaptainsMast commented 4 years ago

I am also getting this error, ADT provider, no 2FA enabled.

ngori commented 4 years ago

@mkormendy

It looks like ADC changed the URL redirect scheme in use. node-alarm-com uses "https://www.alarm.com/pda/Default.aspx' and that URL no longer has a Location header that was being used. I'm trying to see if I can rewrite it to get it working again. If I can sort it out on my private fork I'll let Mike know.

Hello all,

Yes I am getting these errors and cannot operate my alarm system now either. Something has changed in the payload received back from ADC and I need to analyze the payload and see how to work around it (if possible).

NOTE: my employer is in full coronavirus lockdown, and I've been busy with some fast-turnaround initiatives with regard to the pandemic with our company. I'll try to fit in some time to look at this as this seems like it's affecting everyone now.

mkormendy commented 4 years ago

It looks like ADC changed the URL redirect scheme in use. node-alarm-com uses "https://www.alarm.com/pda/Default.aspx' and that URL no longer has a Location header that was being used. I'm trying to see if I can rewrite it to get it working again. If I can sort it out on my private fork I'll let Mike know.

So, it's been a long time since I've looked at the process for this, I'm seeing these redirects occur in the process:

Screen Shot 2020-03-18 at 1 39 26 PM
ansuz07 commented 4 years ago

It looks like this issue effects everything that touches Alarm.com right now.

I don't know if it is helpful, but there is some work going on here too:

https://github.com/Xorso/pyalarmdotcom/pull/13

mkormendy commented 4 years ago

@ansuz07 thanks for that. I've had a little success with initiating a new login process, however still having errors with the correct session procedures. I'll update when I have something more concrete.

sdlevi27 commented 4 years ago

+1 for this issue. Local dealer provider, no 2FA enabled.

ansuz07 commented 4 years ago

I did some research yesterday and it looks like this is affecting everyone who uses a 3rd party integration based on the pda login workflow.

I think the best course of action is just to let folks work through it.

mkormendy commented 4 years ago

I'm going to lock the conversation to avoid additional 1+ type comments. This issue is verified as a valid problem and widespread with efforts to fix it, in progress.

ngori commented 4 years ago

I got it back working with the help of an actual web developer friend tonight. Short version is we updated the loginObj for the new form fields. Removed all the references to the mobile login to avoid the redirect issues and pointed to the standard login URL. I'm getting the occasional ECONNRESET when I restart homebridge but I think I'm bumping into some server side limiting not necessarily a problem with the code itself. The code is ugly and also has my garage door implementation but obviously we need a pull request to get it out and tested.

Just submitted the PR on node-alarm-dot-com with my code

mkormendy commented 4 years ago

@ngori, independently I also got it working as well and have cleaned up the code and removed extra crap that is no longer necessary. Also made things more semantic in the concept of how the login process works. I'll be publishing an update shortly, just doing some final testing.

mkormendy commented 4 years ago

I believe I've fixed the login issue with the latest release.

I'm going to discard your pull-request @ngori in favor of my cleaned up version.

Note: I see some lag in the updating of the status of the home.app on my Iphone for the alarm, but I haven't restarted my homekit hub to see if that will fix it.

DMBlakeley commented 4 years ago

Special thanks to you and team for addressing the alarm.com changes in a timely manner! Much appreciated!

estevanb commented 4 years ago

Amazing job! Everything working smooth now!!!!!

ulo-swe commented 4 years ago

Works great for me also. Thank you so very much.