Skip to content
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

ForceBypass #76

Open
scottleestrange opened this issue May 23, 2021 · 18 comments · May be fixed by #138
Open

ForceBypass #76

scottleestrange opened this issue May 23, 2021 · 18 comments · May be fixed by #138
Labels
enhancement New feature or request

Comments

@scottleestrange
Copy link

Is your feature request related to a problem? Please describe.
We cannot leave upstairs windows open at night and use the plugin

Describe the solution you'd like
Concord 4 Panels as well as others have a ForceBypass option that allows the panel to bypass all open sensors

We should have a ForceBypass property that will send the ForceBypass.

We should also have more options for Arming Modes, we should have the option of defining the name of the switch positions as well as their actions

Example:
"armingModes" : {
"away" : {
"name":"Away",
"noEntryDelay" : false,
"silentArming" : false
},
"night" : {
"name":"Sleep",
"noEntryDelay" : true,
"silentArming" : true
},
"night-bypass" : {
"name":"Sleep Bypass",
"noEntryDelay" : true,
"silentArming" : true
},
"stay" : {
"name": "Stay"
"noEntryDelay" : false,
"silentArming" : false
}

You can provide to be able to change the name for the off position, os simply leave that as required and cannot change. The current button name as off is intuitive to all. But we should be able to define what switch positions exist and their names as well as the properties.

Describe alternatives you've considered
At lease please implement ForceBypass. I can live with always configuring night with force bypass. I will get notifications on what is bypassed form alarm.com

Additional context
Add any other context or screenshots about the feature request here.

@scottleestrange scottleestrange added the enhancement New feature or request label May 23, 2021
@ngori
Copy link
Collaborator

ngori commented May 23, 2021

@scottleestrange Are you able to set Force Bypass from the alarm.com app or are you only able to set it from your panel? What does the alarm.com app show when in this Forced Bypass mode? I have a qolsys panel so my setup is a bit different. If I arm the system with an open sensor it is automatically bypassed until the system is disarmed and the sensor closed and the rearmed. Is that not the case for you?

I can also selectively bypass a sensor that may already be closed from the panel but I can't do that from the app.

@scottleestrange
Copy link
Author

scottleestrange commented May 24, 2021

When I set arm stay on alarm.com. I have the options of silent arming, No Entry Delay and Force Bypass.

image

I cannot bypass individual sensors from the app. But from the app I can force all open sensors to bypass by selecting "Force Bypass".

  • I also get this option in the App for Arm Away. However even though that option is given in Arm Away it is not supported in Arm Away, It seems to only be supported in Arm Stay. BTW in mine Arm Night is Arn Stay with No Entry Delay and Silent Arming selected

@ngori
Copy link
Collaborator

ngori commented May 24, 2021

I believe the HomeKit Security System accessory type only supports arm stay, arm night, arm away, and disarm. You could try forking and repurposing arm night to pass the arguments for force bypass.

@scottleestrange
Copy link
Author

scottleestrange commented May 24, 2021

But the plug-in needs to support the force bypass. If you see in my request. Hence asking for the enhancement. I think we can all live with the current alarm button if there is no choice, but adding the property of ForeceBypass would be helpful to many people

@ngori
Copy link
Collaborator

ngori commented May 25, 2021

Hi. Yup, I understand the request. Just it seems like a very limited use case. I can't assist as my panel doesn't support force bypass or it may but I use an auto bypass for any open sensors/zones. You should be able to watch the api call while initiating a force bypass in a browser and then just dump the parameters into night arm lines 109-112 in index.ts on a fork and be good to go.

@scottleestrange
Copy link
Author

If you look back, I am not the first to ask for this. I am not convinced it is a limited use case

My experience is not web development, I have many years of backend development. Not sure how to do what you ask for me to make the changes

@scottleestrange
Copy link
Author

I am also new to GitHub. I see where you are saying to make the change. But I am not familiar with the interface of GitHub to check out the code. Also form what I see others are already working on Beta releases on this code

@scottleestrange
Copy link
Author

Can anyone help me with this. I have no problem repurposing Night to add an optional Bypass. I am Jost not sure how to create a branch and try coding it. And after getting it integrated to the release

@ngori
Copy link
Collaborator

ngori commented Jun 20, 2021

@scottleestrange are you able to join the homebridge discord? I'll help you over there on the node-alarm-dot-com channel.

@jibelin
Copy link

jibelin commented Jul 7, 2021

I too would appreciate some help with implementing Force Bypass. I confirmed it is supported directly with Alarm.com as web and mobile applications and can see the variable forceBypass sent via the web. But I cannot figure out how to pass or send this via the Homebridge AlarmDotCom plugin. Any help would be appreciated...

@ngori
Copy link
Collaborator

ngori commented Jul 7, 2021

@jibelin. Take a look at lines 105-117 on the current release src/index.ts. If you want to repurpose night arm to Force Bypass as mentioned above you would need add "forceBypass: true" and see if that results in your expected arming behavior. I don't have forceBypass as an arming mode with my panel so I can't test this for you.

@jibelin
Copy link

jibelin commented Jul 7, 2021

@jibelin. Take a look at lines 105-117 on the current release src/index.ts. If you want to repurpose night arm to Force Bypass as mentioned above you would need add "forceBypass: true" and see if that results in your expected arming behavior. I don't have forceBypass as an arming mode with my panel so I can't test this for you.

Thanks for the quick reply - I’ve been reading and trying to learn how to make the edits and install the updated package into Homebridge. is there a recommendation on approach to just edit this one file and install it into the existing package or do I need to figure out how to publish to npm

@ngori
Copy link
Collaborator

ngori commented Jul 7, 2021

The better way is to fork the project on github make the edits on your fork and install your fork with npm. That being said, when I was working on the garage door implementation I just edited the few fieles on my locally installed packages and rebooted hombridge constantly to test.

@jibelin
Copy link

jibelin commented Sep 6, 2021

@jibelin. Take a look at lines 105-117 on the current release src/index.ts. If you want to repurpose night arm to Force Bypass as mentioned above you would need add "forceBypass: true" and see if that results in your expected arming behavior. I don't have forceBypass as an arming mode with my panel so I can't test this for you.

I tried the above and it does not appear to send the commands in the code tried with the previous version not sure if @chase9 may be able to look into this with the most recent updated version? This would be an amazing addition - i could call it a bug as it is supported on the alarm.com web portal...

@chase9
Copy link
Member

chase9 commented Feb 9, 2022

@jibelin Just an FYI, a bug would be a defect in existing functionality, so this would be an enhancement request :)

@scottleestrange This is a simple add, but I don't have a panel that can take advantage of this so I have no way of investigating or testing. I would need you to look at the AJAX request that's sent to alarm.com when you attempt to arm the alarm with the desired settings. If you look at the JSON payload on the request, there should be an option like forceBypass: true which is what I need.

@jibelin
Copy link

jibelin commented Feb 9, 2022

thank you for looking into this - fair point about a bug against current functionality so you're right it fair to call it an enhancement ;-) Appreciate your help, let me know if there is something I can to help - possibly test if required...

@scottleestrange
Copy link
Author

@chase9 How do I look at the AJAX request?

@DouweM
Copy link

DouweM commented Nov 29, 2024

@chase9 Looks like you had a chance to add this to node-alarm-dot-com last year! node-alarm-dot-com/node-alarm-dot-com@1d61dee

I believe adding support to the Homebridge plugin would be a matter of editing

this.armingModes = {
away: {
nightArming: false,
noEntryDelay: false,
silentArming: false
},
night: {
nightArming: true,
noEntryDelay: false,
silentArming: true
},
stay: {
nightArming: false,
noEntryDelay: false,
silentArming: true
}
};
// Overwrite default arming modes with config settings.
if (this.config.armingModes !== undefined) {
for (const key in this.config.armingModes) {
this.armingModes[key].nightArming = Boolean(this.config.armingModes[key].nightArming);
this.armingModes[key].noEntryDelay = Boolean(this.config.armingModes[key].noEntryDelay);
this.armingModes[key].silentArming = Boolean(this.config.armingModes[key].silentArming);
}
}

and

switch (value) {
case hapCharacteristic.SecuritySystemTargetState.STAY_ARM:
method = armStay;
opts.noEntryDelay = this.armingModes.stay.noEntryDelay;
opts.silentArming = this.armingModes.stay.silentArming;
opts.nightArming = this.armingModes.stay.nightArming;
break;
case hapCharacteristic.SecuritySystemTargetState.NIGHT_ARM:
method = armStay;
opts.noEntryDelay = this.armingModes.night.noEntryDelay;
opts.silentArming = this.armingModes.night.silentArming;
opts.nightArming = this.armingModes.night.nightArming;
break;
case hapCharacteristic.SecuritySystemTargetState.AWAY_ARM:
method = armAway;
opts.noEntryDelay = this.armingModes.away.noEntryDelay;
opts.silentArming = this.armingModes.away.silentArming;
opts.nightArming = this.armingModes.away.nightArming;
break;

Plus readme/docs.

I've put a PR together: #138

@DouweM DouweM linked a pull request Nov 29, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants