mrjackyliang / homebridge-adt-pulse

Homebridge security system platform for ADT Pulse
MIT License
36 stars 7 forks source link

v3 Development - Calling All TypeScript Developers #98

Closed mrjackyliang closed 9 months ago

mrjackyliang commented 1 year ago

I'm looking to re-build the entire plugin base using TypeScript due to the massive amounts of support for this plugin. Because of the defunct platform that ADT currently has no plans improving, I'm not sure if the switch to it would be worth the investment.

If you think this plugin can be further improved, please let me know, and I'll see if I can make this crucial plugin work out.

mrjackyliang commented 1 year ago

Tagging @Danimal4326 in for a discussion, see if you're interested.

mrjackyliang commented 1 year ago

The re-write versions will be in this branch and merged when everything is tested, documented, and stable.

Danimal4326 commented 1 year ago

I talked to ADT regarding upgrading my system to their newer platform (based on Alarm.com I believe) After discussing costs and benefits, I’ll be sticking with Pulse. They’ve upgraded my backed call box to LTE too so I don’t think Pulse is going anywhere, as they have a large installed base.

With that said, I’d love to see continued support for the plug-in as well as improvements

Danimal4326 commented 1 year ago

My ts skills are basic at best, as my day job is firmware development in C/C++ with Python for testing/support. But I’d love to help out in any way I can

mrjackyliang commented 1 year ago

My ts skills are basic at best, as my day job is firmware development in C/C++ with Python for testing/support. But I’d love to help out in any way I can

Yeah, I just had feelings that one day ADT might want to pull the plug, but it has been years and I'm sure I seem to like the way how everything works.

On the contrary, TypeScript is just JS with types haha, really nothing crazy about it. Plus, I'd convert this to ESM along the way.

mrjackyliang commented 1 year ago

Decided to put a pause on this for now. Will re-open when I decide it is worth doing.

mrjackyliang commented 10 months ago

Began re-writing the API today.

Future versions will no longer auto-detect accessories due to the fragility of users losing data often when ADT makes a unsuspecting change. Before updating, please make a detailed note of all your sensors info.

  1. Name (the name you put in HomeKit, optional)
    • Normally I'd put in the Room and then the sensor this is. For example, if this was a kitchen sink right side window, I'd name it something like "Kitchen Counter Window".
  2. The EXACT name assigned for your ADT sensor
  3. Note the type of the sensor. Homebridge now separates doors and window sensors (so please take note of that)
  4. The zone number.

However, I may create a script for you to easily generate part of that configuration where you'd just need to focus on what to name your devices.

mrjackyliang commented 10 months ago

I've noticed something odd with the newer portal versions, and that is the orb.jsp file never loads during the summary page load. I do see that there is a updateContent() function on the summary page.

That is not called (because orb.jsp doesn't show in the networks tab), and I have a feeling that they may remove those pages or make it inaccessible in the future.

If that happens, the only way we can get status is through the summary page or the system page (which is fine). Marking this here to document there may be breaking changes.

UPDATE: My findings were incorrect. The function is being used, but not during initial page load. Only when something updates live while you are on the page.

mrjackyliang commented 10 months ago

I made some progress today and worked on reverse engineering the setArmState function and how it works.

Also, I forgot that I finally figured out why sometimes the sensors are blank and accidentally trigger the accessories reset. Nonetheless, having a manually configured sensors list is actually still the best just to protect ourselves from unwanted changes.

sapireli commented 10 months ago

is there any way to quickly export this?

Began re-writing the API today.

Future versions will no longer auto-detect accessories due to the fragility of users losing data often when ADT makes a unsuspecting change. Before updating, please make a detailed note of all your sensors info.

  1. Name (the name you put in HomeKit, optional)

    • Normally I'd put in the Room and then the sensor this is. For example, if this was a kitchen sink right side window, I'd name it something like "Kitchen Counter Window".
  2. The EXACT name assigned for your ADT sensor
  3. Note the type of the sensor. Homebridge now separates doors and window sensors (so please take note of that)
  4. The zone number.

However, I may create a script for you to easily generate part of that configuration where you'd just need to focus on what to name your devices.

mrjackyliang commented 10 months ago

is there any way to quickly export this?

Began re-writing the API today.

Future versions will no longer auto-detect accessories due to the fragility of users losing data often when ADT makes a unsuspecting change. Before updating, please make a detailed note of all your sensors info.

  1. Name (the name you put in HomeKit, optional)

    • Normally I'd put in the Room and then the sensor this is. For example, if this was a kitchen sink right side window, I'd name it something like "Kitchen Counter Window".
  2. The EXACT name assigned for your ADT sensor

  3. Note the type of the sensor. Homebridge now separates doors and window sensors (so please take note of that)

  4. The zone number.

However, I may create a script for you to easily generate part of that configuration where you'd just need to focus on what to name your devices.

Yes, I will include a script and instructions on how to easily export this. Might also add some recommendations on how to name the devices in case there is a need to reset the plugin (remembering which zone is which is a pain)

mrjackyliang commented 10 months ago

At the moment, working on the arm/disarm handlers. I found a few interesting arm states that are in the new version but never seen before in the older versions.

tr1um9h commented 10 months ago

Thanks for this! Any ETA on possible release?

mrjackyliang commented 10 months ago

Thanks for this! Any ETA on possible release?

I'm hoping in the next week or two. The plugin has to be completely rewritten.

mrjackyliang commented 10 months ago

Today, I finished the API portion of the plugin, and successfully completed testing. Going to make some optimizations before proceeding to the Homebridge plugin part.

Danimal4326 commented 10 months ago

Awesome!!! can't wait.

mrjackyliang commented 10 months ago

Today I spent some time refactoring the newly written API, and added some detection utilities to help with unexpected changes.

mrjackyliang commented 10 months ago

I've pushed the finished API along with the test files to the ts-rewrite branch.

sapireli commented 10 months ago

Jacky Liang coming in hot!

hapinstance commented 10 months ago

Wow! What an effort. Let me know if you need any help. I have some coding experience, and can assist in testing early versions if you like.

mrjackyliang commented 10 months ago

Wow! What an effort. Let me know if you need any help. I have some coding experience, and can assist in testing early versions if you like.

Will let you know, thank you!!

mrjackyliang commented 10 months ago

The fun part has come 👯

Screenshot 2023-12-08 at 8 37 43 AM
mrjackyliang commented 10 months ago

I re-opened some of the past tickets I think I have overlooked in the past. Going to try to test these and add the missing water sensor in this time.

Just hoping I don't come across any old bugs, like the stalled syncing😤

mrjackyliang commented 10 months ago

Pushed more changes and bug fixes just now

hapinstance commented 10 months ago

Is this a version I can test?  I don’t see a new version in GitHub. - MattOn Dec 9, 2023, at 10:13 PM, Jacky Liang @.***> wrote: Pushed more changes and bug fixes just now

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

mrjackyliang commented 10 months ago

The source code is available and you can start running the included test file. The command should be node run test-api after doing npm install

If you see errors during compiling, you can skip those by running directly from source tsx ./src/scripts/test-api.ts (you'd need to globally install tsx first.

hapinstance commented 9 months ago

My apologies. I do not see an included test file. Can you please elaborate on how to install it?

From: Jacky Liang @.> Sent: Sunday, December 10, 2023 8:51 AM To: mrjackyliang/homebridge-adt-pulse @.> Cc: hapinstance @.>; Comment @.> Subject: Re: [mrjackyliang/homebridge-adt-pulse] Calling All TypeScript Developers (Issue #98)

The source code is available and you can start running the included test file. The command should be node run test-api after doing npm install

If you see errors during compiling, you can skip those by running directly from source tsx ./src/scripts/test-api.ts (you'd need to globally install tsx first.

— Reply to this email directly, view it on GitHub https://github.com/mrjackyliang/homebridge-adt-pulse/issues/98#issuecomment-1848971121 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AWODTQNZBQ6NO2IL5EYY5BTYIW42ZAVCNFSM6AAAAAAWQNWPYCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNBYHE3TCMJSGE . You are receiving this because you commented. https://github.com/notifications/beacon/AWODTQJ6KYBSSTCB3XJJZH3YIW42ZA5CNFSM6AAAAAAWQNWPYCWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTTOGUHXC.gif Message ID: @. @.> >

mrjackyliang commented 9 months ago

@hapinstance switch to the ts-rewrite branch, download the zip file, extract it, then cd into the directory. the test file is inside ./src/scripts, but first try to do an npm install, and if that fails (on the build), then you can do npm i -g tsx (basically install tsx globally, which is an alternative to ts-node) and then do tsx ./src/scripts/test-api.ts

hapinstance commented 9 months ago

The install worked with the attacked notifications. It did not ask me which bridge to install the system into, and the GUI is reportin the July date on the existing plugin. However, I did not uninstall the old plugin before I installed the new one. Should I have?

From: Jacky Liang @.> Sent: Sunday, December 10, 2023 5:56 PM To: mrjackyliang/homebridge-adt-pulse @.> Cc: hapinstance @.>; Mention @.> Subject: Re: [mrjackyliang/homebridge-adt-pulse] Calling All TypeScript Developers (Issue #98)

@hapinstance https://github.com/hapinstance switch to the ts-rewrite branch, download the zip file, extract it, then cd into the directory. the test file is inside ./src/scripts, but first try to do an npm install, and if that fails (on the build), then you can do npm i -g tsx and then do tsx ./src/scripts/test-api.ts

— Reply to this email directly, view it on GitHub https://github.com/mrjackyliang/homebridge-adt-pulse/issues/98#issuecomment-1849114768 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AWODTQJI6JBKYH3CKTT2JYLYIY4ZPAVCNFSM6AAAAAAWQNWPYCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNBZGEYTINZWHA . You are receiving this because you were mentioned. https://github.com/notifications/beacon/AWODTQPBJBTZVW55GWXGHX3YIY4ZPA5CNFSM6AAAAAAWQNWPYCWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTTOG5AJA.gif Message ID: @. @.> >

mrjackyliang commented 9 months ago

@hapinstance Ah, I forgot to say. Let's keep the dev installation only on your computer and create a new home in the meantime.

Let's separate the dev away from prod so if there are any issues, prod won't be affected.

hapinstance commented 9 months ago

Ok, I’ve got a dev environment set up (I guess I had to learn Hyper-V). That’s all good 😊 However, the homebridge installation will not, for the life of it, unzip the .zip file. This was not a problem in HOOBS. Can you provide me some guidance as to how to unzip a zip file in homebridge?

From: Jacky Liang @.> Sent: Sunday, December 10, 2023 6:42 PM To: mrjackyliang/homebridge-adt-pulse @.> Cc: hapinstance @.>; Mention @.> Subject: Re: [mrjackyliang/homebridge-adt-pulse] Calling All TypeScript Developers (Issue #98)

@hapinstance https://github.com/hapinstance Ah, I forgot to say. Let's keep the dev installation only on your computer and create a new home in the meantime.

Let's separate the dev away from prod so if there are any issues, prod won't be affected.

— Reply to this email directly, view it on GitHub https://github.com/mrjackyliang/homebridge-adt-pulse/issues/98#issuecomment-1849129050 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AWODTQJYYQEUXTVU5YQ2SADYIZCFDAVCNFSM6AAAAAAWQNWPYCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNBZGEZDSMBVGA . You are receiving this because you were mentioned. https://github.com/notifications/beacon/AWODTQK47OCJOPTDHEZ2RKLYIZCFDA5CNFSM6AAAAAAWQNWPYCWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTTOG54FU.gif Message ID: @. @.> >

mrjackyliang commented 9 months ago

Hmm, would there happen to be an unzip command in the system?

mrjackyliang commented 9 months ago

I'm curious, are you running a dockerized version of Homebridge on Windows?

I dug into Hyper V support for Homebridge and I saw it was basically a Docker VM. If that's the case, I believe the plugin should be unzipped in the (i think) /homebridge folder. Or you would have to run the --plugin-path command on every Homebridge startup.

hapinstance commented 9 months ago

The unzip command works fine in HOOBs, but not in the Hyper-v homebridge version. I tried gzip directly and tar -xvf, all of them fail to recognize the format. HOOBS had no trouble with it.

I do recall seeing a reference to docker, if that helps. Is the Hyper-V version not compatible with the plugin you are developing? If not, should I explore a dev environment that is HOOBS?

From: Jacky Liang @.> Sent: Monday, December 11, 2023 9:39 AM To: mrjackyliang/homebridge-adt-pulse @.> Cc: hapinstance @.>; Mention @.> Subject: Re: [mrjackyliang/homebridge-adt-pulse] Calling All TypeScript Developers (Issue #98)

Hmm, would there happen to be an unzip command in the system?

— Reply to this email directly, view it on GitHub https://github.com/mrjackyliang/homebridge-adt-pulse/issues/98#issuecomment-1850210114 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AWODTQJ42Y4MFY7QGIINVNTYI4LHZAVCNFSM6AAAAAAWQNWPYCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNJQGIYTAMJRGQ . You are receiving this because you were mentioned. https://github.com/notifications/beacon/AWODTQMWMGHLUVSGFHQ546LYI4LHZA5CNFSM6AAAAAAWQNWPYCWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTTOI73UE.gif Message ID: @. @.> >

mrjackyliang commented 9 months ago

@hapinstance I think they're all the same. But if the zip doesn't work, is there a git command inside? If there is, you can skip the ZIP file and directly pull from source using this command:

git clone https://github.com/mrjackyliang/homebridge-adt-pulse.git && cd homebridge-adt-pulse && git checkout ts-rewrite

hapinstance commented 9 months ago

That was much easier! I followed that command with the npm install, which did not generate any errors. I restarted the docker / Hyper-V system, and it does not list any installed plugins. What am I missing?

Sorry for the noob questions, this is my first experience with docker and Hyper-V.

From: Jacky Liang @.> Sent: Monday, December 11, 2023 11:25 AM To: mrjackyliang/homebridge-adt-pulse @.> Cc: hapinstance @.>; Mention @.> Subject: Re: [mrjackyliang/homebridge-adt-pulse] Calling All TypeScript Developers (Issue #98)

@hapinstance https://github.com/hapinstance I think they're all the same. But if the zip doesn't work, is there a git command inside? If there is, you can skip the ZIP file and directly pull from source using this command:

git clone https://github.com/mrjackyliang/homebridge-adt-pulse.git && cd homebridge-adt-pulse && git checkout ts-rewrite

— Reply to this email directly, view it on GitHub https://github.com/mrjackyliang/homebridge-adt-pulse/issues/98#issuecomment-1850420557 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AWODTQMZ7FG6SHMSGDV36CTYI4XUZAVCNFSM6AAAAAAWQNWPYCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNJQGQZDANJVG4 . You are receiving this because you were mentioned. https://github.com/notifications/beacon/AWODTQKS4DWQIGGSWW62QHTYI4XUZA5CNFSM6AAAAAAWQNWPYCWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTTOJMWU2.gif Message ID: @. @.> >

mrjackyliang commented 9 months ago

@hapinstance Where did you clone the plugin into? Is it inside the /homebridge directory? If it is not, I believe you would need to cd into the plugin directory, then do homebridge --plugin-path $(pwd) or homebridge --debug --plugin-path $(pwd)

chabapj commented 9 months ago

UPDATE I changed the config according to the new schema, and these errors disappeared. But the sensor is still not visible.

I am trying to run version 3.0.0 - I have installed it manually in homebridge. I am getting the following error at homebridge startup:

12/11/2023, 7:18:51 PM] [ADT Pulse] Initializing ADTPulse platform... [12/11/2023, 7:18:51 PM] [ADT Pulse] Plugin is unable to initialize due to an invalid platform configuration. [ { "code": "invalid_union", "unionErrors": [ { "issues": [ { "code": "invalid_literal", "expected": "portal", "path": [ "subdomain" ], "message": "Invalid literal value, expected 'portal'" } ], "name": "ZodError" }, { "issues": [ { "code": "invalid_literal", "expected": "portal-ca", "path": [ "subdomain" ], "message": "Invalid literal value, expected 'portal-ca'" } ], "name": "ZodError" } ], "path": [ "subdomain" ], "message": "Invalid input" }, { "code": "invalid_type", "expected": "array", "received": "undefined", "path": [ "sensors" ], "message": "Required" } ]

hapinstance commented 9 months ago

OK. I got the test script to run with the following output. I did install tsx globally and am in the homebridge-adt-pulse directory.

[ADT Pulse] INFO: test-api.ts - Attempt 1: Finding the Homebridge config file in "/homebridge/config.json" ...

[ADT Pulse] INFO: test-api.ts - Attempt 2: Finding the Homebridge config file in "/var/lib/homebridge/config.json" ...

[ADT Pulse] INFO: test-api.ts - Attempt 3: Finding the Homebridge config file in "/home/homebridge/.homebridge/config.json" ...

[ADT Pulse] ERROR: test-api.ts - Unable to find a parsable Homebridge config file with a validated "ADTPulse" platform ...

########################################################################

Test has failed! Please check the error response
above, attempt to resolve them, then run this tester again

########################################################################

@.***:/var/lib/homebridge/homebridge-adt-pulse $

From: Jacky Liang @.> Sent: Monday, December 11, 2023 6:23 PM To: mrjackyliang/homebridge-adt-pulse @.> Cc: hapinstance @.>; Mention @.> Subject: Re: [mrjackyliang/homebridge-adt-pulse] Calling All TypeScript Developers (Issue #98)

@hapinstance https://github.com/hapinstance Where did you clone the plugin into? Is it inside the /homebridge directory? If it is not, I believe you would need to cd into the plugin directory, then do homebridge --plugin-path $(pwd) or homebridge --debug --plugin-path $(pwd)

— Reply to this email directly, https://github.com/mrjackyliang/homebridge-adt-pulse/issues/98#issuecomment-1851053567 view it on GitHub, or https://github.com/notifications/unsubscribe-auth/AWODTQO6N2BIIW65XH3NOULYI6IV5AVCNFSM6AAAAAAWQNWPYCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNJRGA2TGNJWG4 unsubscribe. You are receiving this because you were mentioned. https://github.com/notifications/beacon/AWODTQOBTZEGWDPYISAOOLTYI6IV5A5CNFSM6AAAAAAWQNWPYCWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTTOKTK76.gif Message ID: < @.> @.>

mrjackyliang commented 9 months ago

@chabapj The Homebridge part isn't completed. You may however do the test-api.ts in the included file. Before you do, you must update your config.

For the new config, check below.

mrjackyliang commented 9 months ago

@hapinstance Let me give you the new object. You don't have to change the sensor part for now. That is used in the final update. Will provide a script on generating that, but for testing, that part isn't used.

  "platforms": [
    {
      "platform": "ADTPulse",
      "name": "ADT Pulse",
      "subdomain": "portal",
      "username": "",
      "password": "",
      "fingerprint": "",
      "sensors": [
        {
          "name": "Lounge Smoke",
          "adtName": "Basement Smoke",
          "adtType": "fire",
          "adtZone": 1
        }
      ],
      "pause": false,
      "reset": false
    }
  ]
chabapj commented 9 months ago

I had already looked at the schema.js, and I worked out how to update the configuration from there. The test-api ran successfully (the first time I ran it, it lost the connection to the portal, but the second time, all tests were completed without any issues).

mrjackyliang commented 9 months ago

I had already looked at the schema.js, and I worked out how to update the configuration from there. The test-api ran successfully (the first time I ran it, it lost the connection to the portal, but the second time, all tests were completed without any issues).

@chabapj Do you have the error logs to that connection issue? I want to see if I can debug that one first.

mrjackyliang commented 9 months ago

Reposting @chabapj without the personal information:

{
message: 'getaddrinfo EAI_AGAIN portal.adtpulse.com',
name: 'Error',
description: undefined,
number: undefined,
fileName: undefined,
lineNumber: undefined,
columnNumber: undefined,
stack: 'Error: getaddrinfo EAI_AGAIN portal.adtpulse.com\n' +
' at AxiosError.from (file:///usr/local/lib/node_modules/homebridge-adt-pulse/node_modules/axios/lib/core/AxiosError.js:89:14)\n' +
' at RedirectableRequest.handleRequestError (file:///usr/local/lib/node_modules/homebridge-adt-pulse/node_modules/axios/lib/adapters/http.js:606:25)\n' +
' at RedirectableRequest.emit (node:events:531:35)\n' +
' at eventHandlers. (/usr/local/lib/node_modules/homebridge-adt-pulse/node_modules/follow-redirects/index.js:14:24)\n' +
' at ClientRequest.emit (node:events:519:28)\n' +
' at TLSSocket.socketErrorListener (node:_http_client:495:9)\n' +
' at TLSSocket.emit (node:events:519:28)\n' +
' at emitErrorNT (node:internal/streams/destroy:169:8)\n' +
' at emitErrorCloseNT (node:internal/streams/destroy:128:3)\n' +
' at process.processTicksAndRejections (node:internal/process/task_queues:82:21)',
config: {
transitional: {
silentJSONParsing: true,
forcedJSONParsing: true,
clarifyTimeoutError: false
},
adapter: [ 'xhr', 'http' ],
transformRequest: [ [Function: transformRequest] ],
transformResponse: [ [Function: transformResponse] ],
timeout: 15000,
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
env: { FormData: [Function], Blob: [class Blob] },
headers: Object [AxiosHeaders] {
Accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.7',
'Content-Type': undefined,
'Accept-Encoding': 'gzip, deflate, br',
'Accept-Language': 'en-US,en;q=0.9',
Connection: 'keep-alive',
Host: 'portal.adtpulse.com',
'Sec-Fetch-Dest': 'document',
'Sec-Fetch-Mode': 'navigate',
'Sec-Fetch-Site': 'none',
'Sec-Fetch-User': '?1',
'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36',
'sec-ch-ua': '"Google Chrome";v="119", "Chromium";v="119", "Not?A_Brand";v="24"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': '"macOS"'
},
family: 4,
method: 'head',
url: 'https://portal.adtpulse.com/'
},
code: 'EAI_AGAIN',
status: null
}
mrjackyliang commented 9 months ago

@chabapj Got it, that's just a temporary DNS issue. Looking good so far!

mrjackyliang commented 9 months ago

@chabapj @hapinstance If you can email me your successful test results to hello@mrjackyliang.com, please do so! Would help me further debug the other devices that I don't have currently

mrjackyliang commented 9 months ago

@chabapj I noticed the code below in your test. Can you tell me the Node version you are using?

➜ (node:1522082) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
chabapj commented 9 months ago

I am using v21.4.0., and this module is deprecated in v21.4.0. But everything seems to be working well.

hapinstance commented 9 months ago

Just redownloaded and installed. Received the following errors

@.***:/var/lib/homebridge/homebridge-adt-pulse $ npm install

npm ERR! code ERESOLVE

npm ERR! ERESOLVE unable to resolve dependency tree

npm ERR!

npm ERR! While resolving: @.***

npm ERR! Found: @@.***

npm ERR! @.***/eslint-plugin

npm ERR! dev @typescript-eslint/eslint-plugin@"6.13.2" from the root project

npm ERR!

npm ERR! Could not resolve dependency:

npm ERR! peer @typescript-eslint/eslint-plugin@"^5.13.0 || ^6.0.0" from @.***

npm ERR! node_modules/eslint-config-airbnb-typescript

npm ERR! dev eslint-config-airbnb-typescript@"17.1.0" from the root project

npm ERR!

npm ERR! Fix the upstream dependency conflict, or retry

npm ERR! this command with --force, or --legacy-peer-deps

npm ERR! to accept an incorrect (and potentially broken) dependency resolution.

npm ERR!

npm ERR! See /home/homebridge/.npm/eresolve-report.txt for a full report.

npm ERR! A complete log of this run can be found in:

npm ERR! /home/homebridge/.npm/_logs/2023-12-12T14_08_12_263Z-debug-0.log

@.***:/var/lib/homebridge/homebridge-adt-pulse $

From: Jacky Liang @.> Sent: Monday, December 11, 2023 10:32 PM To: mrjackyliang/homebridge-adt-pulse @.> Cc: hapinstance @.>; Mention @.> Subject: Re: [mrjackyliang/homebridge-adt-pulse] USERS WITH PLUGIN ISSUES COMMENT HERE + Calling All TypeScript Developers (Issue #98)

@chabapj https://github.com/chabapj I noticed the code below in your test. Can you tell me the Node version you are using?

➜ (node:1522082) [DEP0040] DeprecationWarning: The punycode module is deprecated. Please use a userland alternative instead. (Use node --trace-deprecation ... to show where the warning was created)

— Reply to this email directly, view it on GitHub https://github.com/mrjackyliang/homebridge-adt-pulse/issues/98#issuecomment-1851244339 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AWODTQJ63KAF5M57B7HJF7TYI7FZPAVCNFSM6AAAAAAWQNWPYCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNJRGI2DIMZTHE . You are receiving this because you were mentioned. https://github.com/notifications/beacon/AWODTQNR2CTLAVMTQK2NJZTYI7FZPA5CNFSM6AAAAAAWQNWPYCWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTTOK67TG.gif Message ID: @. @.> >

hapinstance commented 9 months ago

More debug logs

81 timing command:install Completed in 1662ms

82 verbose stack Error: unable to resolve dependency tree

82 verbose stack at [failPeerConflict] @.***/arborist/lib/arborist/build-ideal-tree.js:1381:25)

82 verbose stack at [loadPeerSet] @.***/arborist/lib/arborist/build-ideal-tree.js:1347:34)

82 verbose stack at async [buildDepStep] @.***/arborist/lib/arborist/build-ideal-tree.js:930:11)

82 verbose stack at async Arborist.buildIdealTree @.***/arborist/lib/arborist/build-ideal-tree.js:211:7)

82 verbose stack at async Promise.all (index 1)

82 verbose stack at async Arborist.reify @.***/arborist/lib/arborist/reify.js:154:5)

82 verbose stack at async Install.exec (/opt/homebridge/lib/node_modules/npm/lib/commands/install.js:145:5)

82 verbose stack at async module.exports (/opt/homebridge/lib/node_modules/npm/lib/cli.js:78:5)

83 verbose cwd /homebridge/homebridge-adt-pulse

From: Jacky Liang @.> Sent: Monday, December 11, 2023 10:32 PM To: mrjackyliang/homebridge-adt-pulse @.> Cc: hapinstance @.>; Mention @.> Subject: Re: [mrjackyliang/homebridge-adt-pulse] USERS WITH PLUGIN ISSUES COMMENT HERE + Calling All TypeScript Developers (Issue #98)

@chabapj https://github.com/chabapj I noticed the code below in your test. Can you tell me the Node version you are using?

➜ (node:1522082) [DEP0040] DeprecationWarning: The punycode module is deprecated. Please use a userland alternative instead. (Use node --trace-deprecation ... to show where the warning was created)

— Reply to this email directly, view it on GitHub https://github.com/mrjackyliang/homebridge-adt-pulse/issues/98#issuecomment-1851244339 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AWODTQJ63KAF5M57B7HJF7TYI7FZPAVCNFSM6AAAAAAWQNWPYCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNJRGI2DIMZTHE . You are receiving this because you were mentioned. https://github.com/notifications/beacon/AWODTQNR2CTLAVMTQK2NJZTYI7FZPA5CNFSM6AAAAAAWQNWPYCWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTTOK67TG.gif Message ID: @. @.> >