New Homebridge Plug-in via MakerAPI

You should be able to just exclude the thermostat's battery attribute in your config.json file.

Something like this should work:

"excluded_attributes": {
"deviceID": [
"battery"
]

There is no battery attribute.... for some reason iOS still shows him the warning so I implemented setting it to set it to ok if it is a thermostat and no battery attribute being available...

1 Like

Just to make sure, you are on 0.4.6 right?

Yes I confirmed 0.4.6

Ok, do me a favor, open a browser and go to:

http://Homebridge-IP:20010/

Click the “Dump attributes” button and then the “Download Log File” Button and send me the log file. I am going to PM you an email address.

got your log file, thank you! I am posting here so if someone else goes through the same they can see the record of our conversation.

You log file is very interesting..... I can see that both of your thermostats report a battery level of 0

[11/16/2019, 8:29:52 AM] [Hubitat hhm:0.4.6] ATTRIBUTE: battery DEVICEID: 3 VALUE: 0
[11/16/2019, 8:29:52 AM] [Hubitat hhm:0.4.6] ATTRIBUTE: battery DEVICEID: 66 VALUE: 0

Even though the screenshot you showed me didn't show a battery value. The only explanation I have for this is that the driver says it is has the capability for Battery reporting but no event has occurred yet.

Can you tell what driver you are using for these thermostats? This whole problem might be driver related....

I just used the "Generic Z-Wave Thermostat" driver. I haven't had much luck looking for a specific driver for this thermostat.

Hi Dan, I have experienced an error on 0.3.3 where I lost connection from HE to Homebridge. I have the console errors if you want them. Thought I should try your latest 0.4.6, but it won't install because it says...

npm WARN notsup Unsupported engine for homebridge-hubitat-makerapi@0.4.6: wanted: {"node":">=8.30.0","homebridge":">=0.4.46"} (current: {"node":"8.11.3","npm":"6.12.0"})

npm WARN notsup Not compatible with your version of node/npm: homebridge-hubitat-makerapi@0.4.6

But 8.30.0 does not exist. What build is really needed and is there anything I can do to resolve this on my end, or do I need to wait for you to resolve it on npm?

Sorry, it was 8.6.0 that I wanted to reference.... Not at my computer right now but I will post a new version later...

Anyhow, I can only recommend to keeping your system up 2 date. Given that the latest LTS release is version 12, I can only recommend to upgrade as high as possible :wink:

I need to stay on the lower version of Node.js. for Google Assistant Relay. I’m going to investigate version 3.x of Google Assistant Relay that’s available now and see if it will allow me to go to a higher node version.

Is there a way to expose a device as an Alarm system? I don’t plan on running HSM but I would like to expose a virtual device as an alarm System (that I can arm/disarm from HomeKit) and then write code for functionality. I tried various keypad/alarm drivers and even tried to write my own driver with “Security Keypad” and “Alarm” capabilities, but they all get interpreted as a “Sensor” by HomeKit. Any help appreciated.

Question: did you install node via nvm? You can have several versions of node.js installed on one machine. It is pretty straight forward with nvm. If so, you could run GAR on the old one and use a more current one for Homebridge

No, this is not possible. The alarm system has 4 very distinct states (off, home, away and night) and these don’t translate very well to a different device type.

You could just use a virtual switch and virtual sensor combo that you turn on/off and get a notification via HomeKit when the state changes. That would also allow you to turn it on/off via HomeKit. It all really depends on what you are trying to achieve

Thanks. Let me explain the use case.

I have an existing alarm (Vista 20p) with wired sensors. I integrated it with Hubitat using AD2Pi. It works really well via the AD2Pi drivers/App. I then exposed all sensors to HomeKit via MakerApi (I use HomeKit exclusively for UI). It all works really well and I get near-instant notifications for all the sensors. The only thing I’m missing is the ability to arm/disarm from HomeKit and get “alarm triggered” notifications in HomeKit. I know that if you use HSM, MakerApi gives you a nice dedicated Alarm tile in HomeKit with a slider for different Arm levels, so I wanted to achieve the same thing but without adding HSM into the mix. I guess I can code the integration to HSM, but it’s just an unnecessary middle-man. I would have preferred to have a device I could tap into directly with my code. Hope this makes sense.

P.S. I can write some sort of a driver as well, but it doesn’t appear that there is a suitable set of capabilities for this. Can you share how you achieved the alarm device in HomeKit?

Maybe. It’s been a while. I believe so.

I’ve no idea how to tell it which version to use, but I’ll do some research into it. Might not have been a Homebridge issue after all. I found a broken rule, that had to do with a change I forgot to correct when I swapped contact sensors on my doors.

Why not just use the state change of HSM to trigger virtual switches? A simple RM rule can do this and it will give you the nice control you’re looking for in HomeKit, without having to fully utilize HSM.

Another option might be Nyckleharpa for the keypad.

Again, just using the keypad component to change HSM state, this triggering your virtual switches.

Thanks. Those are good suggestions, and I did consider doing something like this as a last resort. As a developer, I always try to avoid complex integrations. I’d be looking at:

Vista 20p->AD2Pi->Hubitat AD2Pi service->RM->HSM->MakerApi->HomeKit.

My OCD is kicking in strong imagining this many points of failure (neither of which are under my control).

I would much rather have:

Vista 20p->AD2Pi->Hubitat AD2Pi service->(my code)->MakerApi->HomeKit.

And now you understand why I am hesitant to do something “special” or “one off” for what you are tying to achieve ;/) I think @SmartHomePrimer idea of using HSM and reacting to those in Hubitat would be the cleanest solution

Yep totally understand. I wasn’t asking for you to add this feature, I was just wondering if there was something I could do myself to make this work. It doesn’t sound like there is. I think I’ll go with the alternatives suggested above.