Git Product home page Git Product logo

homebridge-config-ui-x's Introduction

npm npm Discord Donate

Supported Languages: ๐Ÿ‡ฌ๐Ÿ‡ง ๐Ÿ‡ฉ๐Ÿ‡ช ๐Ÿ‡ซ๐Ÿ‡ท ๐Ÿ‡ต๐Ÿ‡ฑ ๐Ÿ‡จ๐Ÿ‡ฟ ๐Ÿ‡ท๐Ÿ‡บ ๐Ÿ‡จ๐Ÿ‡ณ ๐Ÿ‡ญ๐Ÿ‡บ ๐Ÿ‡ฏ๐Ÿ‡ต ๐Ÿ‡ช๐Ÿ‡ธ ๐Ÿ‡ณ๐Ÿ‡ฑ ๐Ÿ‡น๐Ÿ‡ท ๐Ÿ‡ฎ๐Ÿ‡น ๐Ÿ‡ง๐Ÿ‡ฌ ๐Ÿ‡ธ๐Ÿ‡ช ๐Ÿ‡ณ๐Ÿ‡ด ๐Ÿ‡ธ๐Ÿ‡ฎ ๐Ÿ‡ต๐Ÿ‡น

Homebridge Config UI X

Homebridge Config UI X is a web based management tool for Homebridge that allows you to manage all aspects of your Homebridge setup.

  • Install and configure Homebridge plugins
  • Edit the Homebridge config.json with advanced JSON syntax checking and structure validation
  • Visual configuration for over 160 plugins (no manual config.json editing required)
  • Monitor your Homebridge server via a fully customisable widget-based dashboard
  • View the Homebridge logs
  • View and control Homebridge accessories
  • Restart Homebridge
  • Backup and Restore your Homebridge instance
  • and more...

Homebridge Config UI X also provides a tool called hb-service which makes it easy to setup Homebridge as a service on Linux/Raspbian, macOS and Windows 10.

Status

Installation Instructions

For detailed instructions on how to setup Homebridge with Homebridge Config UI X as a service see the guides on the wiki:

sudo npm install -g --unsafe-perm homebridge-config-ui-x

Once you have installed and configured the plugin you can access the interface via http://localhost:8080.

The default username is admin and the default password is admin.

Docker users should set the environment variable HOMEBRIDGE_CONFIG_UI=1 to enable the UI. No further manual installation or configuration is required. See wiki for details.

Configuration

Add this to your homebridge config.json file

"platforms": [
    {
      "platform": "config",
      "name": "Config",
      "port": 8080,
      "sudo": false
    }
]

Optional Settings

All config options are listed here.

Accessory Control

The plugin allows you to view and control some types of Homebridge accessories from your web browser.

To enable accessory control you must be running Homebridge in insecure mode:

homebridge -I

Not all accessory types are supported. See this issue for a full list of supported accessory types.

Controlling Multiple Instances

Homebridge Config UI X's Accessory Control feature allows you to control the accessories from multiple instances of Homebridge. To make this work all instances you want to control must have the same PIN, be on the same network, and be running in insecure mode. Your other instances are automatically discovered, however you can blacklist instances you don't want to control using the plugin settings.

Log Viewer Configuration

Homebridge Config UI X allows you to view the homebridge process logs in the browser. These logs can be loaded from a file or from a command.

Logs From File

Example loading logs from a file, change /var/log/homebridge.log to the actual location of your log file:

"platforms": [
    {
      "platform": "config",
      "name": "Config",
      "port": 8080,
      "log": {
        "method": "file",
        "path": "/var/log/homebridge.log"
      }
    }
]

Make sure the user which is running the Homebridge process has the correct permissions to read the log file. You may need to enable the sudo option to avoid permission errors if you are not running Homebridge as root.

Logs From Systemd

If you're using systemd to manage the Homebridge process then you can just set the method to systemd:

"platforms": [
    {
      "platform": "config",
      "name": "Config",
      "port": 8080,
      "restart": "sudo -n systemctl restart homebridge",
      "log": {
        "method": "systemd",
        "service": "homebridge"
      }
    }
]

You may need to enable the sudo option to avoid permission errors if you are not running Homebridge as root.

Logs From Custom Command

The log option can alternatively specify a command to spawn that will stream the logs to the client. This command should stream the logs to stdout:

"platforms": [
    {
      "platform": "config",
      "name": "Config",
      "port": 8080,
      "log": {
        "method": "custom",
        "command": "sudo -n tail -n 100 -f /var/log/homebridge.log"
      }
    }
]

Sudo Mode

Many operations performed by Homebridge Config UI X, such as installing plugins, upgrading Homebridge and viewing the logs can require root permissions. You can run the Homebridge service as root or you can enable the sudo option in the config.

"platforms": [
    {
      "platform": "config",
      "name": "Config",
      "port": 8080,
      "sudo": true
    }
]

When sudo mode is enabled Homebridge Config UI X will use sudo when executing installing, removing or upgrading plugins, viewing the logs using the Logs From File or Logs From Systemd method, and when upgrading Homebridge. It will not be used for Logs From Custom Command or custom restart commands.

Password-less sudo required

For sudo mode to work password-less sudo is required. You can enable password-less sudo by adding this entry to the bottom of your /etc/sudoers file (use visudo to edit the file!):

homebridge    ALL=(ALL) NOPASSWD: ALL

Replace homebridge with the actual user you are running Homebridge as.

Enabling SSL

You can run this plugin over an encrypted HTTPS connection by configuring the ssl options.

"platforms": [
    {
      "platform": "config",
      "name": "Config",
      "port": 8080,
      "ssl": {
        "key": "/path/to/privkey.pem",
        "cert": "/path/to/fullchain.pem"
      }
    }
]

Or if using a PKCS#12 certificate you can setup SSL like this:

"platforms": [
    {
      "platform": "config",
      "name": "Config",
      "port": 8080,
      "ssl": {
        "pfx": "/path/to/cert.pfx",
        "passphrase": "sample"
      }
    }
]

Usage

Status Screen

This shows an overview of your Homebridge system. The dashboard is widget based and completely customisable.

Status

Plugin Screen

This shows you the currently installed plugins and allows you to install, remove and upgrade plugins.

Plugin

You can configure supported plugins using the graphical settings editor, removing the need to manually edit the config.json. Over 165 popular plugins have implimented support for this feature.

Plugin Settings

Configuration Screen

The configuration screen allows you to modify your Homebridge config.json. The built in editor automatically syntax-checks your JSON and makes a backup of your config every time you make a change.

Config

Log Screen

This shows you the Homebridge rolling log. This is helpful for troubleshooting.

Log

Accessories Screen

This shows you the Homebridge accessories for all the Homebridge instances on your network. You can use this to control accessories from a web browser and works well on mobile devices which allows users to control Homebridge from non-Apple devices.

Accessories

Supported Browsers

The following browsers are supported by this plugin:

  • Chrome - latest
  • Firefox - latest
  • Safari - 2 most recent major versions
  • Edge - 2 most recent major versions
  • iOS - 2 most recent major versions

MS Internet Explorer (any version) is not supported!

Supported Node.js and Npm Versions

While this plugin should work on Node.js 8+, only the following versions of Node.js are officially supported:

  • node v10.17.0 or higher
  • npm v6.4.1 or higher

You can check your current versions using these commands:

# check node version
node -v

# check npm version
npm -v

Contributing

Please see CONTRIBUTING.md.

Troubleshooting

1. Errors during installation

Make sure you installed the package with sudo and used the --unsafe-perm flag. Most installation errors can be fixed by removing the plugin and reinstalling:

# cleanup
sudo npm uninstall -g homebridge-config-ui-x

# reinstall
sudo npm install -g --unsafe-perm homebridge-config-ui-x

Make sure you are running supported versions of node and npm.

2. Accessories tab missing

If the Accessories tab is not show then you are not running Homebridge in insecure mode. See the Enabling Accessory Control wiki for details. If you have just enabled insecure mode make sure you have restarted Homebridge and refreshed the page in your browser.

3. Running in Docker

This plugin supports the oznu/homebridge Docker image. You must enable the UI using the method described in the wiki.

4. Ask on Discord

Join the Official Homebridge Discord community and ask in the #ui channel.

homebridge-config-ui-x's People

Contributors

oznu avatar mkellsy avatar shidevil avatar grzegorz914 avatar staubgeborener avatar caribsky avatar zer0x00 avatar dewgew avatar raymondmouthaan avatar bluefoxlee avatar mediter avatar razer4908 avatar nicofr75 avatar seanzhang98 avatar sonnyt72 avatar cah-dgreif avatar rubenfer avatar theo-69 avatar jsworks avatar gaojie429 avatar dependabot[bot] avatar buenyx avatar sschuste avatar s474n avatar tooh avatar nicoduj avatar samuelmagano avatar coolcsh avatar cyberfafu avatar ebaauw avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.