New Homebridge Plug-in via MakerAPI

This helped a lot! I now have 3 instances running with lots of room for expansion.

Thanks for putting this together!!

1 Like

Just feeling stable and adventurous enough to try this on my hub. A question, in addition to my question below, should I uninstall homebridge-hubitat-tonesto7? I will not be using it again, so if it's not needed for this, I'd rather remove it.

Where do I start looking for the config.json file for homebridge-hubitat-makerapi?

On my MacOS install, I normally I find config.json files in /usr/local/lib/node_modules/[node modules name]
My homebridge config.json file is at the MacOS user root because it's "special" :wink:
However, I'm not finding the config.json file for the maker api.

Where are you finding it in Raspbian?

This snippet from the Homebridge GitHub readme page shows where the config.json file should be

NOTE : Your config.json file MUST be inside of .homebridge , which is inside of your home folder. On macOS and Linux, the full path for your config.json would be ~/.homebridge/config.json . Any error messages will contain the exact path where your config is expected to be found.

It is hidden away in your homepath in ~/.homebridge/config.json
You can remove the homebridge-hubitat-tonesto7 plugin and you can also remove the app from your hub. All that is needed on your hub is MakerAPI and on your Mac is the homebridge-hubitat-makerapi plugin

1 Like

Duh, thanks @jon1 and @dan.t. I for some reason was treating it as if it was a separate config.json file like my Google Assistant Relay and Insteon-Server instances.

Sometimes I'm just as guilty of asking questions before thinking. Appreciate the gentle wrap on my noggin.

You can also 'force' the file location...

homebridge -U /someplace/else/config.json

In fact, I'd council you to use it even for the first install, because it sure makes creating the 2nd instance easier.

for my two instances:

$ jobs
[1]-  Running                 homebridge -U .homebridge_tcc &
[2]+  Running                 homebridge -U .homebridge &
1 Like

So sorry for asking what might be obvious to everyone that's been following this, but I've turned away from HomeKit and I'm only just ready to try this new version as everyone has been saying how successful it's been.

What's the reason for running multiple instances?

One homebridge instance can only handle up to 100 devices. You can run several instances to expose more devices.

1 Like

I maxed out at 147 devices on a single instance. I now have over 200 accessories running across three instances. I've only had these up for 8 days now but would highly recommend this to anyone who wants to use Home as their primary Hubitat app on iOS.

2 Likes

Tried this too

Starts, but then craps out and I'm back at the prompt. Any ideas? I'm running node 6.10.2

[6/7/2019, 8:12:39 PM] [Hubitat hhm:0.2.12] Configuration of cached accessories not done, wait for a bit... 16

[6/7/2019, 8:12:39 PM] Homebridge is running on port 45525.

[6/7/2019, 8:12:39 PM] [Hubitat hhm:0.2.12] latest version on npmjs is 0.2.12

[6/7/2019, 8:12:39 PM] [Hubitat hhm:0.2.12] your version of the plugin is up2date

[6/7/2019, 8:12:39 PM] [Hubitat hhm:0.2.12] Device Added (Cache) - Name Arm iSmart Alarm, ID 3508

[6/7/2019, 8:12:39 PM] [Hubitat hhm:0.2.12] Device Added (Cache) - Name HE Overhead, ID 1430

[6/7/2019, 8:12:39 PM] [Hubitat hhm:0.2.12] Device Added (Cache) - Name HE Kitchen Light, ID 581

[6/7/2019, 8:12:40 PM] [Hubitat hhm:0.2.12] Device Added (Cache) - Name Water Leak, ID 645

[6/7/2019, 8:12:40 PM] [Hubitat hhm:0.2.12] Device Added (Cache) - Name Water Heater, ID 167

[6/7/2019, 8:12:40 PM] [Hubitat hhm:0.2.12] Device Added (Cache) - Name HE Porch light, ID 1429

[6/7/2019, 8:12:40 PM] [Hubitat hhm:0.2.12] Device Added (Cache) - Name Dining Room OFF, ID 185

[6/7/2019, 8:12:40 PM] [Hubitat hhm:0.2.12] Device Added (Cache) - Name HE Toilet, ID 571

[6/7/2019, 8:12:40 PM] [Hubitat hhm:0.2.12] Device Added (Cache) - Name Dining Room, ID 169

[6/7/2019, 8:12:40 PM] [Hubitat hhm:0.2.12] Device Added (Cache) - Name HE Table Lamp, ID 1425

[6/7/2019, 8:12:40 PM] [Hubitat hhm:0.2.12] Device Added (Cache) - Name Wall Light, ID 317

[6/7/2019, 8:12:40 PM] [Hubitat hhm:0.2.12] Device Added (Cache) - Name Hall Light, ID 2416

[6/7/2019, 8:12:40 PM] [Hubitat hhm:0.2.12] Device Added (Cache) - Name HE Floor Lamp, ID 1431

[6/7/2019, 8:12:40 PM] [Hubitat hhm:0.2.12] Device Added (Cache) - Name HE Deck Light, ID 1428

[6/7/2019, 8:12:40 PM] [Hubitat hhm:0.2.12] Device Added (Cache) - Name Water Main Sensor, ID 2743

[6/7/2019, 8:12:40 PM] [Hubitat hhm:0.2.12] Device Added (Cache) - Name Lantern, ID 3248

[6/7/2019, 8:12:40 PM] **TypeError: "list" argument must be an Array of Buffers**

**at Function.Buffer.concat (buffer.js:315:13)**

**at Object.encode (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/util/tlv.js:26:35)**

**at Object.encode (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/util/tlv.js:51:39)**

**at HAPServer._handlePairVerifyStepOne (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/HAPServer.js:543:21)**

**at HAPServer._handlePairVerify (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/HAPServer.js:505:10)**

**at HAPServer.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/HAPServer.js:209:39)**

**at emitNone (events.js:86:13)**

**at IncomingMessage.emit (events.js:185:7)**

**at endReadableNT (_stream_readable.js:974:12)**

**at _combinedTickCallback (internal/process/next_tick.js:80:11)**

[6/7/2019, 8:12:40 PM] [Hubitat hhm:0.2.12] Fetching Hubitat-MakerAPI devices. This can take a while depending on the number of devices are configured!

[6/7/2019, 8:12:40 PM] [Hubitat hhm:0.2.12] Refreshing All Device Data

[6/7/2019, 8:12:40 PM] Got SIGTERM, shutting down Homebridge...

[6/7/2019, 8:12:40 PM] **TypeError: "list" argument must be an Array of Buffers**

**at Function.Buffer.concat (buffer.js:315:13)**

**at Object.encode (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/util/tlv.js:26:35)**

**at Object.encode (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/util/tlv.js:51:39)**

**at HAPServer._handlePairVerifyStepOne (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/HAPServer.js:543:21)**

**at HAPServer._handlePairVerify (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/HAPServer.js:505:10)**

**at HAPServer.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/HAPServer.js:209:39)**

**at emitNone (events.js:86:13)**

**at IncomingMessage.emit (events.js:185:7)**

**at endReadableNT (_stream_readable.js:974:12)**

**at _combinedTickCallback (internal/process/next_tick.js:80:11)**

[6/7/2019, 8:12:40 PM] [Hubitat hhm:0.2.12] Received All Device Data

[6/7/2019, 8:12:40 PM] [Hubitat hhm:0.2.12] attempt connection to ws://192.168.0.113/eventsocket

[6/7/2019, 8:12:40 PM] [Hubitat hhm:0.2.12] connection to ws://192.168.0.113/eventsocket established

[6/7/2019, 8:12:45 PM] [Hubitat hhm:0.2.12] Device Added - Name Water Main, ID 2897

Homebridges-MacBook:~ homebridge$

I'm afraid your errors are deep into @dan.t code... he will probably read and respond soon'ish.

re: node version...

me:
$ node --version
v10.13.0

Can you post your config.json once?

Edit: actually, I think your node version is too old. I have tried version 8 but 6 is really far behind

I suspected that might be the issue. I’ll have to address this later. I have a newer Mac that can run high sierra, but I don’t have it ready yet. If I remember right, that’s the newest node version I can run with this version of Xcode on El Capitan.

I struggled with homebridge install on a raspberry pi. I found a ready to go package by HOOBS.org. Menu driven, alerts me if there is an update from NPM, makes everything easy...at least for someone with my limited skill set.

Hoobs does work. Wired, not wireless.

In order to experiment, I put it on one of my wireless rPI. You'd want a 'real' Homebridge hub to be wired, of course. Once I did that, it worked as advertised.

No problem with a pi, but I prefer a Pi Zero W for the size and price, which is fine for a single task. I like having an easy interface with my MacBook, and it’s fast, plus offers simple to use secure remote access.

I had one working on a pi zero, wireless... It looks to be a simplified docker container setup, neatly packaged. I don't know if one could run multiple instances on it though...

Upgraded system and MacOS to 10.13.6, Xcode to 9.4.1 and Node.js to 8.11.3 (for compatibility with Google Assistant Relay). All good now!

Amazing how easily it just worked again. Very nice. Love the animated fan icon.
Thanks for all your hard work, and thank you to all the testers as well.

3 Likes

For anyone running iOS 13 - one of the changes to the Home App is that it combines devices with multiple attributes to one tile.
Is anyone running the beta that can confirm that a device like a motion sensor running @dan.t 's Homebridge plugin shows up as only one device with combined attributes?
This will make setting up Homebridge a lot easier if we didn't have to exclude the attributes of every single device.
( see iOS 13 Includes Updated Home Interface, Support for AirPlay 2 Devices in Automations - MacRumors for details of what I'm talking about.)

1 Like

I’m running IOS 13 and it did combine my smoke and CO detector. I did have to exclude the switch for my Water shutoff. It was defaulting to the switch icon. Once disabled I got the water faucet icon. Also had to disable sensor for my garage door to get the garage door icon. Everything is working pretty good so far. Few issues with labels not showing up and switche size not being proportionate.

1 Like