All Projects → tonesto7 → Homebridge Hubitat Tonesto7

tonesto7 / Homebridge Hubitat Tonesto7

Hubitat Homebridge Plugin

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Homebridge Hubitat Tonesto7

homebridge-wink3
Homebridge plugin for wink.com
Stars: ✭ 53 (+17.78%)
Mutual labels:  homebridge, homebridge-plugin, homekit
Homebridge Govee
Homebridge plugin to control Govee devices supported by the official Govee API.
Stars: ✭ 33 (-26.67%)
Mutual labels:  homebridge, homekit, homebridge-plugin
homebridge-freeathome
Platform Plugin to manage free@home accessories via HomeBridge
Stars: ✭ 50 (+11.11%)
Mutual labels:  homebridge, homebridge-plugin, homekit
Homebridge Unifi Protect
📹 Complete HomeKit integration for UniFi Protect with full support for most features including autoconfiguration, motion detection, and multiple controllers: https://homebridge.io
Stars: ✭ 335 (+644.44%)
Mutual labels:  homebridge, homekit, homebridge-plugin
HomeKit-Bridge
Enabled HomeKit integration via Homebridge for Indigo Home Automation
Stars: ✭ 43 (-4.44%)
Mutual labels:  homebridge, homebridge-plugin, homekit
homebridge-blinds-cmd
🌅 Homebridge plugin to enable window blinds to be controlled by executing a command line.
Stars: ✭ 14 (-68.89%)
Mutual labels:  homebridge, homebridge-plugin, homekit
Homebridge Tplink Smarthome
TP-Link Smarthome Plugin for Homebridge
Stars: ✭ 277 (+515.56%)
Mutual labels:  homebridge, homekit, homebridge-plugin
homebridge-plex-sensors
Homebridge Sensors for Plex - a plugin for Homebridge to adds sensors triggered by Plex playbacks.
Stars: ✭ 110 (+144.44%)
Mutual labels:  homebridge, homebridge-plugin, homekit
homebridge-ranger
A HomeKit range extender for Bluetooth Low Energy (BLE) accessories.
Stars: ✭ 65 (+44.44%)
Mutual labels:  homebridge, homebridge-plugin, homekit
homebridge-homeconnect
Home Connect home appliances plugin for Homebridge
Stars: ✭ 70 (+55.56%)
Mutual labels:  homebridge, homebridge-plugin, homekit
homebridge-securitysystem
Homebridge plugin that creates a security system accessory that can be triggered by HomeKit sensors.
Stars: ✭ 114 (+153.33%)
Mutual labels:  homebridge, homebridge-plugin, homekit
homebridge-konnected
A Homebridge plugin for Konnected Alarm Panel devices
Stars: ✭ 25 (-44.44%)
Mutual labels:  homebridge, homebridge-plugin, homekit
homebridge-simplisafe3
A complete Homebridge plugin for SimpliSafe 3.
Stars: ✭ 82 (+82.22%)
Mutual labels:  homebridge, homebridge-plugin, homekit
homebridge-yeelight-platform
Homebridge plugin for Yeelight Lights supporting Scenes/Moods/Color Flow/Custom Presets/Music Flow/Night Mode
Stars: ✭ 53 (+17.78%)
Mutual labels:  homebridge, homebridge-plugin, homekit
homebridge-deebot
Homebridge plugin to integrate ECOVACS Deebot devices into HomeKit.
Stars: ✭ 39 (-13.33%)
Mutual labels:  homebridge, homebridge-plugin, homekit
awesome-homebridge
Popular list of Homebridge Plugins
Stars: ✭ 106 (+135.56%)
Mutual labels:  homebridge, homebridge-plugin, homekit
AVPlayerItemHomeOutput
Coordinate the output of content associated with your HomeKit lightbulbs. #Ambilight
Stars: ✭ 38 (-15.56%)
Mutual labels:  homebridge, homebridge-plugin, homekit
homebridge-eveatmo
Homebridge plugin which adds a Netatmo weatherstation as HomeKit device and tries to act like Elgato Eve Room/Weather
Stars: ✭ 63 (+40%)
Mutual labels:  homebridge, homebridge-plugin, homekit
homebridge-node-alarm-dot-com
Alarm.com plugin for Homebridge using Node.js
Stars: ✭ 52 (+15.56%)
Mutual labels:  homebridge, homebridge-plugin, homekit
homebridge-dyson-fan
A Homebridge plugin for controlling a Dyson fan.
Stars: ✭ 17 (-62.22%)
Mutual labels:  homebridge, homebridge-plugin, homekit

homebridge-hubitat-tonesto7

verified-by-homebridge npm npm npm GitHub repo size

GitHub issues GitHub pull requests

CodeFactor Grade Known Vulnerabilities

GitHub Workflow Status (branch)

Donate

About

V2 of this plugin is a complete rewrite of the homebridge-hubitat-tonesto7 plugin using modern Javascript structure with classes, promises, and arrow functions.

GitHub tag (latest SemVer)

Credits

Big thanks for @Areson for his help/motivation in rewriting this. Another shout out to @nh.schotfam for your help on the optimizations for hubitat.

I also wanted to mention the following projects I referenced for inspiration for a few minor items and fixes:

Change Log:

Hubitat App:

Homebridge Plugin:

Direct Updates from Hubitat

  • Device/location events are almost real-time.
  • This option allows the hub to send updates directly to your homebridge-hubitat-tonesto7 installation.
  • The hub must be able to send an http packet to your device so make sure to allow incoming traffic on the applicable port.
  • The port used for this can be configured by the direct_port setting and defaults to 8000.
  • The program will attempt to determine your IP address automatically, but that can be overridden by direct_ip which is useful if you have multiple addresses.
  • The plugin and hubitat will continue to function when you lose internet (with the exception of controlling any cloud based devices).

When properly setup, you should see something like this in your Homebridge startup immediately after the PIN:

[11/25/2019, 4:44:46 PM] [Hubitat-v2] Devices to Remove: (0) []
[11/25/2019, 4:44:46 PM] [Hubitat-v2] Devices to Update: (40)
[11/25/2019, 4:44:46 PM] [Hubitat-v2] Devices to Create: (0) []
[11/25/2019, 4:44:46 PM] [Hubitat-v2] Total Initialization Time: (2 seconds)
[11/25/2019, 4:44:46 PM] [Hubitat-v2] Unknown Capabilities: ["Power Source"]
[11/25/2019, 4:44:46 PM] [Hubitat-v2] Hubitat DeviceCache Size: (40)
[11/25/2019, 4:44:46 PM] [Hubitat-v2] WebServer Initiated...
[11/25/2019, 4:44:46 PM] [Hubitat-v2] Sending StartDirect Request to Hubitat | SendToLocalHub: (false)
[11/25/2019, 4:44:46 PM] [Hubitat-v2] Direct Connect Enabled and Listening on 10.0.0.163:8000

Installation

Installation comes in two parts:

1. Hubitat App Installation

Option 1: Automated Install

Option 2: Import from GitHub URL

  • Open the Hubitat UI in your web browser
  • Click on Apps Code in left navigation panel
  • Click New App on the top right of page
  • Click the Import button:
    • Paste in this URL: https://raw.githubusercontent.com/tonesto7/homebridge-hubitat-tonesto7/master/apps/homebridge-v2.groovy
  • Click the Import button
    • Click OK on the confirmation prompt
  • Click Save and wait for the spining wheel to disappear and the page refreshes
  • Click on the OAUTH button:
    • Click Enable OAuth in Smartapp
    • Click Update at the bottom.
    • (If you are upgrading from a previous version of this project, OAuth will likely already be enabled and you can safely disregard this step)

2. Hubitat App Configuration

  • In the Hubitat UI, click on Apps in the left navigation panel and click Add User App.

  • Select Homebridge v2 from the choices on the list.

  • Configuring the App:

    In Define Device Types there are 8 inputs that can be used to force a device to be discovered as a specific type in HomeKit. NOTE: Do not select the same device in more that one input. If you select a device here, do not select that same device in the other device inputs on the previous page.

    For any other devices you would like to add that weren't added in the previous step, just tap on the input next to an appropriate device group and then select each device you would like to use. (The same devices can be selected in any of the Sensor, Switch, Other inputs)

    • There are several categories here because of the way Hubitat assigns capabilities. You might not see your device in one, but might in another.
    • Almost all devices contain the Refresh capability and are under the "Other Devices" group.
    • Some sensors don't have a refresh and are under the "Sensor Devices" group.
    • Some devices, mainly Virtual Switches, only have the Switch Capability and are in the "Switch Devices" group.

    If you select the same device in multiple categories, it will only be shown once in HomeKit. You can safely check them all in all groups, aside from the NOTICE above.

  • Tap Done

  • Tap Done You are finished with the App configuration!

3. Homebridge Plugin Installation:

NOTICE: I highly recommend using homebridge-config-ui-x to manage your homebridge instance, plugin and configs. This will allow you to use the web based form to configure this plugin.

  1. Install homebridge using: npm i -g homebridge (For Homebridge Install: Homebridge Instructions)
  2. Install Hubitat plugin using: npm i -g homebridge-hubitat-tonesto7
  3. Update your configuration file using the config generator inside the Hubitat App as the template to copy/paste into platform section of the Homebridge config.json.

Config.json Settings Example

Example of all settings. Not all settings are required. Read the breakdown below.

   {
      "platform": "Hubitat-v2",
      "name": "Hubitat-v2",
      "app_url_local": "http://10.0.0.40/apps/api/",
      "app_url_cloud": "https://cloud.hubitat.com/api/561d981e-f986-4f7f-941d-5d43d1d0e0e1/apps/",
      "app_id": 436,
      "app_platform": "Hubitat",
      "use_cloud": true,
      "access_token": "1888d2bc-7792-1114-9f32-e4724e388a26",
      "communityUserName": "tonesto7",
      "direct_ip": "10.0.0.15",
      "direct_port": 8000,
      "temperature_unit": "F",
      "validateTokenId": false,
      "adaptive_lighting": true,
      "adaptive_lighting_offset": 0,
      "excluded_capabilities": {
         "HUBITAT-DEVICE-ID-1": [
            "Switch",
            "Temperature Measurement"
         ]
      },
      "logConfig": {
         "debug": false,
         "showChanges": true
      }
   }
  • platform & name Required

    This information is used by homebridge to identify the plugin and should be the settings above.

  • app_url_local & app_url_cloud & app_id & access_token Required

    NOTICE: The app_url's in the example will be different for you.

    To get this information, open the installed Hubitat Homebridge V2 App the Hubitat Web UI, and tap on View Configuration Data for Homebridge

  • use_cloud Required | Default: false

    This will enable the plugin to communicate with the hubitat app via the cloud url. (Mostly useful for troubleshooting local communication issues via ports)

  • communityUserName Optional | Default: ''

    Only needed when you are having issues with the plugin and you want me to be able to identify your reported exception errors.

  • direct_ip Optional | Default: 'First available IP on your computer'

    Most installations won't need this, but if for any reason it can't identify your ip address correctly, use this setting to force the IP presented to Hubitat for the hub to send to.

  • direct_port Optional | Default: 8000

    This is the port that the homebridge-hubitat-tonesto7 plugin will listen on for traffic from your hub. Make sure your firewall allows incoming traffic on this port from your Hubitat hub IP address to your HomeBridge instance.

  • temperature_unit Optional | Default: F

    This will allow you to define the temp unit to use. This can also be set in the SmartApp

  • validateTokenId Optional | Default: false

    This forces the plugin to validate the Hubitat app token and location with that defined in the plugin configuration

  • adaptive_lighting Optional | Default: true

    This enables support for bulbs with Color Temp and Brightness to use HomeKit's new Adaptive Lighting features.

  • adaptive_lighting_offset Optional | Default: 0

    Defines a custom temperature adjustment factor. This can be used to define a linear deviation from the HomeKit Controller defined ColorTemperature schedule. For example supplying a value of -10 will reduce the ColorTemperature, which is calculated from the transition schedule, by 10 mired for every change.

  • excluded_capabilities Optional | Default: '{}' (None)

    NOTICE: The Hubitat app offers many inputs to help filter out device capabilities. Only use this if the available inputs don't meet your needs. Specify the Hubitat device by ID and the associated capabilities you want the plugin to ignore. This prevents a Hubitat device creating unwanted or redundant HomeKit accessories.

  • logConfig Optional

    Define log output format options as well as enable the log file output.

    • debug Optional | Default: false

      Enables Debug log output.

    • showChanges Optional | Default: true

    Logs device event changes received from Hubitat.

Frequently Asked Question:

Q: Can this support Axis Blinds? A: Maybe, it can support any device that has the windowShade capability and/or level attributes.

Known Issues:

  • None reported yet...

DONATIONS:

PayPal Donations

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].