New Homebridge Plug-in via MakerAPI

Dan thank you very much for this, I have a issue I hope you can help me with. I have a driver that is passing the status of a garage door the attributes "closed", "open", "closing" and "opening" work fine but when I pass "stopped" it does not work. I noticed that Hubitat does not have attribute "stopped" but has "unknown".

{
definition (name: "Virtual Garage Door2", namespace: "Jason", author: "Jason Brown") {
capability "Actuator"
capability "Door Control"
capability "Garage Door Control"

	command "opening"
	command "closing"
	command "stopped"
}

}
def open() {
log.debug "open()"
sendEvent(name: "door", value: "open")
}

def opening() {
log.debug "opening()"
sendEvent(name: "door", value: "opening")
}

def close() {
log.debug "close()"
sendEvent(name: "door", value: "closed")
}

def closing() {
log.debug "closing()"
sendEvent(name: "door", value: "closing")
}

def stopped() {
log.debug "stopped()"
sendEvent(name: "door", value: "stopped")
}

I can shed some light....

SmartThings and Hubitat's documentation for Garage Door devices is:

15%20PM

"Stop" isn't part of the specification. It would be a vendor specific "enhancement" in my opinion.

@JBrown: When you send this "stopped" event, does the "door" variable changed to "stopped" for the device? Homekit supports it, so I could add it, right now it is not implemented

1 Like

The stopped event gets sent to homebridge, but homebridge freezes until I send a different event i.e. "open".

Give me a few minutes

No rush i’m Sure you have better things to do.

I just added the state stopped, however, the Home App doesn't react to it. I am going to do some digging to see if HomeKit actually supports it or not

1 Like

I believe there is something for obstruction detected.

https://developer.apple.com/documentation/homekit/hmcharacteristictypeobstructiondetected

hmmm, yes, that is a different flag than the door state though.

The documentation says:

case stopped

The door is not moving, and is neither fully open nor fully closed.

So I should be able to set it without having an obstruction.....

1 Like

How could I set that flag? I’m just trying to get a fifth state. I’m controlling my garage door opener with an esp8266 using two switches for open/close indications. If the door does not open/close in 30 seconds i’m considering it stuck.

I think I have to separate the Target Door State and Current Door State to get that working. Either way, it is a bit more than a simple one liner (as I originally thought). I am going to take a deeper look at it tomorrow. We should be able to come up with something. My first idea is to use the "unknown" state that the specification offers, this way I would stay compatible with the platform specification.

1 Like

Hey,

I just uploaded a new version of the plugin. The Garage Door Tile will now show an ! when the status of the door is unknown / stopped.

Looks like this:

image

Give it a try

3 Likes

Thank you Dan.

This is awesome! Thank you @dan.t for all of your work on this!!!

I’ve got it running on a Pi with DietPi that’s also running my PiHole and I’m very impressed. I have it set to auto run on Pi boot via systemctl. I’m not a dev so it took me a few hours to figure out how to get it all set up, but that is my own fault. I’m still learning...

Thank you, again!!! WAF went up a few notches due to this :slight_smile:

1 Like

Will the HubConnect version update as well?

@dan.t I am about half way through reading this thread but thought I would as a question before I look at implementing this. I have no real interest in seeing my HE devices in the Home app but I would like a thermostat that I have in Home to show up in HE. Is that something this app is able to do?

Will make an update to that tomorrow

No, it is a one way street. You can add devices from hubitat to the home app but not the other way around

1 Like

OK thanks.