Coder Social home page Coder Social logo

Comments (11)

dstapleton92 avatar dstapleton92 commented on September 28, 2024 1

Hey I see this issue is still open. I recently got into homebridge and I tried this out for my DSC system with an Envisalink card. As mentioned above, I did have to change the require statement because nodealarmproxy eliminated index.js. Once I did that, I noticed the issue where everything was stuck “updating” in the Home app. After much troubleshooting, I was able to track down the problem:

Things hang up when the ready and alarm states of the partition are queried. There are no issues getting the sensor states, but they get stuck updating because of the partition status query failure. I’ve traced this to a breaking change in nodealarmproxy, specifically a change in behavior to getCurrent. It no longer accepts a callback function as an argument, and instead causes the ‘data’ event to be emitted. Because of this, program flow hangs because the hap callback is never invoked with the partition status.

I played around with a fix, but couldn’t find an elegant solution that wasn’t buggy. It’s difficult because the alarm state and ready state are queried separately by HAP, and each of these must call getCurrent(), which triggers an event listener elsewhere in code with no direct access to the hap callback in order to send the data back. I played around with setting the hap callbacks as global variables, which worked, but it was very messy and seemed laggy.

Unfortunately I don’t have time to come up with a fix for this at the moment. I just wanted to share this information in hopes that it could be useful to someone else. In the meantime, I installed the previous version of homebridge-envisalink (which uses the previous version of nodealarmproxy) and it is working perfectly and is very responsive.

from homebridge-envisalink.

erfind avatar erfind commented on September 28, 2024

I located the problem. In the index.js file for envisalink we need to change the

var nap = reqiure('index.js');

to reflect a change made in the nodealarmproxy which removed the index.js file and instead references the nodealarmproxy.js file instead.

var nap = require('nodealarmproxy/nodealarmproxy.js');

I am unsure about how to submit the change request otherwise I would send it in myself :)

from homebridge-envisalink.

erfind avatar erfind commented on September 28, 2024

Okay, the plugin is able to load with that change. But now anytime it runs it causes everything attached to homebridge to go into the “Not Responding” state. Any ideas?

from homebridge-envisalink.

erfind avatar erfind commented on September 28, 2024

I also noticed on my Envisalink device, that it was recently updated. Could something have changed that is causing this error? And is anyone else having trouble besides me?

from homebridge-envisalink.

erfind avatar erfind commented on September 28, 2024

@dustindclark any ideas on this one? I have had to remove the Envisalink from my HomeKit which sucks a little as this plugin has been an awesome way to manage setting and disarming with multiple people in our home.

from homebridge-envisalink.

SirNoble avatar SirNoble commented on September 28, 2024

@dstapleton92 Hi, purchased a Envisalink 4 in home it will work with Homekit.
Which version would I need to install to get it working? 0.1.6?

Will be using it for a DSC security system.

Also have another question, and sorry for hijacking this page.
But, when armed from the pin pad, does this get reflected on the Homekit app?

Does it come under security in Homekit?
untitled

from homebridge-envisalink.

ToddGreenfield avatar ToddGreenfield commented on September 28, 2024

@dstapleton92 yes, install 0.1.6. The current version had issues due to a dependency. Changes on the alarm system panel should be reflected in HomeKit.

from homebridge-envisalink.

dstapleton92 avatar dstapleton92 commented on September 28, 2024

@SirNoble @ToddGreenfield is correct. 0.1.6 of this plugin works correctly. Arming/disarming your alarm from the keypad will reflect in the Home app, triggering a notification on your iOS devices almost instantly (you can turn this off, or do what I did and set it to only send notifications when you are not home).

I actually found a fork of this repo that has been updated to use the latest nodealarmproxy version. Additionally, some new features were added, such as user programs (PGM). I installed it and it’s been working great. https://github.com/mattvj/homebridge-envisalink

from homebridge-envisalink.

dstapleton92 avatar dstapleton92 commented on September 28, 2024

@SirNoble Your alarm partition will be shown as a home security device, and all of your zones will show up as individual sensors in the Home app (you can disable this by setting suppressZoneAccessories to true in the config). This is neat because you can use your motion detectors or your door contact sensors in automations to trigger scenes or other accessory actions.

One thing I’ve noticed is that Siri will not control the alarm. I’m always told I need to open the Home app. Not sure if that is a security thing. I know for my garage door, Siri can control it I just have to unlock my iPhone first.

from homebridge-envisalink.

SirNoble avatar SirNoble commented on September 28, 2024

@dstapleton92
How do you install Mattvj version of the Homebridge plugin?
I know you mentioned PGM, anything else interesting for an average user.

Also, for each motion sensor do you need do a zone for each?
I have 6 motion sensors for each room, how does it know which is which motion sensor for each room in the Home app?

from homebridge-envisalink.

dustindclark avatar dustindclark commented on September 28, 2024

from homebridge-envisalink.

Related Issues (20)

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.