Git Product home page Git Product logo

homebridge / homebridge-config-ui-x Goto Github PK

View Code? Open in Web Editor NEW
2.6K 69.0 366.0 48.14 MB

The Homebridge UI. Monitor, configure and backup Homebridge from a browser.

Home Page: https://homebridge.io

License: MIT License

HTML 19.73% TypeScript 72.34% JavaScript 4.19% Shell 0.52% SCSS 3.23%
homebridge homebridge-plugin ui gui web-interface homebridge-server homebridge-webserver smart-home supervisor hb-service

homebridge-config-ui-x's Introduction

Homebridge UI

npm npm Discord Donate

๐Ÿ‡ฌ๐Ÿ‡ง ๐Ÿ‡ฉ๐Ÿ‡ช ๐Ÿ‡ซ๐Ÿ‡ท ๐Ÿ‡ต๐Ÿ‡ฑ ๐Ÿ‡จ๐Ÿ‡ฟ ๐Ÿ‡ท๐Ÿ‡บ ๐Ÿ‡จ๐Ÿ‡ณ ๐Ÿ‡ญ๐Ÿ‡บ ๐Ÿ‡ฏ๐Ÿ‡ต ๐Ÿ‡ช๐Ÿ‡ธ ๐Ÿ‡ณ๐Ÿ‡ฑ ๐Ÿ‡น๐Ÿ‡ท ๐Ÿ‡ฎ๐Ÿ‡น ๐Ÿ‡ง๐Ÿ‡ฌ ๐Ÿ‡ธ๐Ÿ‡ช ๐Ÿ‡ณ๐Ÿ‡ด ๐Ÿ‡ธ๐Ÿ‡ฎ ๐Ÿ‡ง๐Ÿ‡ท ๐Ÿ‡ต๐Ÿ‡น ๐Ÿ‡ฎ๐Ÿ‡ฉ ๐Ÿ‡ฐ๐Ÿ‡ท ๐Ÿ‡ฒ๐Ÿ‡ฐ ๐Ÿ‡น๐Ÿ‡ญ ๐Ÿ‡ฎ๐Ÿ‡ฑ ๐Ÿ‡บ๐Ÿ‡ฆ

Homebridge UI 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 450 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
  • Set up and manage your Homebridge plugins as child bridges
  • and more...

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

Status

Installation Instructions

For detailed instructions on how to set up Node.js and Homebridge with Homebridge UI as a service, see the guides on the wiki:

If your platform is not listed above, or you want to use your own service manager, see the Manual Configuration wiki article for instructions on setting up the Homebridge UI to run as a Homebridge plugin instead of a service.

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

The UI can be accessed via web browser by default on port 8581 (e.g. http://localhost:8581).

Usage

Status Screen

This shows an overview of your Homebridge system. The dashboard is widget-based and completely customisable with a number of themes available.

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 implemented 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 the Homebridge UI:

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

MS Internet Explorer (any version) is not supported!

Supported Node.js Version

The Homebridge UI follows the same Node.js support schedule as Homebridge. See the How-To-Update-Node.js page in the Homebridge wiki for currently supported versions.

You can check your current versions using these commands:

# check node version
node -v

# check npm version
npm -v

Plugin Development

The https://developers.homebridge.io website contains the Homebridge API reference, available service and characteristic types, and plugin examples.

The Homebridge Plugin Template project provides a base you can use to create your own platform plugin.

There are many existing plugins you can study; you might start with the Homebridge Example Plugins or a plugin that already implements the device type you need.

Common Issues

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 Homebridge UI 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.

Home App Says Accessory Already Added

To fix this, Reset Homebridge.

My iOS App Can't Find Homebridge

Try the following:

  1. Swap between the Bonjour HAP and Ciao mDNS Advertiser options. See the wiki for more details.
  2. iOS DNS cache has gone stale or gotten misconfigured. To fix this, turn airplane mode on and back off to flush the DNS cache.

Community

The official Homebridge Discord server and Reddit community are where users can discuss Homebridge and ask for help.

Homebridge Discord Homebridge Reddit

HomeKit communities can also be found on both Discord and Reddit.

Limitations

  • One bridge can only expose 150 accessories due to a HomeKit limit. You can however run your plugins as a Child Bridge or run Multiple Homebridge Instances to get around this limitation.
  • Once an accessory has been added to the Home app, changing its name via Homebridge won't be automatically reflected in iOS. You must change it via the Home app as well.

Credits

  • Homebridge was originally created by Nick Farina.
  • The original HomeKit API work was done by Khaos Tian in his HAP-NodeJS project.
  • Homebridge UI was originally created by oznu.

homebridge-config-ui-x's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

homebridge-config-ui-x's Issues

apple-touch-icon.png

@oznu Thanks for your great work and sharing. ๐Ÿ‘๐Ÿป
Maybe you want to consider to integrate a apple-touch-icon.png in one of your next updates? ๐Ÿ˜‰๐Ÿ˜ƒ

And is there a chance to change Login screen wallpaper snapshot.jpg individual? With every update of course it's going to default at the moment.

Best,
Daniel
napkin 12 18 02 18 10 40 44 pm
apple-touch-icon

Error when installing

Hi,
I got the following error, when installing on my RPI3.
Thanks in advance for your support:

pi@Homebridge:~ $ npm install -g --unsafe-perm homebridge-config-ui-x
/usr/local/bin/homebridge-config-ui-x -> /usr/local/lib/node_modules/homebridge-config-ui-x/bin/standalone.js

[email protected] install /usr/local/lib/node_modules/homebridge-config-ui-x/node_modules/node-pty
node scripts/install.js

gyp ERR! configure error
gyp ERR! stack Error: Command failed: /usr/bin/python2 -c import platform; print(platform.python_version());
gyp ERR! stack ValueError: bad marshal data (string ref out of range)
gyp ERR! stack
gyp ERR! stack at ChildProcess.exithandler (child_process.js:275:12)
gyp ERR! stack at emitTwo (events.js:126:13)
gyp ERR! stack at ChildProcess.emit (events.js:214:7)
gyp ERR! stack at maybeClose (internal/child_process.js:925:16)
gyp ERR! stack at Socket.stream.socket.on (internal/child_process.js:346:11)
gyp ERR! stack at emitOne (events.js:116:13)
gyp ERR! stack at Socket.emit (events.js:211:7)
gyp ERR! stack at Pipe._handle.close [as _onclose] (net.js:554:12)
gyp ERR! System Linux 4.9.63-v7+
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/local/lib/node_modules/homebridge-config-ui-x/node_modules/node-pty
gyp ERR! node -v v8.9.1
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: node scripts/install.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /home/pi/.npm/_logs/2018-02-18T10_20_57_657Z-debug.log

Error running on port 80

Setting port to '80' causes homebridge not to start.

Feb 8 21:16:46 HomeBridge homebridge[1237]: [2018-2-8 21:16:46] [Config] Using Form Authentication Feb 8 21:16:46 HomeBridge homebridge[1237]: Error: listen EACCES 0.0.0.0:80 Feb 8 21:16:46 HomeBridge homebridge[1237]: at Object._errnoException (util.js:1003:13) Feb 8 21:16:46 HomeBridge homebridge[1237]: at _exceptionWithHostPort (util.js:1024:20) Feb 8 21:16:46 HomeBridge homebridge[1237]: at Server.setupListenHandle [as _listen2] (net.js:1349:19) Feb 8 21:16:46 HomeBridge homebridge[1237]: at listenInCluster (net.js:1407:12) Feb 8 21:16:46 HomeBridge homebridge[1237]: at Server.listen (net.js:1495:7) Feb 8 21:16:46 HomeBridge homebridge[1237]: at HomebridgeConfigUi.<anonymous> (/usr/local/lib/node_modules/homebridge-config-ui-x/src/index.ts:39:17) Feb 8 21:16:46 HomeBridge homebridge[1237]: at Generator.next (<anonymous>) Feb 8 21:16:46 HomeBridge homebridge[1237]: at fulfilled (/usr/local/lib/node_modules/homebridge-config-ui-x/dist/index.js:4:58) Feb 8 21:16:46 HomeBridge homebridge[1237]: at <anonymous> Feb 8 21:16:46 HomeBridge systemd[1]: homebridge.service: Main process exited, code=exited, status=1/FAILURE Feb 8 21:16:46 HomeBridge systemd[1]: homebridge.service: Unit entered failed state. Feb 8 21:16:46 HomeBridge systemd[1]: homebridge.service: Failed with result 'exit-code'.

log file

I have tried to use the log file two different ways and have issues with both. I would appreciate some help.

Here is the first way:
in the config.json file:
"log": "/var/log/daemon.log",

In the web gui I see nothing and the system crashes and restarts. Here is the error I get from the log file.:
Dec 31 05:57:24 XXX homebridge[832]: fs.js:1453
Dec 31 05:57:24 XXX homebridge[832]: throw error;
Dec 31 05:57:24 XXX homebridge[832]: ^
Dec 31 05:57:24 XXX homebridge[832]: Error: watch /var/log/daemon.log EACCES
Dec 31 05:57:24 XXX homebridge[832]: at exports._errnoException (util.js:1020:11)
Dec 31 05:57:24 XXX homebridge[832]: at FSWatcher.start (fs.js:1451:19)
Dec 31 05:57:24 XXX homebridge[832]: at Object.fs.watch (fs.js:1478:11)
Dec 31 05:57:24 XXX homebridge[832]: at Tail.watch (/usr/lib/node_modules/homebridge-config-ui-x/node_modules/tail/lib/tail.js:112:32)
Dec 31 05:57:24 XXX homebridge[832]: at new Tail (/usr/lib/node_modules/homebridge-config-ui-x/node_modules/tail/lib/tail.js:84:10)
Dec 31 05:57:24 XXX homebridge[832]: at tailLogFromFile (/usr/lib/node_modules/homebridge-config-ui-x/lib/wss-logs.js:13:14)
Dec 31 05:57:24 XXX homebridge[832]: at WebSocketServer.wss.on (/usr/lib/node_modules/homebridge-config-ui-x/lib/wss-logs.js:72:7)
Dec 31 05:57:24 XXX homebridge[832]: at emitTwo (events.js:106:13)
Dec 31 05:57:24 XXX homebridge[832]: at WebSocketServer.emit (events.js:191:7)
Dec 31 05:57:24 XXX homebridge[832]: at handleUpgrade (/usr/lib/node_modules/homebridge-config-ui-x/node_modules/ws/lib/WebSocketServer.js:87:16)
Dec 31 05:57:24 XXX homebridge[832]: at WebSocketServer.completeUpgrade (/usr/lib/node_modules/homebridge-config-ui-x/node_modules/ws/lib/WebSocketServer.js:288:5)
Dec 31 05:57:24 XXX homebridge[832]: at WebSocketServer.handleUpgrade (/usr/lib/node_modules/homebridge-config-ui-x/node_modules/ws/lib/WebSocketServer.js:227:10)
Dec 31 05:57:24 XXX homebridge[832]: at Server.WebSocketServer._ultron.on (/usr/lib/node_modules/homebridge-config-ui-x/node_modules/ws/lib/WebSocketServer.js:86:14)
Dec 31 05:57:24 XXX homebridge[832]: at emitThree (events.js:116:13)
Dec 31 05:57:24 XXX homebridge[832]: at Server.emit (events.js:194:7)
Dec 31 05:57:24 XXX homebridge[832]: at onParserExecuteCommon (_http_server.js:409:14)
Dec 31 05:57:24 XXX homebridge[832]: at HTTPParser.onParserExecute (_http_server.js:377:5)

Also tried this in the config.json file:
"log": {
"tail": "sudo tail -f /var/log/daemon.log"
},

Error I receive in the web gui:
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.

sudo: no tty present and no askpass program specified
The log tail command "sudo tail -f /var/log/daemon.log" exited unexpectedly with code 1. Please check the command in your config.json is correct.

Temp 0.00ยฐC

Temperature shows as 0.00ยฐC with this plugin
The regular homebridge-config-ui by shidevil works fine, tried specifying
"temp": "/sys/class/thermal/thermal_zone0/temp",
But no luck.

Can you add instances?

Hello,
Can you add multiple instances of the Homebridge to this plugin?

Greeting Manu

Can't login to UI

I have everything configured properly, but I can't access the web ui. this is whats in my config.json

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

Apache Proxy Configuration

I have tried to put this behind an apache2 proxy/vhonst, but have failed with everything I know how to try. Is this possible? Are the loopback calls based on the config or based on the URL? Please tell me if I missed something obvious. All works awesome if I go directly to port 8081, but when I proxy/vhost, the logs, status and other things stop working.

Sample vhost I was using:
<VirtualHost 10.0.69.116:80>
ServerName homebridge.wiesalani.com
ServerAdmin [email protected]
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ProxyPass / http://localhost:8081/ nocanon
ProxyPassReverse / http://localhost:8081/

Thanks and great job.

change loglines to > 100

Hi Oznu,

I'm really quit happy with your docker files and your config-ui-x modification. You really did great work and it is more stable then before (when I was running homebridge on a standalone debian installation)

I was wondering, can I somehow change the number of logfile lines.. now it is:
tail -n 100 -f /homebridge/logs/homebridge.log and it would be nice if I can change it to 200 or 300 instead of the current 100.

thanks in advance (again :-))

Abel

Error: listen EADDRINUSE :::8090

Hi,

first of all thnk you for your great work. After I installed your Plugin I get this error in ssh:

Error: listen EADDRINUSE :::8090
at Object._errnoException (util.js:1022:11)
at _exceptionWithHostPort (util.js:1044:20)
at Server.setupListenHandle [as _listen2] (net.js:1351:14)
at listenInCluster (net.js:1392:12)
at Server.listen (net.js:1476:7)
at HomebridgeConfigUi. (/usr/local/lib/node_modules/homebridge-config-ui-x/src/index.ts:39:17)
at Generator.next ()
at fulfilled (/usr/local/lib/node_modules/homebridge-config-ui-x/dist/index.js:4:58)
at

Is there any sollution?

accessories won't show up

I run the command homebridge -I and tried much but the accessory tab won't show up in the web interface

Plugins page doesn't load

After updating to the current version and configuring, the plugin page just stays loading with the spinning wheel.
This is my config for the plugin

screen shot 2018-01-14 at 1 56 38 pm

[enhancement] Improve layout for config screen

Hi,
I think that the config screen needs a small improvement: Currently the editor element overlaps on top
with title element (Chrome browser, others not tested).

ui/src/scss/styles.scss

#config-editor {
  position: absolute;
  bottom: 30px;
  top: 140px;
  right: 15px;
  left: 15px;
  width: auto;
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
}

Recommended change: top: 170px

Websocket error crashing homebridge

I am getting this error for the past few updates. Its also crashing homebridge. Current version is 2.2.2

/usr/lib/node_modules/homebridge-config-ui-x/node_modules/ws/lib/websocket.js:371
const err = new Error(
^
Error: WebSocket is not open: readyState 3 (CLOSED)
at WebSocket.send (/usr/lib/node_modules/homebridge-config-ui-x/node_modules/ws/lib/websocket.js:371:19)
at LogsWssHandler.send (/usr/lib/node_modules/homebridge-config-ui-x/src/wss/logs.ts:43:13)
at emitOne (events.js:116:13)
at PipeSocket.emit (events.js:211:7)
at addChunk (_stream_readable.js:263:12)
at readableAddChunk (_stream_readable.js:246:13)
at PipeSocket.Readable.push (_stream_readable.js:208:10)
at Pipe.onread (net.js:594:20)

This is the Configuration UI plugin for Homebridge section of the config.json
{
"platform": "config",
"name": "Config",
"port": 8766,
"restart": "sudo systemctl restart homebridge",
"log": "systemd",
"temp": "/sys/class/thermal/thermal_zone0/temp",
"sudo": true
},

I have followed all of your instructions for setting up this plugin with systemd and sudo mode.

[Feature] Shutdown button (and others)

It would be nice to have a shutdown button for the whole computer as well. As many people use Raspberry PI computers without any physical power button the web interface would be an easy way to shut down the computer.

Other buttons could be added too for restarting etc. - maybe the whole thing could be a configuration option to extend the top bar with custom commands.

Thanks again for this awesome plugin.

[Feature] Ability to update core system (apt)

I use many Raspberry PIs as homebridge nodes with LED strips and z-wave etc on them.

It would be nice to also use this interface to perform the system updates and get alerted about apt updates (including security etc). Would this be a challenge to add?

Unable to check for updates or search for plugins

The checking for update is turning with no results and you can not search for plugin updates anymore. Getting this error in log:
`{ StatusCodeError: 500 - {"code":"INTERNAL","message":"Internal server error"}
at new StatusCodeError (/usr/lib/node_modules/homebridge-config-ui-x/node_modules/request-promise-core/lib/errors.js:32:15)
at Request.plumbing.callback (/usr/lib/node_modules/homebridge-config-ui-x/node_modules/request-promise-core/lib/plumbing.js:104:33)
at Request.RP$callback [as _callback] (/usr/lib/node_modules/homebridge-config-ui-x/node_modules/request-promise-core/lib/plumbing.js:46:31)
at Request.self.callback (/usr/lib/node_modules/homebridge-config-ui-x/node_modules/request/request.js:186:22)
at emitTwo (events.js:106:13)
at Request.emit (events.js:194:7)
at Request. (/usr/lib/node_modules/homebridge-config-ui-x/node_modules/request/request.js:1163:10)
at emitOne (events.js:96:13)
at Request.emit (events.js:191:7)
at IncomingMessage. (/usr/lib/node_modules/homebridge-config-ui-x/node_modules/request/request.js:1085:12)
at Object.onceWrapper (events.js:293:19)
at emitNone (events.js:91:20)
at IncomingMessage.emit (events.js:188:7)
at endReadableNT (_stream_readable.js:975:12)
at _combinedTickCallback (internal/process/next_tick.js:80:11)
at process._tickCallback (internal/process/next_tick.js:104:9)
name: 'StatusCodeError',
statusCode: 500,
message: '500 - {"code":"INTERNAL","message":"Internal server error"}',
error: { code: 'INTERNAL', message: 'Internal server error' },
options:
{ json: true,
uri: 'https://api.npms.io/v2/package/homebridge',
method: 'GET',
callback: [Function: RP$callback],
transform: undefined,
simple: true,
resolveWithFullResponse: false,
transform2xxOnly: false },
response:
IncomingMessage {
_readableState:
ReadableState {
objectMode: false,
highWaterMark: 16384,
buffer: [Object],
length: 0,
pipes: null,
pipesCount: 0,
flowing: true,
ended: true,
endEmitted: true,
reading: false,
sync: true,
needReadable: false,
emittedReadable: false,
readableListening: false,
resumeScheduled: false,
defaultEncoding: 'utf8',
ranOut: false,
awaitDrain: 0,
readingMore: false,
decoder: null,
encoding: null },
readable: false,
domain: null,
_events:
{ end: [Object],
close: [Object],
data: [Function],
error: [Function] },
_eventsCount: 4,
_maxListeners: undefined,
socket:
TLSSocket {
_tlsOptions: [Object],
_secureEstablished: true,
_securePending: false,
_newSessionPending: false,
_controlReleased: true,
_SNICallback: null,
servername: null,
npnProtocol: false,
alpnProtocol: false,
authorized: true,
authorizationError: null,
encrypted: true,
_events: [Object],
_eventsCount: 9,
connecting: false,
_hadError: false,
_handle: null,
_parent: null,
_host: 'api.npms.io',
_readableState: [Object],
readable: false,
domain: null,
_maxListeners: undefined,
_writableState: [Object],
writable: false,
allowHalfOpen: false,
destroyed: true,
_bytesDispatched: 103,
_sockname: null,
_pendingData: null,
_pendingEncoding: '',
server: undefined,
_server: null,
ssl: null,
_requestCert: true,
_rejectUnauthorized: true,
parser: null,
_httpMessage: [Object],
read: [Function],
_consuming: true,
_idleNext: null,
_idlePrev: null,
_idleTimeout: -1 },
connection:
TLSSocket {
_tlsOptions: [Object],
_secureEstablished: true,
_securePending: false,
_newSessionPending: false,
_controlReleased: true,
_SNICallback: null,
servername: null,
npnProtocol: false,
alpnProtocol: false,
authorized: true,
authorizationError: null,
encrypted: true,
_events: [Object],
_eventsCount: 9,
connecting: false,
_hadError: false,
_handle: null,
_parent: null,
_host: 'api.npms.io',
_readableState: [Object],
readable: false,
domain: null,
_maxListeners: undefined,
_writableState: [Object],
writable: false,
allowHalfOpen: false,
destroyed: true,
_bytesDispatched: 103,
_sockname: null,
_pendingData: null,
_pendingEncoding: '',
server: undefined,
_server: null,
ssl: null,
_requestCert: true,
_rejectUnauthorized: true,
parser: null,
_httpMessage: [Object],
read: [Function],
_consuming: true,
_idleNext: null,
_idlePrev: null,
_idleTimeout: -1 },
httpVersionMajor: 1,
httpVersionMinor: 1,
httpVersion: '1.1',
complete: true,
headers:
{ date: 'Fri, 16 Feb 2018 20:27:59 GMT',
'content-type': 'application/json; charset=utf-8',
'content-length': '53',
connection: 'close',
'set-cookie': [Object],
'x-response-time': '14ms',
'access-control-allow-origin': '',
'access-control-allow-credentials': 'false',
'access-control-allow-methods': 'GET, POST, OPTIONS',
'access-control-allow-headers': 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type',
'expect-ct': 'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"',
server: 'cloudflare',
'cf-ray': '3ee340302f0552f6-MIA' },
rawHeaders:
[ 'Date',
'Fri, 16 Feb 2018 20:27:59 GMT',
'Content-Type',
'application/json; charset=utf-8',
'Content-Length',
'53',
'Connection',
'close',
'Set-Cookie',
'__cfduid=d08b9cfa3a5518b463d37e25fdad41b991518812879; expires=Sat, 16-Feb-19 20:27:59 GMT; path=/; domain=.npms.io; HttpOnly',
'Set-Cookie',
'_ga=cbb3587d-2457-40c5-b84d-0d6de7418e30; path=/; expires=Wed, 15 Feb 2023 20:27:59 GMT; httponly',
'X-Response-Time',
'14ms',
'Access-Control-Allow-Origin',
'
',
'Access-Control-Allow-Credentials',
'false',
'Access-Control-Allow-Methods',
'GET, POST, OPTIONS',
'Access-Control-Allow-Headers',
'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type',
'Expect-CT',
'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"',
'Server',
'cloudflare',
'CF-RAY',
'3ee340302f0552f6-MIA' ],
trailers: {},
rawTrailers: [],
upgrade: false,
url: '',
method: null,
statusCode: 500,
statusMessage: 'Internal Server Error',
client:
TLSSocket {
_tlsOptions: [Object],
_secureEstablished: true,
_securePending: false,
_newSessionPending: false,
_controlReleased: true,
_SNICallback: null,
servername: null,
npnProtocol: false,
alpnProtocol: false,
authorized: true,
authorizationError: null,
encrypted: true,
_events: [Object],
_eventsCount: 9,
connecting: false,
_hadError: false,
_handle: null,
_parent: null,
_host: 'api.npms.io',
_readableState: [Object],
readable: false,
domain: null,
_maxListeners: undefined,
_writableState: [Object],
writable: false,
allowHalfOpen: false,
destroyed: true,
_bytesDispatched: 103,
_sockname: null,
_pendingData: null,
_pendingEncoding: '',
server: undefined,
_server: null,
ssl: null,
_requestCert: true,
_rejectUnauthorized: true,
parser: null,
_httpMessage: [Object],
read: [Function],
_consuming: true,
_idleNext: null,
_idlePrev: null,
_idleTimeout: -1 },
_consuming: true,
_dumped: false,
req:
ClientRequest {
domain: null,
_events: [Object],
_eventsCount: 5,
_maxListeners: undefined,
output: [],
outputEncodings: [],
outputCallbacks: [],
outputSize: 0,
writable: true,
_last: true,
upgrading: false,
chunkedEncoding: false,
shouldKeepAlive: false,
useChunkedEncodingByDefault: false,
sendDate: false,
_removedHeader: {},
_contentLength: 0,
_hasBody: true,
_trailer: '',
finished: true,
_headerSent: true,
socket: [Object],
connection: [Object],
_header: 'GET /v2/package/homebridge HTTP/1.1\r\nhost: api.npms.io\r\naccept: application/json\r\nConnection: close\r\n\r\n',
_headers: [Object],
_headerNames: [Object],
_onPendingData: null,
agent: [Object],
socketPath: undefined,
timeout: undefined,
method: 'GET',
path: '/v2/package/homebridge',
_ended: true,
res: [Circular],
aborted: undefined,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null },
request:
Request {
domain: null,
_events: [Object],
_eventsCount: 5,
_maxListeners: undefined,
uri: [Object],
method: 'GET',
readable: true,
writable: true,
explicitMethod: true,
_qs: [Object],
_auth: [Object],
_oauth: [Object],
_multipart: [Object],
_redirect: [Object],
_tunnel: [Object],
_rp_resolve: [Function],
_rp_reject: [Function],
_rp_promise: [Object],
_rp_callbackOrig: undefined,
callback: [Function],
_rp_options: [Object],
headers: [Object],
setHeader: [Function],
hasHeader: [Function],
getHeader: [Function],
removeHeader: [Function],
localAddress: undefined,
pool: {},
dests: [],
__isRequestRequest: true,
_callback: [Function: RP$callback],
proxy: null,
tunnel: true,
setHost: true,
originalCookieHeader: undefined,
_disableCookies: true,
_jar: undefined,
port: 443,
host: 'api.npms.io',
path: '/v2/package/homebridge',
_json: true,
httpModule: [Object],
agentClass: [Object],
agent: [Object],
_started: true,
href: 'https://api.npms.io/v2/package/homebridge',
req: [Object],
ntick: true,
response: [Circular],
originalHost: 'api.npms.io',
originalHostHeaderName: 'host',
responseContent: [Circular],
_destdata: true,
_ended: true,
_callbackCalled: true },
toJSON: [Function: responseToJSON],
caseless: Caseless { dict: [Object] },
read: [Function],
body: { code: 'INTERNAL', message: 'Internal server error' } } }

`

Location of log files?

I am running Raspian Stretch on a Pi3 with systemd starting homebridge on boot. What do I enter for the log files location in the config?

I tried:
log: "systemd"
log: "var/log/daemon.log"
log: "/var/log/homebridge.log"

It would be nice to use the Log Screen.

Unable the view logfile

First this: what a great plugin for die hard Homebridge users!

I have installed the Plugin and everything is working on one item: viewing the log. I have installed homebridge using the default settings (user homebridge and with systems). I have added the sudo option and added the option in /etc/sudoers

I can install plugin's, remove them but viewing the log file I get the following error:

Using systemd to tail logs
CMD: sudo -n journalctl -o cat -n 500 -f -u homebridge

chdir(2) failed.: Permission denied

The log tail command "sudo -n journalctl -o cat -n 500 -f -u homebridge" exited with code 1.
Please check the command in your config.json is correct.

See https://github.com/oznu/homebridge-config-ui-x#log-viewer-configuration for instructions.

Any idea what I'm doing wrong?

Can't login to UI

Hi,
I have a problem with accessing the UI on the standard 8080 port specified in the config, the port is not listening. I installed homebridge as systemd https://gist.github.com/johannrichard/0ad0de1feb6adb9eb61a/.

My config.json

{
    "bridge": {
        "name": "ShamHomebridge",
        "username": "B8:27:EB:A3:47:BB",
        "port": 51826,
        "pin": "501-62-117"
    },
    "description": "This is an example configuration file. You can use this as a template for creating your own configuration file.",
    "platforms": [
            {
            "platform": "config",
            "name": "Config",
            "port": 8080,
            "log": "systemd",
            "restart" : "sudo -n systemctl restart homebridge",
            "sudo": true
            }
     ],

    "platforms": [
            {
            "platform": "Blynk",
            "name": "Blynk",
            "server": "192.168.10.70",
            "httpsPort": "9443",
            "token" : "7bd441d08bfa4c13962eeb8577ee9d5d",
                        "dashboardName": "METEO",
            "accessories": [
                {
                    "name":             "RoomTemperature",
                    "widget":           "TemperatureSensor",
                    "caption":          "Temperature",
                    "pin":                      "V11"
                },
                {
                        "name":                 "RoomHumidity",
                    "widget":           "HumiditySensor",
                    "caption":          "Humidity",
                    "pin":                      "V13"
                }

            ]
        }

    ],
    "accessories": [
    ]
}

ะ ะฒะพั‚ ั‡ั‚ะพ ะฒั‹ะดะฐะตั‚ sudo journalctl -au homebridge

>ั„ะตะฒ 01 00:36:43 raspberrypi systemd[1]: Started Node.js HomeKit Server.
ั„ะตะฒ 01 00:36:49 raspberrypi homebridge[3470]: *** WARNING *** The program 'node' uses the Apple Bonjour compatibility layer of Avahi.
ั„ะตะฒ 01 00:36:49 raspberrypi node[3470]: *** WARNING *** The program 'node' uses the Apple Bonjour compatibility layer of Avahi.
ั„ะตะฒ 01 00:36:49 raspberrypi homebridge[3470]: *** WARNING *** Please fix your application to use the native API of Avahi!
ั„ะตะฒ 01 00:36:49 raspberrypi homebridge[3470]: *** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node>
ั„ะตะฒ 01 00:36:49 raspberrypi homebridge[3470]: *** WARNING *** The program 'node' called 'DNSServiceRegister()' which is not supported (or only supported part
ั„ะตะฒ 01 00:36:49 raspberrypi homebridge[3470]: *** WARNING *** Please fix your application to use the native API of Avahi!
ั„ะตะฒ 01 00:36:49 raspberrypi homebridge[3470]: *** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node&f=DNSServiceRegist
ั„ะตะฒ 01 00:36:49 raspberrypi node[3470]: *** WARNING *** Please fix your application to use the native API of Avahi!
ั„ะตะฒ 01 00:36:49 raspberrypi node[3470]: *** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node>
ั„ะตะฒ 01 00:36:49 raspberrypi node[3470]: *** WARNING *** The program 'node' called 'DNSServiceRegister()' which is not supported (or only supported partially)
ั„ะตะฒ 01 00:36:49 raspberrypi node[3470]: *** WARNING *** Please fix your application to use the native API of Avahi!
ั„ะตะฒ 01 00:36:49 raspberrypi node[3470]: *** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node&f=DNSServiceRegister>
ั„ะตะฒ 01 00:37:04 raspberrypi homebridge[3470]: โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
ั„ะตะฒ 01 00:37:04 raspberrypi homebridge[3470]: โ”‚                   npm update check failed                    โ”‚
ั„ะตะฒ 01 00:37:04 raspberrypi homebridge[3470]: โ”‚             Try running with sudo or get access              โ”‚
ั„ะตะฒ 01 00:37:04 raspberrypi homebridge[3470]: โ”‚             to the local update config store via             โ”‚
ั„ะตะฒ 01 00:37:04 raspberrypi homebridge[3470]: โ”‚ sudo chown -R $USER:$(id -gn $USER) /home/homebridge/.config โ”‚
ั„ะตะฒ 01 00:37:04 raspberrypi homebridge[3470]: โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
ั„ะตะฒ 01 00:37:10 raspberrypi homebridge[3470]: [2018-2-1 00:37:10] Loaded plugin: homebridge-blynk
ั„ะตะฒ 01 00:37:10 raspberrypi homebridge[3470]: [2018-2-1 00:37:10] Registering platform 'homebridge-blynk.Blynk'
ั„ะตะฒ 01 00:37:10 raspberrypi homebridge[3470]: [2018-2-1 00:37:10] ---
ั„ะตะฒ 01 00:37:17 raspberrypi homebridge[3470]: [2018-2-1 00:37:17] Loaded plugin: homebridge-config-ui-x
ั„ะตะฒ 01 00:37:17 raspberrypi homebridge[3470]: [2018-2-1 00:37:17] Registering platform 'homebridge-config-ui-x.config'
ั„ะตะฒ 01 00:37:17 raspberrypi homebridge[3470]: [2018-2-1 00:37:17] ---
ั„ะตะฒ 01 00:37:17 raspberrypi homebridge[3470]: [2018-2-1 00:37:17] Loaded config.json with 0 accessories and 1 platforms.
ั„ะตะฒ 01 00:37:17 raspberrypi homebridge[3470]: [2018-2-1 00:37:17] ---
ั„ะตะฒ 01 00:37:17 raspberrypi homebridge[3470]: [2018-2-1 00:37:17] Loading 1 platforms...
ั„ะตะฒ 01 00:37:17 raspberrypi homebridge[3470]: [2018-2-1 00:37:17] [Blynk] Initializing Blynk platform...
ั„ะตะฒ 01 00:37:17 raspberrypi homebridge[3470]: [2018-2-1 00:37:17] [Blynk] Loading accessories...
ั„ะตะฒ 01 00:37:17 raspberrypi homebridge[3470]: [2018-2-1 00:37:17] [Blynk] Found: RoomTemperature
ั„ะตะฒ 01 00:37:17 raspberrypi homebridge[3470]: [2018-2-1 00:37:17] [Blynk] Found: RoomHumidity
ั„ะตะฒ 01 00:37:17 raspberrypi homebridge[3470]: [2018-2-1 00:37:17] [Blynk] Initializing platform accessory 'RoomTemperature'...
ั„ะตะฒ 01 00:37:17 raspberrypi homebridge[3470]: [2018-2-1 00:37:17] [Blynk] Initializing platform accessory 'RoomHumidity'...
ั„ะตะฒ 01 00:37:17 raspberrypi homebridge[3470]: [2018-2-1 00:37:17] Loading 0 accessories...
ั„ะตะฒ 01 00:37:18 raspberrypi homebridge[3470]: Setup Payload:
ั„ะตะฒ 01 00:37:18 raspberrypi homebridge[3470]: X-HM://0024ASPFP1A86
ั„ะตะฒ 01 00:37:18 raspberrypi homebridge[3470]: Scan this code with your HomeKit app on your iOS device to pair with Homebridge:
QR
ั„ะตะฒ 01 00:37:19 raspberrypi homebridge[3470]: Or enter this code with your HomeKit app on your iOS device to pair with Homebridge:
ID
ั„ะตะฒ 01 00:37:19 raspberrypi homebridge[3470]: [2018-2-1 00:37:19] Homebridge is running on port 51826.
ั„ะตะฒ 01 00:37:31 raspberrypi homebridge[3470]: Status: 200
ั„ะตะฒ 01 00:37:31 raspberrypi homebridge[3470]: Headers: {"content-type":"application/json;charset=utf-8","access-control-allow-origin":"*","content-length":"1
ั„ะตะฒ 01 00:37:31 raspberrypi homebridge[3470]: Response: ["20.800"]
ั„ะตะฒ 01 00:37:31 raspberrypi homebridge[3470]: Status: 200
ั„ะตะฒ 01 00:37:31 raspberrypi homebridge[3470]: Headers: {"content-type":"application/json;charset=utf-8","access-control-allow-origin":"*","content-length":"1
ั„ะตะฒ 01 00:37:31 raspberrypi homebridge[3470]: Response: ["48.588"]
<

thanks for the help I do not know where to go next.

UI: Plugins Page

Suggestion for UI:

  1. "Installed" is in red, should be green.
  2. "Update Available" should stay in red.
  3. Plugins with "Update Available" should be at top of list
  4. "UPGRADE" button should say "UPDATE" to match above.

Thanks for awesome plugin

Not able to access through LAN

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

This is my config but when I try to access it through my Pi's IP address 10.0.1.190:8080 it shows that safari isn't able to connect to server.
When I check to see if 8080 on my pi is listening it seem that it isn't listening on port 8080

Reset password?

I attempted to change the admin password, and I used Safariโ€™s built in password generator. The proble is, it didnโ€™t save the password like it typically does. Now Iโ€™m locked out of the web access. Is there anyway to reset the password, or do I need to completely uninstall the plugin and reinstall it?

Port 8080?

Is it possible to assign a port other than 8080?

[Enhancement] Show Version of n, npm, node

@oznu First, thanks a lot for your great work and sharing. Wouldn't want to miss config-ui-x

Maybe you will consider in one of the next updates to also show the Version of n, npm, node running.
Would be a helpful enhancement.

Thanks in advance for the time you are investing.

Have a good one. ๐Ÿ‘๐Ÿป

close log file session

I'm using systems and journalctl and sudo to view the log and it all works, but once I start a session, there is no way to close it, so if I go to another section of the GUI and then back to logs, then i have to journalctl sessions and the logs are repeated twice.

you can also grep on ps to see that the command is running twice. This will only get worse as you tab away and back again.

Is there a way to close the session? I tried clicking on the view logs button again but nothing happens. I have to manually kill the existing sessions.

Thx.

Add ability to view and control accessories

I would like to add the ability to view and control accessories exposed by Homebridge from the Config UI X interface.

homebridge-config-ui-x-accessories

This requires support in the user interface for each HomeKit service type. There are ~40 services that have ~125 different characteristics.

To enable accessory control Homebridge must be started in insecure mode using the -I flag (this allows Config UI X access, the Accessories tab won't be displayed if it's not enabled):

homebridge -I

CPU Temperature is shown as a percentage

The temperature in the CPU section of the Status page is shown as a percentage - for example, 51.5ยฐC%

I believe that this should just display the temperature in degrees - e.g. 51.5ยฐC

Issue/Question if i have run node 6.10 the ui-x works fine

Hello,

im not sure about issue/question.
But if i have run node at this Version
pi@raspberrypi:~ $ node -v
v6.10.0
then your UI runs fine.
But for unsing the HUE Plugin i read that i must update node to 8.9.4,
If i do this your pulgin dont will run.

i follow this Instruktion for update node.
https://forum.smartapfel.de/forum/thread/1007-plugin-homebridge-hue/?postID=20159#post20159

homebridge runs fine with this Version of node, but your plugin wont start the WEB-UI

Regads for help

jens

Cannot Login to UI-X

Hi there,

I've installed homebridge-config-ui-x, and am able to get to the login page localhost:8080. When I enter the default username and password "admin" (without quotes), I get "Invalid Username and Password".

Here are my config.json details:
{
"platform": "config",
"name": "Config",
"port": 8080,
"sudo": true,
"log": "/home/pi/homebridge/config/logs/homebridge.log",
"theme": "blue",
"restart": "/home/pi/homebridge/ docker-compose restart homebridge"
}

Has anybody else seen this? What have I done wrong?

I don't think it's related, but I updated sudoers using visudo as instructed, adding homebridge ALL=(ALL) NOPASSWD: ALL at the end (although I'm not exactly sure what my username is. Is this the username I use when I SSH from Putty / Filezilla?

[Enhancement] kind of ๐Ÿ˜‰ Releases Change Log

@oznu Thanks for your ongoing development and constant update.
A lot of people ( as I can see in the very passionated German Forum http://homekit.community ) love the recent implementation of accessories feature. โค๏ธ๐Ÿ‘๐Ÿป

One question was asked due to the frequent updates, if it is possible you could give some info when a new version is out, what the changes are. Would be very appreciated.
https://github.com/oznu/homebridge-config-ui-x/releases

As always, thanks a lot for your time you are investing and for sharing with the community. ๐Ÿ˜ƒ

Extension for Monitoring multiple Homebridge instances?

Hello, I have an idea for a cool extension for your plugin. Maybe it is possible to install this.

Many users use multiple Homebridge instances, would not it be great to have a monitor for all Homebridge instances in your plugin where all Homebridge statuses are displayed?

[Enhancement] Show homebridge instance name

Currently the web page always shows "Homebridge" as the title. It would be nice if it could use the actual name given for the homebridge instance.

Background: I have multiple homebridge servers running and when you have multiple web pages open it can become cumbersome to see which servers page you're on.

Thanks for this awesome software!

Possible to bring back login page?

The current version presents us with a login window which doesn't play nice with keychain auto fill in safari on iOS/macOS, possibly 1password and others for those that use them on other browsers/OS?
Where as the login page before played nice with autofill for credentials.
Whats the chance of having a login work like it did before in the last version?

Update Plugin

Update is offered regardless of Wanted or not, this could lead to incompatibilities. Updates should only be offered fort the wanted version.

npm -g outdated
Package Current Wanted Latest Location
homebridge-fritz 0.5.12 0.5.12 0.6.0

Updating plugins doesn't work on Windows

Updating plugins doesn't work from web, works from cmd.

[2018-3-12 21:46:47] [Config] Running Command: C:\Program Files\nodejs\npm.cmd install --unsafe-perm homebridge-config-ui-x@latest
[2018-3-12 21:47:31] [Config] Running Command: node C:\Users\pax07\node_modules\nsp\bin\nsp check
[2018-3-12 21:47:32] [Config] Error: File not found:
    at new WindowsPtyAgent (C:\Users\pax07\node_modules\node-pty\src\windowsPtyAgent.ts:52:22)
    at new WindowsTerminal (C:\Users\pax07\node_modules\node-pty\src\windowsTerminal.ts:50:19)
    at Object.spawn (C:\Users\pax07\node_modules\node-pty\src\index.ts:30:10)
    at Bluebird (C:\Users\pax07\node_modules\homebridge-config-ui-x\src\pm.ts:182:24)
    at Promise._execute (C:\Users\pax07\node_modules\bluebird\js\release\debuggability.js:303:9)
    at Promise._resolveFromExecutor (C:\Users\pax07\node_modules\bluebird\js\release\promise.js:483:18)
    at new Promise (C:\Users\pax07\node_modules\bluebird\js\release\promise.js:79:10)
    at PackageManager.runNspScan (C:\Users\pax07\node_modules\homebridge-config-ui-x\src\pm.ts:170:12)
    at executeCommand.then (C:\Users\pax07\node_modules\homebridge-config-ui-x\src\pm.ts:434:28)
    at tryCatcher (C:\Users\pax07\node_modules\bluebird\js\release\util.js:16:23)
    at Promise._settlePromiseFromHandler (C:\Users\pax07\node_modules\bluebird\js\release\promise.js:512:31)
    at Promise._settlePromise (C:\Users\pax07\node_modules\bluebird\js\release\promise.js:569:18)
    at Promise._settlePromise0 (C:\Users\pax07\node_modules\bluebird\js\release\promise.js:614:10)
    at Promise._settlePromises (C:\Users\pax07\node_modules\bluebird\js\release\promise.js:693:18)
    at Promise._fulfill (C:\Users\pax07\node_modules\bluebird\js\release\promise.js:638:18)
    at Promise._resolveCallback (C:\Users\pax07\node_modules\bluebird\js\release\promise.js:432:57)
    at Promise._settlePromiseFromHandler (C:\Users\pax07\node_modules\bluebird\js\release\promise.js:524:17)
    at Promise._settlePromise (C:\Users\pax07\node_modules\bluebird\js\release\promise.js:569:18)
    at Promise._settlePromise0 (C:\Users\pax07\node_modules\bluebird\js\release\promise.js:614:10)
    at Promise._settlePromises (C:\Users\pax07\node_modules\bluebird\js\release\promise.js:693:18)
    at Promise._fulfill (C:\Users\pax07\node_modules\bluebird\js\release\promise.js:638:18)
    at MappingPromiseArray.PromiseArray._resolve (C:\Users\pax07\node_modules\bluebird\js\release\promise_array.js:126:19)
[2018-3-12 21:49:33] Got SIGINT, shutting down Homebridge...
Terminate batch job (Y/N)? y

C:\Users\pax07>npm i homebridge-config-ui-x
npm WARN saveError ENOENT: no such file or directory, open 'C:\Users\pax07\package.json'
npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\pax07\package.json'
npm WARN pax07 No description
npm WARN pax07 No repository field.
npm WARN pax07 No README data
npm WARN pax07 No license field.

+ [email protected]
updated 1 package in 12.731s

C:\Users\pax07>

[Bug] file logging leaves leftover processes in sudo mode

Setup:

  • homebridge-config-ui-x v2.7.0
  • Raspbian jessie / latest stable version of most everything
  • homebridge running as a different user (called "homebridge")
  • homebridge-config-ui-x running with sudo mode enabled
  • homebridge-config-ui-x logging with a file parameter ("/var/log/homebridge.log")

When opening and then closing the logging window multiple times there is a "tail" process being created each time and never closed. These processes remain active during the runtime of homebridge.

This is not the case on another homebridge server where the homebridge process runs as root and the sudo mode is disabled (otherwise same setup).

UI Supported Accessory Types

This issue tracks the types of accessories supported by the Homebridge Config UI X accessory control feature which allows you to view and control your Homebridge accessories in a web browser.

Accessory Types not listed here can still be controlled using your iOS apps.

Currently Supported Accessory Types:

These accessory types can be fully controlled via the Homebridge Config UI X interface:

  • Switch
  • Outlet
  • Motion Detector
  • Occupancy Sensor
  • Contact Sensor
  • Temperature Sensor
  • Humidity Sensor
  • Air Quality Sensor
  • Leak Sensor
  • Garage Door Opener
  • Lock Mechanism
  • Speaker
  • Security System
  • Battery Service
  • Valve
  • Irrigation System
  • Light Sensor

Partially Supported Accessory Types:

These accessory types can controlled via the Homebridge Config UI X interface, but some controls are still not fully implemented:

  • Light Bulb
    • On / Off
    • Brightness
    • Hue
    • Saturation
  • Fan
    • On / Off
    • Rotation Speed
    • Rotation Direction
  • Fan v2
    • On / Off
    • Rotation Speed
    • Rotation Direction
    • Swing Mode
  • Air Purifiers
    • On / Off
    • Rotation Speed
    • Rotation Direction
    • Swing Mode
  • Thermostat
    • Set Mode - Off / Cool / Heat / Auto
    • Current Heating / Cooling State
    • Set Target Temperature
    • Current Temperature
    • Set Target Relative Humidity
    • Current Relative Humidity
    • Set Cooling Threshold Temperature
    • Set Heating Threshold Temperature
  • Heater Cooler
    • Set Mode - Off / Cool / Heat / Auto
    • Current Heating / Cooling State
    • Current Temperature
    • Set Cooling Threshold Temperature
    • Set Heating Threshold Temperature
    • Set Fan Speed
    • Toggle Oscillate
  • Window Covering
    • Opening / Closing / Stopped
    • Position
    • Tilt Angle
    • Obstruction Detected
  • Television
    • On / Off
    • Show Current Input
    • Select Input
    • Remote Control
    • Volume Control
    • Mute

Accessory Types Not Yet Implemented:

If it's not listed above, it's not currently supported.

Adding New Accessory Types

Each accessory type is implemented using an Angular Component. If you know Angular + TypeScript then pull requests for new accessory types are more than welcome.

https://github.com/oznu/homebridge-config-ui-x/tree/master/ui/src/app/modules/accessories/types

secure web

Hi Oznu,

I would like to ask if it is possible to add a secure https connection to your config-ui-x. For now it's my only website without https and because I want to connect over the internet to this great applet I really would like to send my password over https.

Is it possible?

Kind regards,
Abel

Restart not working

I start my homebridge with just homebridge (pi@raspberrypi:~ $ homebridge). I also can start with pm2 start homebridge. However it does not work!

Restarting command won't workโ€ฆ

Trying toโ€ฆ

launchctl unload ~/Library/LaunchAgents/com.homebridge.server.plist && launchctl load ~/Library/LaunchAgents/com.homebridge.server.plist

โ€ฆ fails from Config UI X. From the Terminal it will work as expected.

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.