New Homebridge Plug-in via MakerAPI

I figured it out. I had a 6 after the url to the hub. Looks like th eboard put it there to show how many times the link was clicked? (It's a 7 now...)

Dropped that and got past that error.

Now to see if the rest works.

Thank you.

Does this work with the latest build of Homebridge v 0.4.49? I ran the update a couple of days ago and I discovered all of my homebridge devices say updating now.

EDIT: Nevermind - this was not a hubitat issue but had to do with a Dyson Fan plug-in that I use in Homebridge. One of the fans had been unplugged that that threw homebridge into an updating state. I plugged it in and Bam, we're back :slight_smile:

Everything has been working great. Have 1 issue with my Hampton bay fan controller. The fan always says it’s running when it’s not. If I turn it off via HomeKit it will show running again in a couple seconds. Pretty sure this was working correctly last version. Anyone else experiencing this?

I have also noticed there is no off event in the logs.

I just converted over from tonesto7's plugin and nearly everything is working great. I'm seeing the same issue as black01gt: "Off" events from the Hampton Bay fan controller do not appear to be working.

@jerias.mitchell and @black01gt, sorry for the delay, it has been a bit crazy.

I want to take a look at your hampton bay fan controller. Can one of you guys give me the MakerAPI response for the command:

http://[YOURHUBIP]/apps/api/[APPID]/devices/[DEVICEID]?access_token=[YOURACCESSTOKEN]

You can open that URL just a browser (replace the placeholders though) and copy the response. This way I can replicate your issue

{"id":"295","name":"Hampton Bay Zigbee Fan Controller","label":"Dining Room Fan Controller","attributes":[{"name":"level","currentValue":100,"dataType":"NUMBER"},{"name":"speed","currentValue":"off","dataType":"ENUM","values":["low","medium-low","medium","medium-high","high","on","off","auto"]},{"name":"switch","currentValue":"off","dataType":"ENUM","values":["on","off"]},{"name":"switch","currentValue":"off","dataType":"ENUM","values":["on","off"]}],"capabilities":["Switch",{"attributes":[{"name":"switch","dataType":null}]},"Configuration","SwitchLevel",{"attributes":[{"name":"level","dataType":null}]},"Refresh","Actuator","Light",{"attributes":[{"name":"switch","dataType":null}]},"FanControl",{"attributes":[{"name":"speed","dataType":null}]},"ChangeLevel"],"commands":["configure","cycleSpeed","off","off","on","on","refresh","setLevel","setSpeed","startLevelChange","stopLevelChange"]}

1 Like

Ok, I just published a new version that fixes the issue with the Hampton Bay Fan Controller and also fixes an issue with water valves

Please update your plugin

2 Likes

I've updated to the latest version (0.2.9), however, the behavior is still the same. I've tried using both the parent device and the fan-only child device with the same result.

Parent device info:

{"id":"107","name":"Living Room Fan Controller","label":"Living Room Fan Controller","attributes":[{"name":"level","currentValue":20,"dataType":"NUMBER"},{"name":"speed","currentValue":"off","dataType":"ENUM","values":["low","medium-low","medium","medium-high","high","on","off","auto"]},{"name":"switch","currentValue":"off","dataType":"ENUM","values":["on","off"]},{"name":"switch","currentValue":"off","dataType":"ENUM","values":["on","off"]}],"capabilities":["Switch",{"attributes":[{"name":"switch","dataType":null}]},"Configuration","SwitchLevel",{"attributes":[{"name":"level","dataType":null}]},"Refresh","Actuator","Light",{"attributes":[{"name":"switch","dataType":null}]},"FanControl",{"attributes":[{"name":"speed","dataType":null}]},"ChangeLevel"],"commands":["configure","cycleSpeed","off","off","on","on","refresh","setLevel","setSpeed","startLevelChange","stopLevelChange"]}

Child device info:

{"id":"108","name":"Hampton Bay Fan Component","label":"Living Room Fan","attributes":[{"name":"level","currentValue":75,"dataType":"NUMBER"},{"name":"speed","currentValue":"off","dataType":"ENUM","values":["low","medium-low","medium","medium-high","high","on","off","auto"]},{"name":"switch","currentValue":"off","dataType":"ENUM","values":["on","off"]}],"capabilities":["Switch",{"attributes":[{"name":"switch","dataType":null}]},"SwitchLevel",{"attributes":[{"name":"level","dataType":null}]},"Refresh","Actuator","FanControl",{"attributes":[{"name":"speed","dataType":null}]}],"commands":["cycleSpeed","off","on","refresh","setLevel","setSpeed"]}

Here are the events when the fan is turned "off" from the device page (this is the child device):

{"device_id":"108","label":"Living Room Fan","name":"switch","value":"off","date":"2019-05-28T22:09:01+0000","isStateChange":null,"source":"DEVICE"},{"device_id":"108","label":"Living Room Fan","name":"speed","value":"off","date":"2019-05-28T22:09:01+0000","isStateChange":null,"source":"DEVICE"}

Let me know if I can provide any further debug information.

Do you see any error messages in Hubitat? I can only simulate it with a virtual driver and in that case it worked

I do not see any errors related to the fan or MakerAPI.

I've noticed that when the fan is in the "off" state, the level still has a value that matches what's seen in the Home app:

Current States

  • level : 25
  • speed : off
  • switch : off

Also, the "off" event does not show up in the Homebridge logs, but other events from the fan device do.

I see what the issue is!!!!!! The switch state of the fan component is off but the level is set to 75. Interesting, this is inconsistent to other fan implementations.... Let me see how I can address that without breaking the other fans..

I just saw that too in your JSON. The off event doesn't show since I am listening to the level value as all other fans set it to 0 when a fan gets turned off. The log only shows the events that I actually process, otherwise you would see too much stuff in the log

On more question, when the fan is running (at any level) and you set the level to 0, will the switch state be set to off? Or does the driver keep it on?

If I set the Level to "0", the Speed and Switch state are set to "off", however, the Level is still the previous value (not 0).

Looks 'normal' to me...

14%20PM

I set the fan to 100% via Homekit's slider, then clicked to the side ot get back to just the tile view and clicked the tile to set it to off.

speed 100% & off

14%20PM

same with setting it to any speed, which 'detents' to an enumerated speed, and then click the tile to off

75% off

:stuck_out_tongue_winking_eye::crazy_face::lying_face::shushing_face:

my examples are using the HubConnect version, but I was under the impression a lot of this stuff is common on the Homebridge side.

Alright, I published a new version for the MakerAPI plugin. Give it try please.

Getting the same on 2.10