Code Monkey home page Code Monkey logo

homebridge-aladdin-connect-garage-door's Introduction

Homebridge Verified

This package is deprecated, please use https://github.com/derek-miller/homebridge-genie-aladdin-connect (https://www.npmjs.com/package/homebridge-aladdin-connect-garage-door) instead

homebridge-aladdin-connect-garage-door

npm npm verified-by-homebridge

Homebridge plugin that supports Genie Aladdin garage door opener.
This plugin is not affiliated with the Genie company.

This plugin is a combo of:

Mainly, so you can put username and password into your homebridge config, rather than hardcoding them into javascript, or devising a system to pass them on through docker secrets (I've done both). Also, homebridge won't be forking a shell and an extra node process every time it needs to issue a command, which (considering the state monitoring every 15 seconds) saves quite a lot of CPU cycles.

Configuration

This easiest way to use this plugin is to use homebridge-config-ui-x.
To configure manually, add to the accessories section of Homebridge's config.json after installing the plugin.

Config:

"accessories": [
  {
    "accessory": "AladdinConnectGarageDoorOpener",
    "name": "Garage Door",
    "username": "",
    "password": "",
    "status_update_delay": 15,
    "poll_state_delay": 20,
    "device_number": 0,
    "garage_number": 1,
    "battery_low_level": 15,
    "ignore_errors": true,
    "log_polling": false,
    "allow_debug": false
  }
]

Explanation:

Parameter Description
accessory Must always be "AladdinConnectGarageDoorOpener" (required)
name Name of the Garage Door
username Your Aladdin Connect username (email address). NOTE: use 'owner' username. Delegated access does not work
password Your Aladdin Connect password
status_update_delay Time to have door in opening or closing state (defaults to 15 seconds)
poll_state_delay Time between polling for the garage door's state (leave blank to disable state polling)
device_number Genie Aladdin Connect device number (0-2). Defaults to 0
garage_number Garage number (1-3). Defaults to 1
battery_low_level Threshold for low battery warning
ignore_errors true/false. Causes the plugin to replace 'STOPPED' status with 'CLOSED' (defaults to false)
log_polling true/false. Poll logs only show on error; Set to true to log every poll (defaults to false)
allow_debug true/false. Dumps a lot of debug info to stdout. (defaults to false)

Note:

I was unable to get proper response from the API when I used a secondary (invited) Aladdin Connect credentials. As a workaround, I had to use the primary login credentials instead. I advise you do the same.

The ignore_errors config option is in place to prevent false OPEN events from occuring if the aladdin connect API fails to respond. Events where STOPPED is replaced with CLOSED are logged, but consider this a word of caution that setting this option to true ignores errors and could incorrectly report your garage door as CLOSED when it is not.

homebridge-aladdin-connect-garage-door's People

Contributors

apexad avatar bc2297 avatar binford2k avatar dependabot[bot] avatar ianatoly avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

homebridge-aladdin-connect-garage-door's Issues

Battery questions

Let me know if you actually get a low battery warning. In my case, it never happened and pretty sure my battery just died.

Curiously, it appears when there is no contact with the door position sensor, battery reports as 100%.

Plugin slows down homebridge

Getting a whole bunch of errors in the log that look like that:

[12/24/2021, 9:05:56 PM] [homebridge-aladdin-connect-garage-door] This plugin slows down Homebridge. The read handler for the characteristic 'Current Door State' was slow to respond! See https://git.io/JtMGR for more info.
[12/24/2021, 9:05:56 PM] [homebridge-aladdin-connect-garage-door] This plugin slows down Homebridge. The read handler for the characteristic 'Battery Level' was slow to respond! See https://git.io/JtMGR for more info.
[12/24/2021, 9:06:01 PM] [homebridge-aladdin-connect-garage-door] This plugin slows down Homebridge. The read handler for the characteristic 'Current Door State' was slow to respond! See https://git.io/JtMGR for more info.
[12/24/2021, 9:06:02 PM] [homebridge-aladdin-connect-garage-door] This plugin slows down Homebridge. The read handler for the characteristic 'Current Door State' didn't respond at all!. Please check that you properly call the callback! See https://git.io/JtMGR for more info.
[12/24/2021, 9:06:02 PM] [homebridge-aladdin-connect-garage-door] This plugin slows down Homebridge. The read handler for the characteristic 'Battery Level' didn't respond at all!. Please check that you properly call the callback! See https://git.io/JtMGR for more info.
[12/24/2021, 9:06:07 PM] [homebridge-aladdin-connect-garage-door] This plugin slows down Homebridge. The read handler for the characteristic 'Current Door State' didn't respond at all!. Please check that you properly call the callback! See https://git.io/JtMGR for more info.

Am currently running the latest https://github.com/oznu/docker-homebridge with this plugin installed (v1.0.5)

Two Genie openers

I get this error when I use the plugin? Also, what info do you use if you have 2 separate garage doors at your house?
This plugin generated a warning from the characteristic 'Target Door State': characteristic was supplied illegal value: number 4 exceeded maximum of 1.

Thank you, love to get this corrected.

Plugin Slows Down Homebridge

Hi... I have one Genie Controller and two doors. I am consistently seeing the following error in HomeBridge:

[25/08/2021, 14:21:19] [homebridge-aladdin-connect-garage-door] This plugin slows down Homebridge. The read handler for the characteristic 'Current Door State' was slow to respond! See https://git.io/JtMGR for more info.
[25/08/2021, 14:21:19] [homebridge-aladdin-connect-garage-door] This plugin slows down Homebridge. The read handler for the characteristic 'Battery Level' was slow to respond! See https://git.io/JtMGR for more info.
[25/08/2021, 14:21:19] [homebridge-aladdin-connect-garage-door] This plugin slows down Homebridge. The read handler for the characteristic 'Current Door State' was slow to respond! See https://git.io/JtMGR for more info.
[25/08/2021, 14:21:19] [homebridge-aladdin-connect-garage-door] This plugin slows down Homebridge. The read handler for the characteristic 'Battery Level' was slow to respond! See https://git.io/JtMGR for more info.

Here is what my config section (minus credentials) looks like:

{
"name": "Garage Door 1",
"username": "",
"password": "",
"status_update_delay": "15",
"poll_state_delay": 20,
"accessory": "AladdinConnectGarageDoorOpener"
},
{
"name": "Garage Door 2",
"username": "",
"password": "",
"status_update_delay": "15",
"poll_state_delay": 20,
"device_number": 0,
"garage_number": 2,
"accessory": "AladdinConnectGarageDoorOpener"
}

Any assistance with this would be helpful. Thanks

Always announces Door status in Apple Home app with HOOBS services restart

First of all thank you for the plugin. Works well so far.
The following is really not a bug but an enhancement request: When Home Bridge/HOOBS restarts services/plugins, this plugin announces to Apple Homekit/Home app and to the user the status of the garage doors even when the user is not actively using the Home app. I have 3 garage doors and my wife thought it was funny at first but now is wondering if she is going to be notified in the middle of the night with the status of the garage doors.
Please enhance so that just the status when in the Home app is updated when services are restarted and the user is not formally notified of the status of the garage doors.
Thank you
Jay

Not Working

I am using the following code from the Hoobs 4 plugin for Aladdin Connect and nothing is happing.
{
"accessories": [
{
"accessory": "AladdinConnectGarageDoorOpener",
"name": "Garage Door",
"status_update_delay": 15,
"poll_state_delay": 20,
"device_number": 0,
"garage_number": 1,
"battery_low_level": 15,
"ignore_errors": false,
"log_polling": false,
"allow_debug": false,
"username": "[email protected]",
"password": "#########"
}
],
"platforms": []
}

It installs fine and adds to HomeKit fine even shows the door open and close but nothing actually happens to the garage door. I am using the ower account information as I am the owner. please help.

Door Status Response Invalid

I've been trying to figure out why this plugin has just not worked for me at all recently. I've tracked it down to this error:
[*] DEBUG: battery_level and link_status response: [{"id":1,"status":"invalid"},{"id":2,"status":"invalid"}]
[*] DEBUG: Error details: {}
[*] DEBUG: door_status response: [{"id":1,"status":"invalid"}]
[*] DEBUG: Error details: {}

From my research, it gets the portal id and door id correctly, and I can run that command in cURL. My issue arises when I get to the status and the response I get is:

{
"error": {
"code": -1,
"message": "JSON parse error"
}
}

So I guess I'm asking if anyone else is having this issue or if it's just my account or something.

Genie app update

Is this plugin actively updated? I haven't been able to control my doors through homebridge since genie released the new app.

Characteristic Warnings on Homebridge while using aladdin-connect-garage-door

After a couple of days of usage, the Homebridge started complaining about the "homebridge-aladdin-connect-garage-door" plugin slowing down Homebridge.
Here is the warning shows on Homebridge logs:

[18/11/2021, 13:42:13] [homebridge-aladdin-connect-garage-door] This plugin slows down Homebridge. The read handler for the characteristic 'Current Door State' was slow to respond! See https://git.io/JtMGR for more info.
[18/11/2021, 13:42:13] [homebridge-aladdin-connect-garage-door] This plugin slows down Homebridge. The read handler for the characteristic 'Battery Level' was slow to respond! See https://git.io/JtMGR for more info.

Incorrect Status and doesn't open/close

The status shows open or stopped regardless of the actual state and I am unable to open/close the door via Homebridge or my iDevice. The state doesn't change when the door is opened via the AladdinConnect app. The login credentials used are the primary user NOT a secondary user.

"accessories": [
{
"name": "AladdinConnectGarageDoorOpener",
"username": "[primary account email address]",
"password": "[password]",
"status_update_delay": "20",
"poll_state_delay": 30,
"device_number": 0,
"garage_number": 1,
"log_polling": true,
"allow_debug": true,
"accessory": "AladdinConnectGarageDoorOpener"
}
],

plugin fails with auth errors in the logs

This plugin no longer works. It cannot open/close the garage door, and doesn't change when I use the aladdin app to do it. But it looks like a whole bunch of auth errors in the logs. (yes, the user/pass is correct.)

Apr 11 22:30:00 raspberrypi homebridge[9914]: [*] DEBUG: Error details: {"name":"StatusCodeError","statusCode":403,"message":"403 - \"Forbidden\"","error":"Forbidden","options":{"method":"GET","uri":"https://genie.exosite.com/api/portals/v1/users/_this/token","headers":{"AppVersion":"3.0.0","BundleName":"com.geniecompany.AladdinConnect","User-Agent":"Aladdin Connect iOS v3.0.0","BuildVersion":"131","Authorization":"Basic YmluZm9yZDJrQGdtYWlsLmNvbTpuOWVFVWNpeWs/aXk5aGU="},"json":true,"simple":true,"resolveWithFullResponse":false,"transform2xxOnly":false},"response":{"statusCode":403,"body":"Forbidden","headers":{"content-type":"text/html","date":"Mon, 12 Apr 2021 05:30:00 GMT","server":"Apache","www-authenticate":"Basic realm=\"Portals API\"","content-length":"9","connection":"Close"},"request":{"uri":{"protocol":"https:","slashes":true,"auth":null,"host":"genie.exosite.com","port":443,"hostname":"genie.exosite.com","hash":null,"search":null,"query":null,"pathname":"/api/portals/v1/users/_this/token","path":"/api/portals/v1/users/_this/token","href":"https://genie.exosite.com/api/portals/v1/users/_this/token"},"method":"GET","headers":{"AppVersion":"3.0.0","BundleName":"com.geniecompany.AladdinConnect","User-Agent":"Aladdin Connect iOS v3.0.0","BuildVersion":"131","Authorization":"Basic YmluZm9yZDJrQGdtYWlsLmNvbTpuOWVFVWNpeWs/aXk5aGU=","accept":"application/json"}}}}

Documentation tweak (device and garage numbers)

First things first: thanks for the plugin! I can finally control 2 different garage door openers from one place.

In the documentation, you have device_number described as door number. It would appear from my setup that that is the number of the configured Genie device (the main unit), not the door. The other, garage_number appears to map to the door (as numbered, in my case, by the labels on the back of the device).

I have a single Genie controller with one door (myQ opener, doesn't actually work with the Genie) connected to Door 1 (on the back of the unit) and another (older Liftmaster, the one I want to control) to Door 3. The configuration that got this to work for me was device_number=0 and garage_number=3.

Thanks again!

Transitions from open->closing->closed and closed->opening->open are not working properly

When I use hoobs to trigger the garage door to open or close, and watch the status of the garage door in the home app, the transitions don't update properly. What I see:

When opening door:
Closed->Opening->Closed->Open

When closing door:
Open->Closing->Open->Closed

Using:
Aladdin - 1.0.1
Hoobs - 3.3.1

"accessories": [
{
"accessory": "AladdinConnectGarageDoorOpener",
"plugin_map": {
"plugin_name": "homebridge-aladdin-connect-garage-door",
"index": 0
},
"name": "GDoor",
"status_update_delay": "30",
"username": "redacted",
"password": "redacted",
"allow_debug": false,
"log_polling": false,
"ignore_errors": false,
"battery_low_level": 5,
"poll_state_delay": 30
}
]

Constant Reporting of Opened/Closed

I have one controller and two doors. Both are consistently reporting that the doors are opening and closing when there is actually no activity at all.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.