{"id":215,"date":"2019-11-05T13:51:39","date_gmt":"2019-11-05T05:51:39","guid":{"rendered":"http:\/\/zechs.taipei\/?p=215"},"modified":"2019-11-05T13:51:40","modified_gmt":"2019-11-05T05:51:40","slug":"%e8%bd%89homebridge-config-ui-x","status":"publish","type":"post","link":"https:\/\/zechs.taipei\/?p=215","title":{"rendered":"[\u8f49]homebridge-config-ui-x"},"content":{"rendered":"<p><a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x\">https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x<\/a><\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Homebridge Config UI X<\/h1>\n\n\n\n<p>This is a plugin for&nbsp;<a href=\"https:\/\/github.com\/nfarina\/homebridge\">Homebridge<\/a>. This is a fork of the work originally done by&nbsp;<a href=\"https:\/\/github.com\/mkellsy\/homebridge-config-ui\">mkellsy<\/a>.<\/p>\n\n\n\n<p>This plugin allows you to monitor, backup and configure your Homebridge server from a browser.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x#accessory-control\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/oznu\/homebridge-config-ui-x\/HEAD\/screenshots\/homebridge-config-ui-x-accessories.png\" alt=\"Status\"\/><\/a><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\"><a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x#installation-instructions\"><\/a>Installation Instructions<\/h1>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo npm install -g --unsafe-perm homebridge-config-ui-x\n<\/pre>\n\n\n\n<p>Once you have installed and configured the plugin you can access the interface via&nbsp;<a href=\"http:\/\/localhost:8080\/\">http:\/\/localhost:8080<\/a>.<\/p>\n\n\n\n<p>The default username is&nbsp;<code>admin<\/code>&nbsp;and the default password is&nbsp;<code>admin<\/code>.<\/p>\n\n\n\n<p><em>Docker users should set the environment variable&nbsp;<code>HOMEBRIDGE_CONFIG_UI=1<\/code>&nbsp;to enable the UI. No further manual installation or configuration is required.&nbsp;<a href=\"https:\/\/github.com\/oznu\/homebridge-config-ui-x\/wiki\/Enabling-UI-with-Docker\">See wiki for details<\/a>.<\/em><\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x#configuration\"><\/a>Configuration<\/h1>\n\n\n\n<p>Add this to your homebridge&nbsp;<code>config.json<\/code>&nbsp;file<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\"platforms\":&nbsp;[&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"platform\":&nbsp;\"config\",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"name\":&nbsp;\"Config\",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"port\":&nbsp;8080,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"sudo\":&nbsp;false&nbsp;&nbsp;&nbsp;&nbsp;}]<\/pre>\n\n\n\n<p><strong>Optional Settings<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><code>log<\/code>&nbsp;&#8211;&nbsp;<a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x#log-viewer-configuration\">See below for details<\/a>.<\/li><li><code>sudo<\/code>&nbsp;&#8211;&nbsp;<a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x#sudo-mode\">See below for details<\/a>.<\/li><li><code>restart<\/code>&nbsp;&#8211; The command to run when a restart request is sent from the browser. If not populated it will just terminate the Homebridge process and let your process manager (like systemd) restart it.<\/li><li><code>temp<\/code>&nbsp;&#8211; The path to the file that can display your current CPU temperature in WEB UI. eg.&nbsp;<code>\/sys\/class\/thermal\/thermal_zone0\/temp<\/code><\/li><li><code>theme<\/code>&nbsp;&#8211;&nbsp;<a href=\"https:\/\/github.com\/oznu\/homebridge-config-ui-x\/wiki\/Themes\">See wiki for details<\/a><\/li><li><code>ssl<\/code>&nbsp;&#8211;&nbsp;<a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x#enabling-ssl\">See below for details<\/a><\/li><\/ul>\n\n\n\n<p>All config options are&nbsp;<a href=\"https:\/\/github.com\/oznu\/homebridge-config-ui-x\/wiki\/Config-Options\">listed here<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x#accessory-control\"><\/a>Accessory Control<\/h2>\n\n\n\n<p>The plugin allows you to view and control some types of Homebridge accessories from your web browser.<\/p>\n\n\n\n<p>To&nbsp;<a href=\"https:\/\/github.com\/oznu\/homebridge-config-ui-x\/wiki\/Enabling-Accessory-Control\">enable accessory control<\/a>&nbsp;you must be running Homebridge in insecure mode:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">homebridge -I\n<\/pre>\n\n\n\n<p>Not all accessory types are supported. See&nbsp;<a href=\"https:\/\/github.com\/oznu\/homebridge-config-ui-x\/issues\/47\">this issue<\/a>&nbsp;for a full list of supported accessory types.<\/p>\n\n\n\n<p><strong>Controlling Multiple Instances<\/strong><\/p>\n\n\n\n<p><em>Homebridge Config UI X&#8217;s<\/em>&nbsp;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&#8217;t want to control using the plugin settings.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x#log-viewer-configuration\"><\/a>Log Viewer Configuration<\/h2>\n\n\n\n<p><em>Homebridge Config UI X<\/em>&nbsp;allows you to view the homebridge process logs in the browser. These logs can be loaded from a file or from a command.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x#logs-from-file\"><\/a>Logs From File<\/h3>\n\n\n\n<p>Example loading logs from a file, change&nbsp;<code>\/var\/log\/homebridge.log<\/code>&nbsp;to the actual location of your log file:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\"platforms\":&nbsp;[&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"platform\":&nbsp;\"config\",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"name\":&nbsp;\"Config\",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"port\":&nbsp;8080,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"log\":&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"method\":&nbsp;\"file\",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"path\":&nbsp;\"\/var\/log\/homebridge.log\"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;}]<\/pre>\n\n\n\n<p><em>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&nbsp;<a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x#sudo-mode\">sudo option<\/a>&nbsp;to avoid permission errors if you are not running Homebridge as root.<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x#logs-from-systemd\"><\/a>Logs From Systemd<\/h3>\n\n\n\n<p>If you&#8217;re using&nbsp;<code>systemd<\/code>&nbsp;to manage the Homebridge process then you can just set the&nbsp;<code>method<\/code>&nbsp;to&nbsp;<code>systemd<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\"platforms\":&nbsp;[&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"platform\":&nbsp;\"config\",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"name\":&nbsp;\"Config\",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"port\":&nbsp;8080,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"restart\":&nbsp;\"sudo&nbsp;-n&nbsp;systemctl&nbsp;restart&nbsp;homebridge\",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"log\":&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"method\":&nbsp;\"systemd\",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"service\":&nbsp;\"homebridge\"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;}]<\/pre>\n\n\n\n<p><em>You may need to enable the&nbsp;<a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x#sudo-mode\">sudo option<\/a>&nbsp;to avoid permission errors if you are not running Homebridge as root.<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x#logs-from-custom-command\"><\/a>Logs From Custom Command<\/h3>\n\n\n\n<p>The&nbsp;<code>log<\/code>&nbsp;option can alternatively specify a command to spawn that will stream the logs to the client. This command should stream the logs to&nbsp;<code>stdout<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\"platforms\":&nbsp;[&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"platform\":&nbsp;\"config\",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"name\":&nbsp;\"Config\",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"port\":&nbsp;8080,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"log\":&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"method\":&nbsp;\"custom\",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"command\":&nbsp;\"sudo&nbsp;-n&nbsp;tail&nbsp;-n&nbsp;100&nbsp;-f&nbsp;\/var\/log\/homebridge.log\"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;}]<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x#sudo-mode\"><\/a>Sudo Mode<\/h2>\n\n\n\n<p>Many operations performed by&nbsp;<em>Homebridge Config UI X<\/em>, 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&nbsp;<code>sudo<\/code>&nbsp;option in the config.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\"platforms\":&nbsp;[&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"platform\":&nbsp;\"config\",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"name\":&nbsp;\"Config\",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"port\":&nbsp;8080,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"sudo\":&nbsp;true&nbsp;&nbsp;&nbsp;&nbsp;}]<\/pre>\n\n\n\n<p>When&nbsp;<code>sudo<\/code>&nbsp;mode is enabled&nbsp;<em>Homebridge Config UI X<\/em>&nbsp;will use&nbsp;<code>sudo<\/code>&nbsp;when executing installing, removing or upgrading plugins, viewing the logs using the&nbsp;<a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x#logs-from-file\">Logs From File<\/a>&nbsp;or&nbsp;<a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x#logs-from-systemd\">Logs From Systemd<\/a>&nbsp;method, and when upgrading Homebridge. It will not be used for&nbsp;<a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x#logs-from-custom-command\">Logs From Custom Command<\/a>&nbsp;or custom restart commands.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x#password-less-sudo-required\"><\/a>Password-less sudo required<\/h3>\n\n\n\n<p>For&nbsp;<code>sudo<\/code>&nbsp;mode to work password-less sudo is required. You can enable password-less sudo by adding this entry to the bottom of your&nbsp;<code>\/etc\/sudoers<\/code>&nbsp;file (use&nbsp;<code>visudo<\/code>&nbsp;to edit the file!):<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">homebridge    ALL=(ALL) NOPASSWD: ALL\n<\/pre>\n\n\n\n<p><em>Replace&nbsp;<code>homebridge<\/code>&nbsp;with the actual user you are running Homebridge as.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x#enabling-ssl\"><\/a>Enabling SSL<\/h2>\n\n\n\n<p>You can run this plugin over an encrypted HTTPS connection by configuring the&nbsp;<code>ssl<\/code>&nbsp;options.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\"platforms\":&nbsp;[&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"platform\":&nbsp;\"config\",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"name\":&nbsp;\"Config\",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"port\":&nbsp;8080,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"ssl\":&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"key\":&nbsp;\"\/path\/to\/privkey.pem\",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"cert\":&nbsp;\"\/path\/to\/fullchain.pem\"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;}]<\/pre>\n\n\n\n<p>Or if using a&nbsp;<strong>PKCS#12<\/strong>&nbsp;certificate you can setup SSL like this:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\"platforms\":&nbsp;[&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"platform\":&nbsp;\"config\",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"name\":&nbsp;\"Config\",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"port\":&nbsp;8080,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"ssl\":&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"pfx\":&nbsp;\"\/path\/to\/cert.pfx\",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"passphrase\":&nbsp;\"sample\"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;}]<\/pre>\n\n\n\n<h1 class=\"wp-block-heading\"><a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x#usage\"><\/a>Usage<\/h1>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x#status-screen\"><\/a>Status Screen<\/h3>\n\n\n\n<p>This shows an overview of your Homebridge system. It displays your pairing QR code, and informs you if there are any updates available for Homebridge or installed plugins.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/oznu\/homebridge-config-ui-x\/HEAD\/screenshots\/homebridge-config-ui-x-status.png?2019-08-10\" alt=\"Status\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x#log-screen\"><\/a>Log Screen<\/h3>\n\n\n\n<p>This shows you the Homebridge rolling log. This is helpful for troubleshooting.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/oznu\/homebridge-config-ui-x\/HEAD\/screenshots\/homebridge-config-ui-x-logs.png?2019-08-10\" alt=\"Log\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x#plugin-screen\"><\/a>Plugin Screen<\/h3>\n\n\n\n<p>This shows you the currently installed plugins and allows you to install, remove and upgrade plugins.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/oznu\/homebridge-config-ui-x\/HEAD\/screenshots\/homebridge-config-ui-x-darkmode-plugins.png\" alt=\"Log\"\/><\/figure>\n\n\n\n<p>You can configure supported plugins using the graphical settings editor, removing the need to manually edit the&nbsp;<code>config.json<\/code>.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/oznu\/homebridge-config-ui-x\/HEAD\/screenshots\/homebridge-config-ui-x-darkmode-alexa-settings.png?2019-08-10\" alt=\"Log\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x#configuration-screen\"><\/a>Configuration Screen<\/h3>\n\n\n\n<p>The configuration screen allows you to modify your Homebridge&nbsp;<code>config.json<\/code>. The built in editor automatically syntax-checks your JSON and makes a backup of your config every time you make a change.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/oznu\/homebridge-config-ui-x\/HEAD\/screenshots\/homebridge-config-ui-x-config.png?2019-08-10\" alt=\"Config\"\/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\"><a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x#supported-browsers\"><\/a>Supported Browsers<\/h1>\n\n\n\n<p>The following browsers are supported by this plugin:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Chrome &#8211; latest<\/li><li>Firefox &#8211; latest<\/li><li>Safari &#8211; 2 most recent major versions<\/li><li>Edge &#8211; 2 most recent major versions<\/li><li>iOS &#8211; 2 most recent major versions<\/li><\/ul>\n\n\n\n<p>MS Internet Explorer (any version) is not supported!<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x#supported-nodejs-and-npm-versions\"><\/a>Supported Node.js and Npm Versions<\/h1>\n\n\n\n<p>While this plugin should work on Node.js 8+, only the following versions of Node.js are officially supported:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>node v10.15.3 or higher<\/li><li>npm v6.4.1 or higher<\/li><\/ul>\n\n\n\n<p>You can check your current versions using these commands:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><em>#&nbsp;check&nbsp;node&nbsp;version&nbsp;<\/em>node&nbsp;-v&nbsp;<em>#&nbsp;check&nbsp;npm&nbsp;version&nbsp;<\/em>npm&nbsp;-v<\/pre>\n\n\n\n<h1 class=\"wp-block-heading\"><a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x#contributing\"><\/a>Contributing<\/h1>\n\n\n\n<p>Please see&nbsp;<a href=\"https:\/\/github.com\/oznu\/homebridge-config-ui-x\/blob\/HEAD\/CONTRIBUTING.md\">CONTRIBUTING.md<\/a>.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x#troubleshooting\"><\/a>Troubleshooting<\/h1>\n\n\n\n<h4 class=\"wp-block-heading\"><a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x#1-errors-during-installation\"><\/a>1. Errors during installation<\/h4>\n\n\n\n<p>Make sure you installed the package with&nbsp;<code>sudo<\/code>&nbsp;and used the&nbsp;<code>--unsafe-perm<\/code>&nbsp;flag. Most installation errors can be fixed by removing the plugin and reinstalling:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><em>#&nbsp;cleanup&nbsp;<\/em>sudo&nbsp;npm&nbsp;uninstall&nbsp;-g&nbsp;homebridge-config-ui-x&nbsp;<em>#&nbsp;reinstall&nbsp;<\/em>sudo&nbsp;npm&nbsp;install&nbsp;-g&nbsp;--unsafe-perm&nbsp;homebridge-config-ui-x<\/pre>\n\n\n\n<p>Make sure you are running&nbsp;<a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x#supported-nodejs-and-npm-versions\">supported versions of node and npm<\/a>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x#2-accessories-tab-missing\"><\/a>2. Accessories tab missing<\/h4>\n\n\n\n<p>If the Accessories tab is not show then you are not running Homebridge in insecure mode. See the&nbsp;<a href=\"https:\/\/github.com\/oznu\/homebridge-config-ui-x\/wiki\/Enabling-Accessory-Control\">Enabling Accessory Control<\/a>&nbsp;wiki for details. If you have just enabled insecure mode make sure you have restarted Homebridge and refreshed the page in your browser.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x#3-running-in-docker\"><\/a>3. Running in Docker<\/h4>\n\n\n\n<p>This plugin supports the&nbsp;<a href=\"https:\/\/github.com\/oznu\/docker-homebridge\">oznu\/homebridge<\/a>&nbsp;Docker image. You must enable the UI using the method described in&nbsp;<a href=\"https:\/\/github.com\/oznu\/homebridge-config-ui-x\/wiki\/Enabling-UI-with-Docker\">the wiki<\/a>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><a href=\"https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x#4-ask-on-slack\"><\/a>4. Ask on Slack<\/h4>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/slackin-znyruquwmv.now.sh\/\"><img decoding=\"async\" src=\"https:\/\/slackin-znyruquwmv.now.sh\/badge.svg\" alt=\"Slack Status\"\/><\/a><\/figure>\n\n\n\n<p>Join the&nbsp;<a href=\"https:\/\/slackin-znyruquwmv.now.sh\/\">Homebridge Slack<\/a>&nbsp;chat and ask in the&nbsp;<a href=\"https:\/\/homebridgeteam.slack.com\/messages\/C9NH0CUTY\">#ui<\/a>&nbsp;channel.<\/p>","protected":false},"excerpt":{"rendered":"<p>https:\/\/www.npmjs.com\/package\/homebridge-config-ui-x Ho &#8230; <a title=\"[\u8f49]homebridge-config-ui-x\" class=\"read-more\" href=\"https:\/\/zechs.taipei\/?p=215\" aria-label=\"\u95b1\u8b80\u3008[\u8f49]homebridge-config-ui-x\u3009\u5168\u6587\">\u95b1\u8b80\u5168\u6587<\/a><\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-215","post","type-post","status-publish","format-standard","hentry","category-tech"],"_links":{"self":[{"href":"https:\/\/zechs.taipei\/index.php?rest_route=\/wp\/v2\/posts\/215","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zechs.taipei\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zechs.taipei\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zechs.taipei\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zechs.taipei\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=215"}],"version-history":[{"count":1,"href":"https:\/\/zechs.taipei\/index.php?rest_route=\/wp\/v2\/posts\/215\/revisions"}],"predecessor-version":[{"id":216,"href":"https:\/\/zechs.taipei\/index.php?rest_route=\/wp\/v2\/posts\/215\/revisions\/216"}],"wp:attachment":[{"href":"https:\/\/zechs.taipei\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=215"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zechs.taipei\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=215"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zechs.taipei\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=215"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}