New Homebridge Plug-in via MakerAPI

Im wondering what I've done wrong here - I've installed homebridge on my Unbuntu 18.04 Plex server and connected it to HomeKit without issues. I installed the HE plugin and I also configured HB to run as a service using PM2, again all good as it still shows as a running hub in HomeKit wit version 1.2.3.

However, none of my HE devices show up in HK despite me enabling a bunch of them in the Maker API.

Any ideas?

PS, im running node v12.18.4

Update: I've ditched PM2 and have switched to running it as a pure service including the Homebridge web console.

I've deleted and recreated my HB hub in HK and it looks good. still no devices tho despite the HE plugin showing as installed.

Double check your IP address in the config file, also if your using a appleTV as your homekit hub try rebooting it.
Are you using any other Homebridge plug-inā€™s? Do they work?

1 Like

I've just discovered that the config.json file is not in the ~/.homebridge directory as per the 1st post, but in the /var/lib/homebridge - I have a sneaking suspicion that once I update this I'll be good to go.

1 Like

Ok sorted and devices are now coming across from HE.

It does help if you edit the correct file - It also helps if you realise HomeBridge has it's own config editor and you dont suck at JSON syntax! :man_facepalming:

Now I just need to figure out how to remove the "Study" room prefix from every device?

1 Like

Huzzah, I'm now fully up and running, and now with presence detection too!

Did you figure out how to do this?

Did you try just editing the name in the iOS Home app? That will change the name you see in iOS, but does not affect the Hubitat name.

Yes, I just needed to move all the devices into their appropriate rooms - by default it put everything in the "Study" room as that was where I said the HB hub was.

As above, it was just prefixing every device with the room name "Study".

I have a lot of virtual devices that don't really belong in a "room", so I'm trying to figure out the best way to do this.

For now I created a "control" room, where I put these in, but that's a weird hack and I hate everything saying "control" and I don't have the time (errr desire...) to go edit every single one and all future ones.

Just rename it to ā€œvirtual sensorsā€ and itā€™ll look more logical.

1 Like

Exactly what I did :grinning:

1 Like

Sweet! :sunglasses:

1 Like

Does anybody knows why the temperatures from hubitat are converted from C to F in homebridge? Both hubitat hub and homekit hub are set to C. The temperatures are displayed correctly in hubitat, but are converted in homebridge and than transffered incorrectly to homekit.

In the Homebridge config file there is a setting in the "platform": "Hubitat-MakerAPI", section; "temperature_unit": "F",
Have you checked to see if that is set correctly?

As long as Hubitat is set to C and it shows the correct values both in devices and dashboards, and Homebridge is set also to C and it shows the correct value for the CPU temp, it think it should be set to C. I have also tried setting it to F, it displays the converted values in Homebridge interface, but on HomeKit the values are still incorrect.

I found a partial fix thanks to a user on FB support group. I have set the Hubitat Hub to F, and the values for these sensors are now reported correctly both in Homebridge and HomeKit, but are no longer displayed in C in the dashboard.

The sensors are from Samsung SmartThings (Motion and MultiSensor).

I also have Tado Smart Thermostats and the values have not changed. And the fix is not the proper one. So i guess there is a problem with the Homebridge MakerAPI. It should not convert the temperature from C to F.

Later edit: It does not seem to be related to the SmartThings sensors. Same thing happens to Tado Smart Thermostats (homebridge / homekit)

SOLVED

You need to add the following line in homebridge config:
"platform": "Hubitat-MakerAPI",
...
"temperature_unit": "C",
....

temperature_unit Optional
Default to F
Ability to configure between Celsius and Fahrenheit. Possible values: "F" or "C"

The other temp_unit parameter is only for the web interface.

"platforms": [
{
"name": "Config",
"port": 8581,
"auth": "form",
"theme": "dark-mode",
"tempUnits": "c",
"lang": "auto",
"sudo": true,
"platform": "config"
},

Hello, I was wondering if there is a universal way to remove the battery reporting in Homebridge/Homekit as none of my smart devices can accurately report their battery level anymore. Its just wasted screen space on my Home app and the OCD in me really wants to go change out the batteries...which may or may not have happened multiple times this last weekend. :woozy_face:

You can exclude the battery attribute in your config.json file, but youā€™ll have to do it by device. In the example below the ā€œ169ā€ is the device id.

"excluded_attributes": {
"169": [
"battery"
]
}

2 Likes

I've run into a problem with the logger constructor for winston-logger and other issues:

10/19/2020, 2:22:27 PM Error loading plugin "homebridge-hubitat-makerapi".
10/19/2020, 2:22:28 PM TypeError: winston.Logger is not a constructor
at new Logger (/home/hoobs/.hoobs/node_modules/homebridge-hubitat-makerapi/lib/Logger.js:91:17)
at Object. (/home/hoobs/.hoobs/node_modules/homebridge-hubitat-makerapi/lib/Logger.js:40:12)
at Module._compile (internal/modules/cjs/loader.js:1133:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1153:10)
at Module.load (internal/modules/cjs/loader.js:977:32)
at Function.Module._load (internal/modules/cjs/loader.js:877:14)
at Module.require (internal/modules/cjs/loader.js:1019:19)
at require (internal/modules/cjs/helpers.js:77:18)
at Object. (/home/hoobs/.hoobs/node_modules/homebridge-hubitat-makerapi/index.js:24:16)
at Module._compile (internal/modules/cjs/loader.js:1133:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1153:10)
at Module.load (internal/modules/cjs/loader.js:977:32)
at Function.Module._load (internal/modules/cjs/loader.js:877:14)
at Module.require (internal/modules/cjs/loader.js:1019:19)
at require (internal/modules/cjs/helpers.js:77:18)
at Plugin.load (/usr/local/lib/node_modules/@hoobs/hoobs/bridge/plugin.js:44:35)
10/19/2020, 2:22:28 PM Loaded plugin "homebridge-smartthings-v2".
10/19/2020, 2:22:28 PM [SmartThings-v2] SmartThings-v2 Plugin is not Configured | Skipping...
10/19/2020, 2:22:28 PM The requested platform "Hubitat-MakerAPI" was not registered by any plugin.
10/19/2020, 2:22:28 PM Your config.json is requesting the platform "Hubitat-MakerAPI" which has not been published by any installed plugins.
10/19/2020, 2:22:28 PM TypeError: Cannot read property 'indexOf' of undefined
at API.platform (/usr/local/lib/node_modules/@hoobs/hoobs/bridge/api.js:114:18)
at Server.loadPlatforms (/usr/local/lib/node_modules/@hoobs/hoobs/bridge/server.js:277:35)
at Server.run (/usr/local/lib/node_modules/@hoobs/hoobs/bridge/server.js:86:18)
at module.exports (/usr/local/lib/node_modules/@hoobs/hoobs/bridge/cli.js:84:12)
at Object. (/usr/local/lib/node_modules/@hoobs/hoobs/bin/hoobs:95:81)
at Module._compile (internal/modules/cjs/loader.js:1133:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1153:10)
at Module.load (internal/modules/cjs/loader.js:977:32)
at Function.Module._load (internal/modules/cjs/loader.js:877:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:74:12)
at internal/main/run_main_module.js:18:47