Closed SniperStan closed 4 years ago
Interesting thought - but that would imply that the block sensor would need to be shorter so that foot traffic could still pass but a “vehicle” would leave the gate open longer? Maybe you can do the same thing with a wireless keypad and IFTTT?
On Aug 11, 2020, at 1:48 PM, SniperStan notifications@github.com wrote:
I have a MyQ LiftMaster SL3000 Gate Operator, I would love to be able to open it partway(Open then Stop) for foot traffic and yet keep cars out of the property.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/hjdhjd/homebridge-myq2/issues/98, or unsubscribe https://github.com/notifications/unsubscribe-auth/APK2HVQX3RZON66BTVBHVJ3SAGHADANCNFSM4P3MFR2A.
TL;DR this isn’t possible in HomeKit in a meaningful way. Why? HomeKit views garage doors (and gates) as “doors”. And for HomeKit, doors can only have these states:
open - the door is fully open. closed - the door is fully closed. opening - the door is actively opening. closing - the door is actively closing. stopped - door is not moving, and is neither fully open nor fully closed.
From https://developer.apple.com/documentation/homekit/hmcharacteristicvaluedoorstate if you’re bored. :)
It’s not possible, in HomeKit, to open a door to a defined partial amount, say 20% open for example. Compound that with myQ doesn’t provide a mechanism to partially open or close anything. The best you can conceptually do is tell myQ to open a door, and then tell myQ to stop a couple of seconds later. The problem that leads us to is...you have no idea where the door actually is. There’s no reporting back of current position. That’s not to say you can’t do that, but even if you overcome the myQ hurdle, there’s no meaningful UI in HomeKit to do this. That stopped state...there’s no way to request it within the Home app. It’s effectively a read-only state for HomeKit.
Building on that last line...there isn’t a meaningful way in HomeKit to stop a garage door once it’s starting to open or close. HomeKit lets you execute two commands - open and close. STOPPING a garage door (or gate)...solving it would be a hack of sorts. I’d have to create a switch and expose it in HomeKit and you can trigger the switch to make it stop. But the problems it would bring on include some of the considerations above...you will never really know what it’s state is and where it’s at. There’s no way for me to know exactly where the door is when you stopped it.
I empathize with the idea...I just don’t see a feasible way to implement this given the joint constraints of myQ, which doesn’t provide us position information in the first place, and HomeKit which doesn’t provide an intuitive way to just stop a garage door or gate.
You might have to use something like a Sonoff SV with https://github.com/RavenSystem/esp-homekit-devices to emulate a standalone pushbutton. Put a magnetic sensor on the gate, with one magnet at full-closed and another at the point where you want it to stop for foot traffic, and come up with the proper JSON to make the Sonoff module start/stop the gate appropriately. Then you could label it as "Foot Gate" or something like that, as a separate accessory in HomeKit.
@jlg89 That's commitment to the cause! :smile: I get this is a feature some folks want...I'm open to good ideas on how to implement it within the constraints that exist in both myQ and HomeKit.
Put another way: if you can make the myQ app do it on iOS or Android, we can probably figure a way out to do it here.. Thoughts?
In addition to the op's application, I can see a certain utility in being able to open a garage door a certain amount and then stopping it; e.g., some folks leave their garage door "cracked" so their pets can get in/out. The trick is determining the timing between the "open" button push and the "stop" button push--which you can do with the remote or the button on the wall, but not with myQ. There's just no "stop" function, or at least there doesn't seem to be.
@jlg89 I'm not debating the utility of it...I get it. :smile: Here's the thing though...if I implement a timer-based system, where say the garage door (or gate) is stopped after X seconds...you can't rely on it. There is no telling when the myQ API will choose to flake out, or network connectivity is lost, etc. It would have to fail safe before I'd be comfortable pushing a feature like that out.
As I think about it, I can't picture a scenario where it would not fail safe...but before I go down this path, I want to make sure we're not creating problems down the line for users. 😄
I agree--first, do no harm! I don't know how many people would use this feature, and I'm not sure of the best way to implement it on the front end. Should it be integrated into the existing door button, so it makes the HomeKit button work more like the hardware remote (stop the moving door when you hit the button), or should it be published as a separate door accessory (open the door for x seconds and then stop)? Maybe both?
On the config, you'd have a Boolean to enable the basic "DoorStop" option, another Boolean for publishing a separate "HalfDoor" accessory. For the separate accessory, you'd also have a timer that would have to be determined by trial & error by the user (default to 7s?), and maybe an optional custom name for the new accessory.
Seems like a lot of coding. I'm not requesting this feature, I just can't help thinking through it. 😁
@jlg89 I have a good sense of how to implement it, that’s not what I was asking...coding is not the problem here. :smile: I’m trying to mentally walk through whether it would fail safe. This is a pretty minor amount of development work in the grand scheme of things...that’s not the concern.
I’m going to noodle on it. Thanks.
The IOS app has a "STOPPED" State does the API allow this to be read or does it just show it as "OPEN"? if you added a STOP command that the timing could be adjusted by the end user this could accomplish this. and if you can read the STOPPED state then if there is a network error an you recieve OPEN status instead of STOPPED you could close and then repeat the cycle OPEN DELAY VARIABLE( ) STOP. Just my thoughts.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
This issue is locked to prevent necroposting on closed issues. Please create a new issue for related support requests, bug reports, or feature suggestions.
I have a MyQ LiftMaster SL3000 Gate Operator, I would love to be able to open it partway(Open then Stop) for foot traffic and yet keep cars out of the property.