Giter Club home page Giter Club logo

homebridge-ranger's People

Contributors

grover avatar

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

homebridge-ranger's Issues

After update: HAP-BLE failed with request 5

I've just updated my eve energy to the software revision 1.2.9. Not a smart move, since everything was working (somewhat, I had to monitor homebridge for stalls and fails and restart the service or reboot depending on the circumstances - but thats readily automated).

Now I get these friggin BLE failures:

Aug 07 21:05:53 pizeroW homebridge[227]: [2019-8-7 21:05:53] [Ranger] Discovered services.
Aug 07 21:05:53 pizeroW homebridge[227]: [2019-8-7 21:05:53] [Ranger] Discovered GATT services and characteristics of Eve Energy B253
Aug 07 21:05:53 pizeroW homebridge[227]: [2019-8-7 21:05:53] [Ranger] Connected to Eve Energy B253
Aug 07 21:05:53 pizeroW homebridge[227]: [2019-8-7 21:05:53] [Ranger] Connected to Eve Energy B253
Aug 07 21:05:53 pizeroW homebridge[227]: 2019-08-07T19:05:53.793Z ranger:Eve Energy B253:events Enable all subscriptions on the device.
Aug 07 21:05:53 pizeroW homebridge[227]: 2019-08-07T19:05:53.863Z ranger:Eve Energy B253:errors Failed to read e863f007079e48ff8f279c2605a29f52:000000230000100080000026bb765291 - Error: HAP-BLE request failed with status 5 at HapExecutor
Aug 07 21:05:53 pizeroW homebridge[227]: 2019-08-07T19:05:53.867Z ranger:Eve Energy B253:errors Failed to refresh characteristic e863f007079e48ff8f279c2605a29f52:000000230000100080000026bb765291
Aug 07 21:05:53 pizeroW homebridge[227]: 2019-08-07T19:05:53.938Z ranger:Eve Energy B253:errors Failed to read e863f007079e48ff8f279c2605a29f52:e863f112079e48ff8f279c2605a29f52 - Error: HAP-BLE request failed with status 5 at HapExecutor
Aug 07 21:05:53 pizeroW homebridge[227]: 2019-08-07T19:05:53.942Z ranger:Eve Energy B253:errors Failed to refresh characteristic e863f007079e48ff8f279c2605a29f52:e863f112079e48ff8f279c2605a29f52
Aug 07 21:05:54 pizeroW homebridge[227]: 2019-08-07T19:05:54.028Z ranger:Eve Energy B253:errors Failed to read 000000470000100080000026bb765291:000000230000100080000026bb765291 - Error: HAP-BLE request failed with status 5 at HapExecutor
Aug 07 21:05:54 pizeroW homebridge[227]: 2019-08-07T19:05:54.032Z ranger:Eve Energy B253:errors Failed to refresh characteristic 000000470000100080000026bb765291:000000230000100080000026bb765291
Aug 07 21:05:54 pizeroW homebridge[227]: 2019-08-07T19:05:54.088Z ranger:Eve Energy B253:errors Failed to read 000000470000100080000026bb765291:000000250000100080000026bb765291 - Error: HAP-BLE request failed with status 5 at HapExecutor
Aug 07 21:05:54 pizeroW homebridge[227]: 2019-08-07T19:05:54.092Z ranger:Eve Energy B253:errors Failed to refresh characteristic 000000470000100080000026bb765291:000000250000100080000026bb765291
Aug 07 21:05:54 pizeroW homebridge[227]: 2019-08-07T19:05:54.164Z ranger:Eve Energy B253:errors Failed to read 000000470000100080000026bb765291:000000260000100080000026bb765291 - Error: HAP-BLE request failed with status 5 at HapExecutor
Aug 07 21:05:54 pizeroW homebridge[227]: 2019-08-07T19:05:54.170Z ranger:Eve Energy B253:errors Failed to refresh characteristic 000000470000100080000026bb765291:000000260000100080000026bb765291
Aug 07 21:05:54 pizeroW homebridge[227]: 2019-08-07T19:05:54.224Z ranger:Eve Energy B253:errors Failed to read 000000470000100080000026bb765291:e863f10a079e48ff8f279c2605a29f52 - Error: HAP-BLE request failed with status 5 at HapExecutor
Aug 07 21:05:54 pizeroW homebridge[227]: 2019-08-07T19:05:54.230Z ranger:Eve Energy B253:errors Failed to refresh characteristic 000000470000100080000026bb765291:e863f10a079e48ff8f279c2605a29f52
Aug 07 21:05:54 pizeroW homebridge[227]: 2019-08-07T19:05:54.284Z ranger:Eve Energy B253:errors Failed to read 000000470000100080000026bb765291:e863f126079e48ff8f279c2605a29f52 - Error: HAP-BLE request failed with status 5 at HapExecutor
Aug 07 21:05:54 pizeroW homebridge[227]: 2019-08-07T19:05:54.290Z ranger:Eve Energy B253:errors Failed to refresh characteristic 000000470000100080000026bb765291:e863f126079e48ff8f279c2605a29f52
Aug 07 21:05:54 pizeroW homebridge[227]: 2019-08-07T19:05:54.389Z ranger:Eve Energy B253:errors Failed to read 000000470000100080000026bb765291:e863f10d079e48ff8f279c2605a29f52 - Error: HAP-BLE request failed with status 5 at HapExecutor
Aug 07 21:05:54 pizeroW homebridge[227]: 2019-08-07T19:05:54.395Z ranger:Eve Energy B253:errors Failed to refresh characteristic 000000470000100080000026bb765291:e863f10d079e48ff8f279c2605a29f52
Aug 07 21:05:54 pizeroW homebridge[227]: 2019-08-07T19:05:54.464Z ranger:Eve Energy B253:errors Failed to read 000000470000100080000026bb765291:e863f10c079e48ff8f279c2605a29f52 - Error: HAP-BLE request failed with status 5 at HapExecutor
Aug 07 21:05:54 pizeroW homebridge[227]: 2019-08-07T19:05:54.470Z ranger:Eve Energy B253:errors Failed to refresh characteristic 000000470000100080000026bb765291:e863f10c079e48ff8f279c2605a29f52
Aug 07 21:05:54 pizeroW homebridge[227]: 2019-08-07T19:05:54.541Z ranger:Eve Energy B253:errors Failed to read 000000470000100080000026bb765291:000000a70000100080000026bb765291 - Error: HAP-BLE request failed with status 5 at HapExecutor
Aug 07 21:05:54 pizeroW homebridge[227]: 2019-08-07T19:05:54.547Z ranger:Eve Energy B253:errors Failed to refresh characteristic 000000470000100080000026bb765291:000000a70000100080000026bb765291
Aug 07 21:06:02 pizeroW homebridge[227]: [2019-8-7 21:06:02] [Ranger] Device Eve Degree 4191 issued a disconnected event.
Aug 07 21:06:03 pizeroW homebridge[227]: 2019-08-07T19:06:03.680Z ranger:Eve Energy B253:reads Reading e863f007079e48ff8f279c2605a29f52:e863f116079e48ff8f279c2605a29f52
Aug 07 21:06:03 pizeroW homebridge[227]: 2019-08-07T19:06:03.767Z ranger:Eve Energy B253:errors Failed to read e863f007079e48ff8f279c2605a29f52:e863f116079e48ff8f279c2605a29f52 - Error: HAP-BLE request failed with status 5 at HapExecutor
Aug 07 21:06:22 pizeroW homebridge[227]: [2019-8-7 21:06:22] [Ranger] Reported reachability for Eve Energy B253: false
Aug 07 21:06:33 pizeroW homebridge[227]: [2019-8-7 21:06:33] [Ranger] Disconnected from Eve Energy B253

Job for homebridge.service failed because of unavailable resources or another system error.

When doing a "journalctl -xe'

It gives me this:

-- Subject: Unit homebridge.service has failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
-- 
-- Unit homebridge.service has failed.
-- 
-- The result is failed.
Dec 28 18:57:42 unifipi systemd[1]: homebridge.service: Unit entered failed state.
Dec 28 18:57:42 unifipi systemd[1]: homebridge.service: Failed with result 'resources'.
Dec 28 18:57:46 unifipi systemd[1]: Stopped Node.js HomeKit Server.
-- Subject: Unit homebridge.service has finished shutting down
-- Defined-By: systemd
-- Support: https://www.debian.org/support
-- 
-- Unit homebridge.service has finished shutting down.
Dec 28 18:58:16 unifipi sudo[11538]:     root : TTY=pts/0 ; PWD=/etc/systemd/system ; USER=root ; COMMAND=/usr/bin/apt-get install libcap2-bin
Dec 28 18:58:16 unifipi sudo[11538]: pam_unix(sudo:session): session opened for user root by pi(uid=0)
Dec 28 18:58:17 unifipi sudo[11538]: pam_unix(sudo:session): session closed for user root
Dec 28 18:58:21 unifipi sudo[11551]:     root : TTY=pts/0 ; PWD=/etc/systemd/system ; USER=root ; COMMAND=/sbin/setcap cap_net_raw+eip /opt/node/bin/node
Dec 28 18:58:21 unifipi sudo[11551]: pam_unix(sudo:session): session opened for user root by pi(uid=0)
Dec 28 18:58:21 unifipi sudo[11551]: pam_unix(sudo:session): session closed for user root
Dec 28 18:59:30 unifipi systemd[1]: homebridge.service: Failed to load environment files: No such file or directory
Dec 28 18:59:30 unifipi systemd[1]: homebridge.service: Failed to run 'start' task: No such file or directory
Dec 28 18:59:30 unifipi systemd[1]: Failed to start Node.js HomeKit Server.
-- Subject: Unit homebridge.service has failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
-- 
-- Unit homebridge.service has failed.
-- 
-- The result is failed.
Dec 28 18:59:30 unifipi systemd[1]: homebridge.service: Unit entered failed state.
Dec 28 18:59:30 unifipi systemd[1]: homebridge.service: Failed with result 'resources'.
Dec 28 18:59:40 unifipi systemd[1]: homebridge.service: Service hold-off time over, scheduling restart.
Dec 28 18:59:40 unifipi systemd[1]: Stopped Node.js HomeKit Server.
-- Subject: Unit homebridge.service has finished shutting down
-- Defined-By: systemd
-- Support: https://www.debian.org/support
-- 
-- Unit homebridge.service has finished shutting down.
Dec 28 18:59:40 unifipi systemd[1]: homebridge.service: Failed to load environment files: No such file or directory
Dec 28 18:59:40 unifipi systemd[1]: homebridge.service: Failed to run 'start' task: No such file or directory
Dec 28 18:59:40 unifipi systemd[1]: Failed to start Node.js HomeKit Server.
-- Subject: Unit homebridge.service has failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
-- 
-- Unit homebridge.service has failed.
-- 
-- The result is failed.
Dec 28 18:59:40 unifipi systemd[1]: homebridge.service: Unit entered failed state.
Dec 28 18:59:40 unifipi systemd[1]: homebridge.service: Failed with result 'resources'.

Any idea what this could be? Had some troubles at first installing, but downgraded to NPM 4.6.1 and then the install worked fine, no other issues.

Seems like a very awesome project and would love to have this working on my Raspberry Pi at home :-)

Eve Degree (new version) not saving historical data

Hi, I have an Eve Degree (the new version with the display) already paired to ranger, but looks it is not saving historical data. In the eve app I was able to briefly got some data, and then stopped. I know it is not in the supported device list, but any chance to debug it? Thanks!

How does it extend the range

Love the idea of this plugin, I have a number of out of range devices.

Is it the Bluetooth on the RPI that connects to your HomeKit device??

If so this will not help as the RPI is further away than the ATV, or does this mesh devices together?

Unable to install on fresh raspberrypi install

Hello,

A big thank you for this beautiful project that will allow me to expand the number of devices on my homekit and despite the distance.

I am trying to install this on my Rasperby, however I have this error when I try to install the plugin;

pi@raspberrypi:~ $ sudo npm install -g homebridge-ranger --unsafe-perm

> [email protected] install /opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/curve25519-n
> node-gyp rebuild

make: Entering directory '/opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/curve25519-n/build'
  CXX(target) Release/obj.target/curve/node_curve.o
../node_curve.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE DoCurve(Nan::NAN_METHOD_ARGS_TYPE)’:
../node_curve.cc:18:79: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   unsigned char* arg0 = (unsigned char*) node::Buffer::Data(info[0]->ToObject());
                                                                               ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../../nan/nan.h:53,
                 from ../node_curve.cc:10:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../node_curve.cc:19:79: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   unsigned char* arg1 = (unsigned char*) node::Buffer::Data(info[1]->ToObject());
                                                                               ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../../nan/nan.h:53,
                 from ../node_curve.cc:10:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../node_curve.cc:20:79: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   unsigned char* arg2 = (unsigned char*) node::Buffer::Data(info[2]->ToObject());
                                                                               ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../../nan/nan.h:53,
                 from ../node_curve.cc:10:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
  SOLINK_MODULE(target) Release/obj.target/curve.node
  COPY Release/curve.node
make: Leaving directory '/opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/curve25519-n/build'

> [email protected] install /opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/ed25519-hap
> node-gyp rebuild

make: Entering directory '/opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/ed25519-hap/build'
  CC(target) Release/obj.target/ed25519/src/ed25519/keypair.o
  CC(target) Release/obj.target/ed25519/src/ed25519/sign.o
  CC(target) Release/obj.target/ed25519/src/ed25519/open.o
  CC(target) Release/obj.target/ed25519/src/ed25519/crypto_verify_32.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_double_scalarmult.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_frombytes.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_scalarmult_base.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_precomp_0.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p2_0.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p2_dbl.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p3_0.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p3_dbl.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p3_to_p2.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p3_to_cached.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p3_tobytes.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_madd.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_add.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_msub.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_sub.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p1p1_to_p3.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p1p1_to_p2.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_tobytes.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_0.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_1.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_cmov.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_copy.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_neg.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_add.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_sub.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_mul.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_sq.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_sq2.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_invert.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_tobytes.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_isnegative.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_isnonzero.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_frombytes.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_pow22523.o
  CC(target) Release/obj.target/ed25519/src/ed25519/sc_reduce.o
  CC(target) Release/obj.target/ed25519/src/ed25519/sc_muladd.o
  CXX(target) Release/obj.target/ed25519/src/ed25519.o
../src/ed25519.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE MakeKeypair(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/ed25519.cc:19:98: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  if ((info.Length() < 1) || (!Buffer::HasInstance(info[0])) || (Buffer::Length(info[0]->ToObject()) != 32)) {
                                                                                                  ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:22:77: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  const unsigned char* seed = (unsigned char*)Buffer::Data(info[0]->ToObject());
                                                                             ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE Sign(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/ed25519.cc:53:69: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  if ((info.Length() < 2) || (!Buffer::HasInstance(info[0]->ToObject()))) {
                                                                     ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:56:74: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  if ((Buffer::HasInstance(info[1])) && (Buffer::Length(info[1]->ToObject()) == 32)) {
                                                                          ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:57:72: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   unsigned char* seed = (unsigned char*)Buffer::Data(info[1]->ToObject());
                                                                        ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:65:81: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  } else if ((Buffer::HasInstance(info[1])) && (Buffer::Length(info[1]->ToObject()) == 64)) {
                                                                                 ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:66:63: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   privateKey = (unsigned char*)Buffer::Data(info[1]->ToObject());
                                                               ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:68:53: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   Local<Value> privateKeyBuffer = info[1]->ToObject()->Get(Nan::New<String>("privateKey").ToLocalChecked())->ToObject();
                                                     ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:68:119: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   Local<Value> privateKeyBuffer = info[1]->ToObject()->Get(Nan::New<String>("privateKey").ToLocalChecked())->ToObject();
                                                                                                                       ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:76:45: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  Handle<Object> message = info[0]->ToObject();
                                             ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE Verify(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/ed25519.cc:101:69: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  if ((info.Length() < 3) || (!Buffer::HasInstance(info[0]->ToObject())) ||
                                                                     ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:102:43: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   (!Buffer::HasInstance(info[1]->ToObject())) || (!Buffer::HasInstance(info[2]->ToObject()))) {
                                           ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:102:90: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   (!Buffer::HasInstance(info[1]->ToObject())) || (!Buffer::HasInstance(info[2]->ToObject()))) {
                                                                                          ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:105:45: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  Handle<Object> message = info[0]->ToObject();
                                             ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:106:47: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  Handle<Object> signature = info[1]->ToObject();
                                               ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:107:47: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  Handle<Object> publicKey = info[2]->ToObject();
                                               ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
  SOLINK_MODULE(target) Release/obj.target/ed25519.node
  COPY Release/ed25519.node
make: Leaving directory '/opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/ed25519-hap/build'

> [email protected] install /opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/usb
> node-pre-gyp install --fallback-to-build

node-pre-gyp WARN Using needle for node-pre-gyp https download 
node-pre-gyp WARN Tried to download(404): https://github.com/tessel/node-usb/releases/download/1.5.0/usb_bindings-v1.5.0-node-v67-linux-arm.tar.gz 
node-pre-gyp WARN Pre-built binaries not found for [email protected] and [email protected] (node-v67 ABI, glibc) (falling back to source compile with node-gyp) 
make: Entering directory '/opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/usb/build'
  CC(target) Release/obj.target/libusb/libusb/libusb/core.o
  CC(target) Release/obj.target/libusb/libusb/libusb/descriptor.o
  CC(target) Release/obj.target/libusb/libusb/libusb/hotplug.o
  CC(target) Release/obj.target/libusb/libusb/libusb/io.o
  CC(target) Release/obj.target/libusb/libusb/libusb/strerror.o
  CC(target) Release/obj.target/libusb/libusb/libusb/sync.o
  CC(target) Release/obj.target/libusb/libusb/libusb/os/poll_posix.o
  CC(target) Release/obj.target/libusb/libusb/libusb/os/threads_posix.o
  CC(target) Release/obj.target/libusb/libusb/libusb/os/linux_usbfs.o
  CC(target) Release/obj.target/libusb/libusb/libusb/os/linux_udev.o
  AR(target) Release/obj.target/usb.a
  COPY Release/usb.a
  CXX(target) Release/obj.target/usb_bindings/src/node_usb.o
../src/node_usb.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE SetDebugLevel(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/node_usb.cc:99:73: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  if (info.Length() != 1 || !info[0]->IsUint32() || info[0]->Uint32Value() > 4) {
                                                                         ^
In file included from /root/.node-gyp/11.6.0/include/node/v8.h:26:0,
                 from ../src/node_usb.h:12,
                 from ../src/node_usb.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:2571:47: note: declared here
   V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
                                               ^
/root/.node-gyp/11.6.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../src/node_usb.cc:103:53: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  libusb_set_debug(usb_context, info[0]->Uint32Value());
                                                     ^
In file included from /root/.node-gyp/11.6.0/include/node/v8.h:26:0,
                 from ../src/node_usb.h:12,
                 from ../src/node_usb.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:2571:47: note: declared here
   V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
                                               ^
/root/.node-gyp/11.6.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../src/node_usb.cc: In function ‘void handleHotplug(std::pair<libusb_device*, libusb_hotplug_event>)’:
../src/node_usb.cc:151:58: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, const char*, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
  Nan::MakeCallback(Nan::New(hotplugThis), "emit", 2, argv);
                                                          ^
In file included from ../src/helpers.h:3:0,
                 from ../src/node_usb.h:21,
                 from ../src/node_usb.cc:1:
../../nan/nan.h:1001:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
../src/node_usb.cc: In function ‘v8::Local<v8::Value> libusbException(int)’:
../src/node_usb.cc:301:14: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  e->ToObject()->Set(Nan::New<String>("errno").ToLocalChecked(), Nan::New<Integer>(errorno));
              ^
In file included from ../src/node_usb.h:12:0,
                 from ../src/node_usb.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
  CXX(target) Release/obj.target/usb_bindings/src/device.o
../src/device.cc: In static member function ‘static void Req::default_after(uv_work_t*)’:
../src/device.cc:237:64: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
    Nan::MakeCallback(device, Nan::New(baton->callback), 1, argv);
                                                                ^
In file included from ../src/helpers.h:3:0,
                 from ../src/node_usb.h:21,
                 from ../src/device.cc:1:
../../nan/nan.h:959:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
  CXX(target) Release/obj.target/usb_bindings/src/transfer.o
../src/transfer.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE Transfer_Submit(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/transfer.cc:58:47: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  Local<Object> buffer_obj = info[0]->ToObject();
                                               ^
In file included from ../src/node_usb.h:12:0,
                 from ../src/transfer.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/transfer.cc: In function ‘void handleCompletion(Transfer*)’:
../src/transfer.cc:126:72: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
   Nan::MakeCallback(self->handle(), Nan::New(self->v8callback), 3, argv);
                                                                        ^
In file included from ../src/helpers.h:3:0,
                 from ../src/node_usb.h:21,
                 from ../src/transfer.cc:1:
../../nan/nan.h:959:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
  SOLINK_MODULE(target) Release/obj.target/usb_bindings.node
  COPY Release/usb_bindings.node
  COPY /opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/usb/src/binding/usb_bindings.node
  TOUCH Release/obj.target/action_after_build.stamp
make: Leaving directory '/opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/usb/build'

> [email protected] install /opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/bluetooth-hci-socket
> node-gyp rebuild

make: Entering directory '/opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/bluetooth-hci-socket/build'
  CXX(target) Release/obj.target/binding/src/BluetoothHciSocket.o
../src/BluetoothHciSocket.cpp: In member function ‘void BluetoothHciSocket::poll()’:
../src/BluetoothHciSocket.cpp:251:95: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
     Nan::MakeCallback(Nan::New<Object>(this->This), Nan::New("emit").ToLocalChecked(), 2, argv);
                                                                                               ^
In file included from ../src/BluetoothHciSocket.cpp:8:0:
../../nan/nan.h:980:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
../src/BluetoothHciSocket.cpp: In member function ‘void BluetoothHciSocket::emitErrnoError()’:
../src/BluetoothHciSocket.cpp:275:72: error: no matching function for call to ‘v8::Function::NewInstance(int, v8::Local<v8::Value> [1])’
   Local<Value> error = errorConstructor->NewInstance(1, constructorArgs);
                                                                        ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from /root/.node-gyp/11.6.0/include/node/node_buffer.h:25,
                 from ../src/BluetoothHciSocket.cpp:7:
/root/.node-gyp/11.6.0/include/node/v8.h:4105:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Function::NewInstance(v8::Local<v8::Context>, int, v8::Local<v8::Value>*) const
   V8_WARN_UNUSED_RESULT MaybeLocal<Object> NewInstance(
                                            ^~~~~~~~~~~
/root/.node-gyp/11.6.0/include/node/v8.h:4105:44: note:   candidate expects 3 arguments, 2 provided
/root/.node-gyp/11.6.0/include/node/v8.h:4108:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Function::NewInstance(v8::Local<v8::Context>) const
   V8_WARN_UNUSED_RESULT MaybeLocal<Object> NewInstance(
                                            ^~~~~~~~~~~
/root/.node-gyp/11.6.0/include/node/v8.h:4108:44: note:   candidate expects 1 argument, 2 provided
../src/BluetoothHciSocket.cpp:282:93: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
   Nan::MakeCallback(Nan::New<Object>(this->This), Nan::New("emit").ToLocalChecked(), 2, argv);
                                                                                             ^
In file included from ../src/BluetoothHciSocket.cpp:8:0:
../../nan/nan.h:980:46: note: declared here
   NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                              ^~~~~~~~~~~~
../src/BluetoothHciSocket.cpp: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE BluetoothHciSocket::BindRaw(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/BluetoothHciSocket.cpp:395:34: warning: ‘int64_t v8::Value::IntegerValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
       devId = arg0->IntegerValue();
                                  ^
In file included from /root/.node-gyp/11.6.0/include/node/v8.h:26:0,
                 from /root/.node-gyp/11.6.0/include/node/node.h:63,
                 from /root/.node-gyp/11.6.0/include/node/node_buffer.h:25,
                 from ../src/BluetoothHciSocket.cpp:7:
/root/.node-gyp/11.6.0/include/node/v8.h:2570:46: note: declared here
   V8_DEPRECATED("Use maybe version", int64_t IntegerValue() const);
                                              ^
/root/.node-gyp/11.6.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
../src/BluetoothHciSocket.cpp: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE BluetoothHciSocket::BindUser(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/BluetoothHciSocket.cpp:417:34: warning: ‘int64_t v8::Value::IntegerValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
       devId = arg0->IntegerValue();
                                  ^
In file included from /root/.node-gyp/11.6.0/include/node/v8.h:26:0,
                 from /root/.node-gyp/11.6.0/include/node/node.h:63,
                 from /root/.node-gyp/11.6.0/include/node/node_buffer.h:25,
                 from ../src/BluetoothHciSocket.cpp:7:
/root/.node-gyp/11.6.0/include/node/v8.h:2570:46: note: declared here
   V8_DEPRECATED("Use maybe version", int64_t IntegerValue() const);
                                              ^
/root/.node-gyp/11.6.0/include/node/v8config.h:326:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
binding.target.mk:99: recipe for target 'Release/obj.target/binding/src/BluetoothHciSocket.o' failed
make: *** [Release/obj.target/binding/src/BluetoothHciSocket.o] Error 1
make: Leaving directory '/opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/bluetooth-hci-socket/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/opt/node-v11.6.0-linux-armv7l/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:188:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:254:12)
gyp ERR! System Linux 4.14.79-v7+
gyp ERR! command "/opt/node-v11.6.0-linux-armv7l/bin/node" "/opt/node-v11.6.0-linux-armv7l/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/bluetooth-hci-socket
gyp ERR! node -v v11.6.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok 

> [email protected] install /opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/curve25519-n2
> node-gyp rebuild

make: Entering directory '/opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/curve25519-n2/build'
  CXX(target) Release/obj.target/curve/node_curve.o
../node_curve.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE DoCurve(Nan::NAN_METHOD_ARGS_TYPE)’:
../node_curve.cc:28:73: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   unsigned char* arg0 = (unsigned char*) Buffer::Data(info[0]->ToObject());
                                                                         ^
In file included from ../node_curve.cc:1:0:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../node_curve.cc:29:73: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   unsigned char* arg1 = (unsigned char*) Buffer::Data(info[1]->ToObject());
                                                                         ^
In file included from ../node_curve.cc:1:0:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../node_curve.cc:30:73: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   unsigned char* arg2 = (unsigned char*) Buffer::Data(info[2]->ToObject());
                                                                         ^
In file included from ../node_curve.cc:1:0:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
  SOLINK_MODULE(target) Release/obj.target/curve.node
  COPY Release/curve.node
make: Leaving directory '/opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/curve25519-n2/build'

> [email protected] install /opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/ed25519
> node-gyp rebuild

make: Entering directory '/opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/ed25519/build'
  CC(target) Release/obj.target/ed25519/src/ed25519/keypair.o
  CC(target) Release/obj.target/ed25519/src/ed25519/sign.o
  CC(target) Release/obj.target/ed25519/src/ed25519/open.o
  CC(target) Release/obj.target/ed25519/src/ed25519/crypto_verify_32.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_double_scalarmult.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_frombytes.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_scalarmult_base.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_precomp_0.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p2_0.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p2_dbl.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p3_0.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p3_dbl.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p3_to_p2.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p3_to_cached.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p3_tobytes.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_madd.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_add.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_msub.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_sub.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p1p1_to_p3.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_p1p1_to_p2.o
  CC(target) Release/obj.target/ed25519/src/ed25519/ge_tobytes.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_0.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_1.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_cmov.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_copy.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_neg.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_add.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_sub.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_mul.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_sq.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_sq2.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_invert.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_tobytes.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_isnegative.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_isnonzero.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_frombytes.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_pow22523.o
  CC(target) Release/obj.target/ed25519/src/ed25519/sc_reduce.o
  CC(target) Release/obj.target/ed25519/src/ed25519/sc_muladd.o
  CXX(target) Release/obj.target/ed25519/src/ed25519.o
../src/ed25519.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE MakeKeypair(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/ed25519.cc:19:98: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  if ((info.Length() < 1) || (!Buffer::HasInstance(info[0])) || (Buffer::Length(info[0]->ToObject()) != 32)) {
                                                                                                  ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:22:77: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  const unsigned char* seed = (unsigned char*)Buffer::Data(info[0]->ToObject());
                                                                             ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE Sign(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/ed25519.cc:53:69: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  if ((info.Length() < 2) || (!Buffer::HasInstance(info[0]->ToObject()))) {
                                                                     ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:56:74: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  if ((Buffer::HasInstance(info[1])) && (Buffer::Length(info[1]->ToObject()) == 32)) {
                                                                          ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:57:72: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   unsigned char* seed = (unsigned char*)Buffer::Data(info[1]->ToObject());
                                                                        ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:65:81: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  } else if ((Buffer::HasInstance(info[1])) && (Buffer::Length(info[1]->ToObject()) == 64)) {
                                                                                 ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:66:63: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   privateKey = (unsigned char*)Buffer::Data(info[1]->ToObject());
                                                               ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:68:53: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   Local<Value> privateKeyBuffer = info[1]->ToObject()->Get(Nan::New<String>("privateKey").ToLocalChecked())->ToObject();
                                                     ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:68:119: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   Local<Value> privateKeyBuffer = info[1]->ToObject()->Get(Nan::New<String>("privateKey").ToLocalChecked())->ToObject();
                                                                                                                       ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:76:45: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  Handle<Object> message = info[0]->ToObject();
                                             ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE Verify(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/ed25519.cc:101:69: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  if ((info.Length() < 3) || (!Buffer::HasInstance(info[0]->ToObject())) ||
                                                                     ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:102:43: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   (!Buffer::HasInstance(info[1]->ToObject())) || (!Buffer::HasInstance(info[2]->ToObject()))) {
                                           ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:102:90: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   (!Buffer::HasInstance(info[1]->ToObject())) || (!Buffer::HasInstance(info[2]->ToObject()))) {
                                                                                          ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:105:45: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  Handle<Object> message = info[0]->ToObject();
                                             ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:106:47: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  Handle<Object> signature = info[1]->ToObject();
                                               ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
../src/ed25519.cc:107:47: warning: ‘v8::Local<v8::Object> v8::Value::ToObject() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  Handle<Object> publicKey = info[2]->ToObject();
                                               ^
In file included from /root/.node-gyp/11.6.0/include/node/node.h:63:0,
                 from ../src/ed25519.cc:1:
/root/.node-gyp/11.6.0/include/node/v8.h:10254:15: note: declared here
 Local<Object> Value::ToObject() const {
               ^~~~~
  SOLINK_MODULE(target) Release/obj.target/ed25519.node
  COPY Release/ed25519.node
make: Leaving directory '/opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/node_modules/ed25519/build'

> [email protected] install /opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger
> node install_dependencies.js

npm ERR! code ENOGIT
npm ERR! Error while executing:
npm ERR! undefined ls-remote -h -t ssh://[email protected]/grover/noble.git
npm ERR! 
npm ERR! undefined
npm ERR! No git binary found in $PATH
npm ERR! 
npm ERR! Failed using git.
npm ERR! Please check if you have git installed and in your PATH.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2019-01-02T01_50_54_804Z-debug.log
child_process.js:662
    throw err;
    ^

Error: Command failed: npm install --no-save github:grover/noble#730865a5152d6d767a2d1413c0c27eac4bde3df5 --unsafe-perm
    at checkExecSyncError (child_process.js:622:11)
    at Object.execSync (child_process.js:659:13)
    at Object.<anonymous> (/opt/node-v11.6.0-linux-armv7l/lib/node_modules/homebridge-ranger/install_dependencies.js:35:17)
    at Module._compile (internal/modules/cjs/loader.js:721:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Module.load (internal/modules/cjs/loader.js:620:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
    at Function.Module._load (internal/modules/cjs/loader.js:552:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:774:12)
    at executeUserCode (internal/bootstrap/node.js:342:17)
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/homebridge-ranger/node_modules/xpc-connection):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/homebridge-ranger/node_modules/bluetooth-hci-socket):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] install: `node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `node install_dependencies.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!     /root/.npm/_logs/2019-01-02T01_50_56_072Z-debug.log

pi@raspberrypi:~ $ sudo apt-get install bluetooth bluez libbluetooth-dev libudev-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libudev-dev is already the newest version (232-25+deb9u6).
bluetooth is already the newest version (5.43-2+rpt2+deb9u2).
bluez is already the newest version (5.43-2+rpt2+deb9u2).
libbluetooth-dev is already the newest version (5.43-2+rpt2+deb9u2).
0 upgraded, 0 newly installed, 0 to remove and 16 not upgraded.
pi@raspberrypi:~ $ node -v
v11.6.0
pi@raspberrypi:~ $ npm -v
6.5.0-next.0

Do you have idea ?

Best regards,
Quentin

Unpairing eve door contact

Hi Grover, great job on this plugin. I installed the plugin on a 2006 mac mini with an ASUS BT400 dongle. I followed the recommendation to run this on a dedicated home bridge server as I run my main Homebridge server on a synology.

I have an eve contact that is just on the limit of my ATV4 bluetooth range. Connectivity is unreliable when away from home as the ATV4 is my homekit hub. I want to increase connection reliability with your plugin as the eve contact is only a few metres from my mac mini (the ATV4 is 8m away behind concrete walls).

After the plugin BT scan, the contact is identified as already being paired (probably my ATV or IOS device). In your doc you say: "Make sure that the accessory you want to pair reports as unpaired. The plugin will not pair with accessories that are already paired to a different controller."

  1. So my first question is how to unpair the eve with the other devices so I can pair it with the plugin?
  2. Secondly, if homebridge crashes/restarts do you know if the eve will "re-"pair with the other devices that would be within range?

Thanks

PS: initially the eve contact was added as an homekit accessory via the IOS home and Eve apps

UnhandledPromiseRejectionWarning: Error: Command Disallowed (0xc)

Hi, after updating firmware of my EVE Tehrmo I had to readd the device, but this failed:

(node:6259) UnhandledPromiseRejectionWarning: Error: Command Disallowed (0xc)
    at NobleBindings.onLeConnComplete (/usr/local/lib/node_modules/homebridge-ranger/node_modules/noble/lib/hci-socket/bindings.js:220:13)
    at Hci.emit (events.js:159:13)
    at Hci.processCmdStatusEvent (/usr/local/lib/node_modules/homebridge-ranger/node_modules/noble/lib/hci-socket/hci.js:674:12)
    at Hci.onSocketData (/usr/local/lib/node_modules/homebridge-ranger/node_modules/noble/lib/hci-socket/hci.js:469:12)
    at BluetoothHciSocket.emit (events.js:159:13)
(node:6259) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:6259) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Do you have an Idea?

Unable to see BT devices on startup

Im running this one a P1 Zero W and although it appears to start I don't see any devices appearing so that i can add them to the Config.json file.

I'm on Node 9.7.1 and Npm 6.9.0

log is as follows:
[2019-4-27 23:48:28] Loaded config.json with 1 accessories and 2 platforms.
[2019-4-27 23:48:29] ---
[2019-4-27 23:48:29] Loaded plugin: homebridge-config-ui-x
[2019-4-27 23:48:29] Registering platform 'homebridge-config-ui-x.config'
[2019-4-27 23:48:29] ---
[2019-4-27 23:48:29] Loaded plugin: homebridge-delay-switch
[2019-4-27 23:48:29] Registering accessory 'homebridge-delay-switch.DelaySwitch'
[2019-4-27 23:48:29] ---
[2019-4-27 23:48:34] Loaded plugin: homebridge-ranger
[2019-4-27 23:48:34] Registering platform 'homebridge-ranger.Ranger'
[2019-4-27 23:48:34] ---
[2019-4-27 23:48:34] Loading 2 platforms...
[2019-4-27 23:48:34] [Ranger] Initializing Ranger platform...
[2019-4-27 23:48:34] [Ranger] Ranger Platform Plugin Loaded
[2019-4-27 23:48:34] [Config] Initializing config platform...
[2019-4-27 23:48:34] [Config] Spawning homebridge-config-ui-x with PID 1011
[2019-4-27 23:48:34] Loading 1 accessories...
[2019-4-27 23:48:34] [BT-DelaySwitch] Initializing DelaySwitch accessory...
[2019-4-27 23:48:35] [Ranger] DidFinishLaunching
Setup Payload:
X-HM://0023ISYWZH7EH
Scan this code with your HomeKit app on your iOS device to pair with Homebridge:

The Homebridge shows up in Homekit and the test triggers I've put in work. I can see the bluetooth accessories directly if I run it 'sudo bluetoothctl' see below:

Discovery started
[CHG] Controller B8:27:EB:39:C4:16 Discovering: yes
[NEW] Device 63:50:F9:27:C3:C4 63-50-F9-27-C3-C4
[NEW] Device AC:BC:32:72:FA:0C AC-BC-32-72-FA-0C
[NEW] Device 48:F1:7B:21:9B:D8 48-F1-7B-21-9B-D8
[NEW] Device 3E:FF:93:10:BD:59 3E-FF-93-10-BD-59
[NEW] Device 74:B6:83:81:10:B2 74-B6-83-81-10-B2
[NEW] Device 48:8C:C9:D0:B7:F6 48-8C-C9-D0-B7-F6
[NEW] Device 79:76:82:75:71:45 79-76-82-75-71-45
[NEW] Device 5B:1B:30:12:CC:12 5B-1B-30-12-CC-12
[NEW] Device 88:63:DF:B8:0E:02 88-63-DF-B8-0E-02
[NEW] Device 5C:91:C2:B2:5C:70 5C-91-C2-B2-5C-70
[NEW] Device 10:40:F3:E7:E1:00 10-40-F3-E7-E1-00
[CHG] Device 5B:1B:30:12:CC:12 RSSI: -61
[NEW] Device 4C:FF:EA:99:D3:2F 4C-FF-EA-99-D3-2F

Discovery stuck on fresh install

During the install I had few issues, which I was able to get past, but after getting it to start, it gets stuck after Starting to scan for bluetooth devices. That's the last line in the journalctl that comes visible.

Discovery works fine when using bluetoothctl:

$ sudo bluetoothctl
[NEW] Controller xx:xx:xx:xx:xx:xx rpi3 [default]
[bluetooth]# agent on
Agent registered
[bluetooth]# default-agent
Default agent request successful
[bluetooth]# scan on
Discovery started
[CHG] Controller xx:xx:xx:xx:xx:xx Discovering: yes
[NEW] Device xx:xx:xx:xx:xx:xx Eve Energy 017C
[NEW] Device xx:xx:xx:xx:xx:xx xx-xx-xx-xx-xx-xx
[NEW] Device xx:xx:xx:xx:xx:xx xx-xx-xx-xx-xx-xx
[bluetooth]# exit
Agent unregistered
[DEL] Controller xx:xx:xx:xx:xx:xx rpi3 [default]

I'm using fresh octopi 0.16.0 image on a raspberry pi 3 (https://octoprint.org/download/), and trying to get the Eve Energy to work through this plugin.

The installation issues where that I had to run the sudo -i before sudo npm install -g homebridge-ranger --unsafe-perm, and git was not working as sudo by default, so I had to do the following:

sudo rm /root/bin/git
which git
sudo ln -s /usr/bin/git /root/bin/git
/root/bin/git ls-remote -h -t ssh://[email protected]/grover/noble.git

and then I had to create the homebridge user sudo useradd homebridge.

Things I have tried:

Error at install 0.3.4

Hi @grover , just found a problem during a fresh installing and I fixed it. I would document for future reference:

  • When executing sudo npm install -g homebridge --unsafe-perm, I got the following error:
    Code 128
    Command failed: /usr/bin/git clone -q git://github.com/noble/noble.git /root/.npm/_cacache/tmp/git-clone-febd287b
  • I followed this procedure (https://github.com/KraigM/homebridge-harmonyhub/issues/97)
    sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
  • And I was able to continue install until I got the following error:
    Code 1
    Command failed: /usr/bin/git checkout pull/840/head
  • Finally, I found this reference (https://github.com/markserv/markserv/issues/19), and executed:
    npm install npm -g

After that I executed
npm install -g homebridge --unsafe-perm

I got it working. I noticed that NPM was updated from 5.5.1 to 6.9.0, so I'm guessing that may be the only thing I had to do. I will try tomorrow on a new fresh install and report back.
Thanks!

Works fine with Eve Room (1st gen)

I can confirm that Ranger works well with Eve Room (1st generation, the white "box"), sw v. 1.3.1 (466). The accessory was regularly shown as unresponsive in both the Eve app and Apple Home app, using extended config worked well - after increasing timeout, all works like a snap :)

Config example

"name": "Eve Dining Room",
"address": "c7:15:5e:3f:06:56",
"pin": "123-45-678",
"reachability": "true",
"reachabilityTimeout": "120000",
"rssi": "false"

Onvis Motion Sensor Pairing

Been at this for days now. Followed all instructions. If I dont list the accessory in the config homebrige comes up it shows it found the unpaired item but never auto pairs it.

When I put the device into config I get the following and homebridge crashes.

Config:
{
"bridge": {
"name": "Extender",
"username": "CC:26:3D:E5:CE:30",
"port": 8085,
"pin": "031-45-160"
},
"platforms": [
{
"platform": "Ranger",
"devices": [
{
"name": "Onvis-SMS1-3cf5c4",
"address": "c7:be:d1:ab:c5:57",
"pin": "943-66-752"
}
]
},
{
"platform": "config",
"name": "Config",
"port": 8080,
"sudo": true,
"restart": "sudo -n systemctl restart homebridge",
"log": {
"method": "systemd",
"service": "homebridge"
}
}
],
"accessories": []
}

Log:
[2019-9-2 15:23:12] Loaded config.json with 0 accessories and 2 platforms.
[2019-9-2 15:23:12] ---
[2019-9-2 15:23:13] Loaded plugin: homebridge-config-ui-x
[2019-9-2 15:23:13] Registering platform 'homebridge-config-ui-x.config'
[2019-9-2 15:23:13] ---
[2019-9-2 15:23:15] Loaded plugin: homebridge-ranger
[2019-9-2 15:23:15] Registering platform 'homebridge-ranger.Ranger'
[2019-9-2 15:23:15] ---
[2019-9-2 15:23:16] Loading 2 platforms...
[2019-9-2 15:23:16] [Ranger] Initializing Ranger platform...
[2019-9-2 15:23:16] [Ranger] Ranger Platform Plugin Loaded
[2019-9-2 15:23:16] [Ranger] Found device in config: "Onvis-SMS1-3cf5c4"
[2019-9-2 15:23:16] [Ranger] Waiting for accessory: Onvis-SMS1-3cf5c4
[2019-9-2 15:23:16] [Ranger] Not all accessories have their devices. Not publishing yet.
[2019-9-2 15:23:16] [Config] Initializing config platform...
[2019-9-2 15:23:16] [Config] Spawning homebridge-config-ui-x with PID 5940
[2019-9-2 15:23:16] Loading 0 accessories...
[2019-9-2 15:23:16] [Ranger] DidFinishLaunching
[2019-9-2 15:23:17] [Ranger] Found paired accessory Yale Lock address=e8:cf:08:0b:94:3c rssi=-87dB
[2019-9-2 15:23:20] [Ranger] Found unpaired accessory Onv address=c7:be:d1:ab:c5:57 rssi=-64dB
[2019-9-2 15:23:20] [Ranger] Accessory 'Onvis-SMS1-3cf5c4' found.
[2019-9-2 15:23:28] [Ranger] Discovered services.
[2019-9-2 15:23:28] [Ranger] Discovered GATT services and characteristics of Onvis-SMS1-3cf5c4
[2019-9-2 15:23:28] [Ranger] Connected to Onvis-SMS1-3cf5c4
[2019-9-2 15:23:33] [Ranger] Disconnected from Onvis-SMS1-3cf5c4
(node:5916) UnhandledPromiseRejectionWarning: Error: Disconnected
at HapBleDevice._rejectPendingOperations (/opt/node-v9.3.0-linux-armv6l/lib/node_modules/homebridge-ranger/src/hap/HapBleDevice.js:248:17)
at HapBleDevice._onDisconnected (/opt/node-v9.3.0-linux-armv6l/lib/node_modules/homebridge-ranger/src/hap/HapBleDevice.js:131:12)
at Peripheral.emit (events.js:159:13)
at Noble.onDisconnect (/opt/node-v9.3.0-linux-armv6l/lib/node_modules/homebridge-ranger/node_modules/noble/lib/noble.js:206:16)
at NobleBindings.emit (events.js:159:13)
at NobleBindings.onDisconnComplete (/opt/node-v9.3.0-linux-armv6l/lib/node_modules/homebridge-ranger/node_modules/noble/lib/hci-socket/bindings.js:259:10)
at Hci.emit (events.js:159:13)
at Hci.onSocketData (/opt/node-v9.3.0-linux-armv6l/lib/node_modules/homebridge-ranger/node_modules/noble/lib/hci-socket/hci.js:443:12)
at BluetoothHciSocket.emit (events.js:159:13)
(node:5916) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:5916) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
[2019-9-2 15:23:33] [Ranger] Device Onvis-SMS1-3cf5c4 issued a disconnected event.
[2019-9-2 15:23:33] [Ranger] Reported reachability for Onvis-SMS1-3cf5c4: true
[2019-9-2 15:23:42] [Config] Homebridge Config UI X v4.6.1 is listening on :: port 8080
homebridge : TTY=pts/0 ; PWD=/var/lib/homebridge ; USER=root ; COMMAND=/bin/journalctl -o cat -n 500 -f -u homebridge
pam_unix(sudo:session): session opened for user root by (uid=0)
homebridge : TTY=pts/2 ; PWD=/var/lib/homebridge ; USER=root ; COMMAND=/bin/journalctl -o cat -n 500 -f -u homebridge
pam_unix(sudo:session): session opened for user root by (uid=0)
homebridge : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/bin/kill -9 5993
pam_unix(sudo:session): session opened for user root by (uid=0)
pam_unix(sudo:session): session closed for user root
[2019-9-2 15:24:26] [Config] Multiple Instances Of Homebridge Found Installed
[2019-9-2 15:24:26] [Config] /opt/node-v9.3.0-linux-armv6l/lib/node_modules/homebridge
[2019-9-2 15:24:26] [Config] /usr/local/lib/node_modules/homebridge
homebridge : TTY=pts/2 ; PWD=/var/lib/homebridge ; USER=root ; COMMAND=/bin/journalctl -o cat -n 500 -f -u homebridge
pam_unix(sudo:session): session opened for user root by (uid=0)
homebridge : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/bin/kill -9 6011
pam_unix(sudo:session): session opened for user root by (uid=0)
[2019-9-2 15:26:01] [Config] Multiple Instances Of Homebridge Found Installed
pam_unix(sudo:session): session closed for user root
[2019-9-2 15:26:01] [Config] /opt/node-v9.3.0-linux-armv6l/lib/node_modules/homebridge
[2019-9-2 15:26:01] [Config] /usr/local/lib/node_modules/homebridge
homebridge : TTY=pts/2 ; PWD=/var/lib/homebridge ; USER=root ; COMMAND=/bin/journalctl -o cat -n 500 -f -u homebridge
pam_unix(sudo:session): session opened for user root by (uid=0)

Homebridge-Ranger Installations Commando

Hallo Grover!

Ich habe mir das gleiche Raspberry angelegt wie in der Readme beschrieben. Soweit komme ich auch mit der Installation voran, jedoch gibt der Befehl, der das Plugin homebridge-ranger installieren soll einen Fehler aus. Kannst du das nachvollziehen?

Viele Grüße
Dominik
bildschirmfoto 2018-03-20 um 17 16 54

Bluetooth on iphone

Hi there,

i love the ranger. it solves a huge problem for me.

I just wanted to leave some experiences here:

  1. while on mac and ipad i could control my eve thermos (1. and 2. gen) on the iphone they showed up as not reachable. This stopped when i disabled bluetooth on the iphone. somehow the iphone wanted to reach them directly which it couldnt. i will keep track of this going fwd.
  2. ranger is much better than an unreachable thermo. but sometimes it is not repaonding fast enough for an automation to succeed. i pit in these automations three times every minute. works👍

Keep up the great work,
Best from Berlin nils

Ranger can't find eve after battery change

Hello, I replaced the battery of an eve door contact and relaunched homebridge. The device was unpowered for a month and now the plugin can't re-discover the eve.

I checked the homebridge server is working on IOS, deleted homebridge persist and accessories sub-folders to refresh. I checked the mac is using the external BLE bluetooth adapter. Reset the Eve.

I tried a skeleton config.json and the previous config.son with the eve contact BT details. For some reason the plugin does not seem to launch the BT scan. See below message "Not all accessories have their devices. Not publishing yet."

The eve app can see the eve after its scan.

Any ideas? Thanks

$ DEBUG=homebridge,ranger:* homebridge
[2018-6-4 22:26:30] Loaded plugin: homebridge-ranger
[2018-6-4 22:26:30] Registering platform 'homebridge-ranger.Ranger'
[2018-6-4 22:26:30] ---
[2018-6-4 22:26:30] Loaded config.json with 0 accessories and 1 platforms.
[2018-6-4 22:26:30] ---
[2018-6-4 22:26:30] Loading 1 platforms...
[2018-6-4 22:26:30] [Ranger] Initializing Ranger platform...
[2018-6-4 22:26:30] [Ranger] Ranger Platform Plugin Loaded
[2018-6-4 22:26:30] [Ranger] Found device in config: "Eve Door"
[2018-6-4 22:26:30] [Ranger] Waiting for accessory: Eve Door
[2018-6-4 22:26:30] [Ranger] Not all accessories have their devices. Not publishing yet.
[2018-6-4 22:26:30] Loading 0 accessories...
[2018-6-4 22:26:30] [Ranger] DidFinishLaunching

Bluetooth scanning not starting

Hi,

I think I have everything installed correctly using sudo npm install -g --unsafe-perm palasinio/homebridge-ranger

Log reports this:

[9/14/2020, 6:36:37 PM] [HB Supervisor] Starting Homebridge with extra flags: -I -D
[9/14/2020, 6:36:37 PM] [HB Supervisor] Started Homebridge v1.1.6 with PID: 1192
[9/14/2020, 6:36:43 PM] Loaded config.json with 0 accessories and 2 platforms.
[9/14/2020, 6:36:43 PM] ---
[9/14/2020, 6:36:48 PM] Loaded plugin: [email protected]
[9/14/2020, 6:36:48 PM] Registering platform 'homebridge-config-ui-x.config'
[9/14/2020, 6:36:48 PM] ---
[9/14/2020, 6:36:51 PM] Loaded plugin: [email protected]
[9/14/2020, 6:36:51 PM] Registering platform 'homebridge-ranger.Ranger'
[9/14/2020, 6:36:51 PM] ---
[9/14/2020, 6:36:51 PM] Loading 2 platforms...
[9/14/2020, 6:36:51 PM] [Config] Initializing config platform...
[9/14/2020, 6:36:51 PM] [Config] Running in Service Mode
[9/14/2020, 6:36:51 PM] [Ranger] Initializing Ranger platform...
[9/14/2020, 6:36:51 PM] [Ranger] Ranger Platform Plugin Loaded
[9/14/2020, 6:36:51 PM] [Ranger] DidFinishLaunching
Setup Payload:

I did give the node executable permissions with: sudo setcap cap_net_raw+eip $(eval readlink -f which node)

I think it is a permissions thing or naming problem but kinda stuck.

currently running:

Node.js Version v12.18.3
Npm Version v6.14.6
Homebridge Version 1.1.6

Many Thanks for the help

Not discovering new devices

So I updated to 0.3.3 today, everything is fine and the current devices are all still working :-)

However, I have an Eve Thermo (version 1) that I want to connect, I unpaired it from the Eve app, did a full reset on the Thermo so it is ready to be paired to the homebridge-ranger.

However, I'm not seeing any "Found unpaired accessory" statement whatsoever popping up in the log file. Just the same information that was there before when I restart homebridge (even with debug mode on, there is nothing)

Did something change as a result of the changes you made that made it to bump this version that it doesn't discover new devices anymore?

I even tried moving the Raspberry Pi to 50cm's of the Eve Thermo to maybe help discover it, but nothing.

Let me know if you want some more information to help to debug this one, although there is nothing of interest really in the logfile from what I can tell.

Error when installing

I tried installing but along the way I got this error code. Can you hep me? I have tried installing git as instructed in another issue..

My goal is to connect an Eve Aqua located at a great distance from my hub, so I hope you guys can help. :-)

npm ERR! code 128
npm ERR! Command failed: /usr/bin/git clone --depth=1 -q -b connection-interval-test git://github.com/grover/noble.git /root/.npm/_cacache/tmp/git-clone-4336d054
npm ERR! fatal: could not create leading directories of '/root/.npm/_cacache/tmp/git-clone-4336d054': Permission denied
npm ERR!

npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2019-01-05T17_37_59_826Z-debug.log
child_process.js:614
throw err;
^

Error: Command failed: npm install --no-save github:grover/noble#730865a5152d6d767a2d1413c0c27eac4bde3df5 --unsafe-perm
at checkExecSyncError (child_process.js:574:11)
at Object.execSync (child_process.js:611:13)
at Object. (/opt/node-v9.3.0-linux-armv7l/lib/node_modules/homebridge-ranger/install_dependencies.js:35:17)
at Module._compile (module.js:660:30)
at Object.Module._extensions..js (module.js:671:10)
at Module.load (module.js:573:32)
at tryModuleLoad (module.js:513:12)
at Function.Module._load (module.js:505:3)
at Function.Module.runMain (module.js:701:10)
at startup (bootstrap_node.js:194:16)
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/homebridge-ranger/node_modules/xpc-connection):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"})

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: node install_dependencies.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! /root/.npm/_logs/2019-01-05T17_38_06_652Z-debug.log

UnhandledPromiseRejectionWarning: Error: HAP-BLE request failed with status 4

[2018-11-11 10:12:24] [Ranger] Discovered GATT services and characteristics of Eve Thermo 0514
[2018-11-11 10:12:24] [Ranger] Connected to Eve Thermo 0514
(node:1732) UnhandledPromiseRejectionWarning: Error: HAP-BLE request failed with status 4
at HapExecutor._getResponsePayload (/usr/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:135:13)
at HapExecutor._executeCommand (/usr/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:64:34)
at
(node:1732) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:1732) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
[2018-11-11 10:12:45] [Ranger] Reported reachability for Eve Thermo 0514: true

Problem bluetooth-hci-socket on raspberry

I tried node 9, 10 and 11 on fresh raspberry installation. No way to get it run, it seems that a subcomponent of noble doesn't install, bluetooth-hci-socket.

/root/.node-gyp/11.15.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase::SetWeak(P*, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void ()(const v8::WeakCallbackInfoNan::ObjectWrap&)]’:
../../nan/nan_object_wrap.h:65:61: required from here
/root/.node-gyp/11.15.0/include/node/v8.h:9710:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfoNan::ObjectWrap::Callback’ {aka ‘void (
)(const v8::WeakCallbackInfoNan::ObjectWrap&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo&)’} [-Wcast-function-type]
make: *** [binding.target.mk:99: Release/obj.target/binding/src/BluetoothHciSocket.o] Error 1
make: uscita dalla directory "/usr/local/lib/node_modules/homebridge-ranger/node_modules/bluetooth-hci-socket/build"
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack at ChildProcess.emit (events.js:193:13)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:255:12)
gyp ERR! System Linux 4.19.75+
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-ranger/node_modules/bluetooth-hci-socket
gyp ERR! node -v v11.15.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/homebridge-ranger/node_modules/bluetooth-hci-socket):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] install: node-gyp rebuild
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1

Any suggestion?
many thanks

Device not Supported

Hi I am running home-ranger on my homebridge instance with an Evo Door Sensor and as I can see, homebridge set the device as non supported:

Any change to force homebridge to consider it supported. I would like to use node-red to be able to extract accessories information for some flows I would like to set up

Eve Energy: Disconnect after a few minutes

Hi,

I got the ranger to work on my Homebridge system on a RPi 3.
After a fresh start it connects to my Eve Energy and everything works.

However after a few minutes the connection seems to get lost (RPi is next to the Eve Energy) and I cant get it to reconnect. Only by restarting Homebridge.

Any idea what I could do? I tried to set the Timeout value in the config but Homebride wont finish the start up in this case without error (PIN will never be shown on the console).

Can you help?

Thanks for maintaining this plugin!

2 of 3 Eve Energy OK, 3rd: HAP-BLE request failed with status 5

I have performed a clean install on a raspberry zero W. Everyting working as expected, was able to pair all three Eve Energy that I have, however one is always failing. Unpaired and paired again, the failing device is always a different one.

Any suggestions? Grep syslog for dev ID:

Jun 26 18:35:01 piW homebridge[17679]: [2019-6-26 18:35:01] [Ranger] Found device in config: "Eve Energy 293C"
Jun 26 18:35:02 piW homebridge[17679]: [2019-6-26 18:35:02] [Ranger] Waiting for accessory: Eve Energy 293C
Jun 26 18:35:02 piW homebridge[17679]: [2019-6-26 18:35:02] [Ranger] Waiting for accessory: Eve Energy 293C
Jun 26 18:35:02 piW homebridge[17679]: [2019-6-26 18:35:02] [Ranger] Accessory 'Eve Energy 293C' found.
Jun 26 18:35:25 piW homebridge[17679]: [2019-6-26 18:35:25] [Ranger] Discovered GATT services and characteristics of Eve Energy 293C
Jun 26 18:35:25 piW homebridge[17679]: [2019-6-26 18:35:25] [Ranger] Connected to Eve Energy 293C
Jun 26 18:35:30 piW homebridge[17679]: 2019-06-26T16:35:30.649Z ranger:Eve Energy 293C:reads Reading 0000003e0000100080000026bb765291:000000200000100080000026bb765291
Jun 26 18:35:30 piW homebridge[17679]: 2019-06-26T16:35:30.720Z ranger:Eve Energy 293C:errors Failed to read 0000003e0000100080000026bb765291:000000200000100080000026bb765291 - Error: HAP-BLE request failed with status 5 at HapExecutor.\
_getResponsePayload (/opt/node-v9.3.0-linux-armv6l/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:143:13) at HapExecutor._executeCommand (/opt/node-v9.3.0-linux-armv6l/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js\
:72:34) at <anonymous>
Jun 26 18:35:30 piW homebridge[17679]: 2019-06-26T16:35:30.730Z ranger:Eve Energy 293C:reads Reading 0000003e0000100080000026bb765291:000000210000100080000026bb765291
Jun 26 18:35:30 piW homebridge[17679]: 2019-06-26T16:35:30.791Z ranger:Eve Energy 293C:errors Failed to read 0000003e0000100080000026bb765291:000000210000100080000026bb765291 - Error: HAP-BLE request failed with status 5 at HapExecutor.\
_getResponsePayload (/opt/node-v9.3.0-linux-armv6l/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:143:13) at HapExecutor._executeCommand (/opt/node-v9.3.0-linux-armv6l/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js\
:72:34) at <anonymous>
Jun 26 18:35:30 piW homebridge[17679]: 2019-06-26T16:35:30.802Z ranger:Eve Energy 293C:reads Reading 0000003e0000100080000026bb765291:000000230000100080000026bb765291
Jun 26 18:35:30 piW homebridge[17679]: 2019-06-26T16:35:30.866Z ranger:Eve Energy 293C:errors Failed to read 0000003e0000100080000026bb765291:000000230000100080000026bb765291 - Error: HAP-BLE request failed with status 5 at HapExecutor.\
_getResponsePayload (/opt/node-v9.3.0-linux-armv6l/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:143:13) at HapExecutor._executeCommand (/opt/node-v9.3.0-linux-armv6l/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js\
:72:34) at <anonymous>
Jun 26 18:35:30 piW homebridge[17679]: 2019-06-26T16:35:30.876Z ranger:Eve Energy 293C:reads Reading 0000003e0000100080000026bb765291:000000300000100080000026bb765291
Jun 26 18:35:30 piW homebridge[17679]: 2019-06-26T16:35:30.941Z ranger:Eve Energy 293C:errors Failed to read 0000003e0000100080000026bb765291:000000300000100080000026bb765291 - Error: HAP-BLE request failed with status 5 at HapExecutor.\
_getResponsePayload (/opt/node-v9.3.0-linux-armv6l/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:143:13) at HapExecutor._executeCommand (/opt/node-v9.3.0-linux-armv6l/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js\
:72:34) at <anonymous>
Jun 26 18:35:30 piW homebridge[17679]: 2019-06-26T16:35:30.962Z ranger:Eve Energy 293C:reads Reading 0000003e0000100080000026bb765291:000000520000100080000026bb765291
Jun 26 18:35:31 piW homebridge[17679]: 2019-06-26T16:35:31.043Z ranger:Eve Energy 293C:errors Failed to read 0000003e0000100080000026bb765291:000000520000100080000026bb765291 - Error: HAP-BLE request failed with status 5 at HapExecutor.\
_getResponsePayload (/opt/node-v9.3.0-linux-armv6l/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:143:13) at HapExecutor._executeCommand (/opt/node-v9.3.0-linux-armv6l/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js\
:72:34) at <anonymous>
Jun 26 18:35:31 piW homebridge[17679]: 2019-06-26T16:35:31.054Z ranger:Eve Energy 293C:reads Reading 0000003e0000100080000026bb765291:000000530000100080000026bb765291
Jun 26 18:35:31 piW homebridge[17679]: 2019-06-26T16:35:31.121Z ranger:Eve Energy 293C:errors Failed to read 0000003e0000100080000026bb765291:000000530000100080000026bb765291 - Error: HAP-BLE request failed with status 5 at HapExecutor.\
_getResponsePayload (/opt/node-v9.3.0-linux-armv6l/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:143:13) at HapExecutor._executeCommand (/opt/node-v9.3.0-linux-armv6l/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js\
:72:34) at <anonymous>

Paired

Hey Groover,

can't paired my eve aqua:

Jul 14 10:32:06 raspberrypi homebridge[634]: Load homebridge-telegram.Telegram
Jul 14 10:32:06 raspberrypi homebridge[634]: [2019-7-14 10:32:06] [homebridge-telegram.Telegram] TelegramPlatform Plugin Loaded
Jul 14 10:32:06 raspberrypi homebridge[634]: [2019-7-14 10:32:06] [Ranger] DidFinishLaunching
Jul 14 10:32:32 raspberrypi homebridge[634]: [2019-7-14 10:32:32] [Ranger] Found unpaired accessory Eve address=XXXXXXXXXXXX rssi=-90dB
Jul 14 10:32:32 raspberrypi homebridge[634]: [2019-7-14 10:32:32] [Ranger] Accessory 'Accessory' found.
Jul 14 10:32:35 raspberrypi homebridge[634]: [2019-7-14 10:32:35] [Ranger] Discovered services.
Jul 14 10:32:39 raspberrypi homebridge[634]: [2019-7-14 10:32:39] [Ranger] Discovered GATT services and characteristics of Accessory
Jul 14 10:32:39 raspberrypi homebridge[634]: [2019-7-14 10:32:39] [Ranger] Connected to Accessory
Jul 14 10:32:43 raspberrypi homebridge[634]: [2019-7-14 10:32:43] [Ranger] Disconnected from Accessory

What's wrang?

HAP-BLE request failed with status 5

Device characteristics can't be read properly. I've tried a few things, but I've fully removed it from any homekit as to not have it paired to anything. Running on MacOS at the moment, but will have access to a pi soon.

node v11.14.0
npm 6.9.0
homebridge 0.4.48
homebridge-ranger 0.3.4

Edit: tried [email protected]

config:

{
  "bridge": {
    "name": "HomeBridge",
    "username": "F4:0F:24:24:A4:00",
    "port": 51826,
    "pin": "xxx-xx-xxx"
  },
  "platforms": [
    {
      "platform": "Ranger",
      "devices": [
        {
          "name": "Front Door",
          "address": "78-9c-85-06-23-66",
          "pin": "xxx-xx-xxx"
        }
        
      ]
    }
  ]
}

output

[27/04/2019, 6:49:17 pm] Loaded config.json with 0 accessories and 1 platforms.
[27/04/2019, 6:49:17 pm] ---
[27/04/2019, 6:49:18 pm] Loaded plugin: homebridge-ranger
[27/04/2019, 6:49:18 pm] Registering platform 'homebridge-ranger.Ranger'
[27/04/2019, 6:49:18 pm] ---
[27/04/2019, 6:49:18 pm] Loading 1 platforms...
[27/04/2019, 6:49:18 pm] [Ranger] Initializing Ranger platform...
[27/04/2019, 6:49:18 pm] [Ranger] Ranger Platform Plugin Loaded
[27/04/2019, 6:49:18 pm] [Ranger] Found device in config: "Front Door"
[27/04/2019, 6:49:18 pm] [Ranger] Waiting for accessory: Front Door
[27/04/2019, 6:49:18 pm] [Ranger] Not all accessories have their devices. Not publishing yet.
[27/04/2019, 6:49:18 pm] [Ranger] DidFinishLaunching
[27/04/2019, 6:49:23 pm] [Ranger] Found paired accessory L306A9H address=78-9c-85-06-23-66 rssi=-94dB
[27/04/2019, 6:49:23 pm] [Ranger] Accessory 'Front Door' found.
  ranger:Front Door:reads Reading 0000003e0000100080000026bb765291:000000200000100080000026bb765291 +0ms
[27/04/2019, 6:49:23 pm] [Ranger] Connecting to Front Door
[27/04/2019, 6:49:27 pm] [Ranger] Discovered services.
[27/04/2019, 6:49:27 pm] [Ranger] Discovered GATT services and characteristics of Front Door
[27/04/2019, 6:49:27 pm] [Ranger] Connected to Front Door
[27/04/2019, 6:49:27 pm] [Ranger] Connected to Front Door
  ranger:Front Door:events Enable all subscriptions on the device. +0ms
  ranger:Front Door:errors Failed to read 0000003e0000100080000026bb765291:000000200000100080000026bb765291 - Error: HAP-BLE request failed with status 5 at HapExecutor._getResponsePayload (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:143:13) at HapExecutor._executeCommand (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:72:34) +0ms
[27/04/2019, 6:49:27 pm] [Ranger] Failed to retrieve characteristic Manufacturer for accessory information.
  ranger:Front Door:reads Reading 0000003e0000100080000026bb765291:000000210000100080000026bb765291 +5s
  ranger:Front Door:errors Failed to read 0000003e0000100080000026bb765291:000000210000100080000026bb765291 - Error: HAP-BLE request failed with status 5 at HapExecutor._getResponsePayload (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:143:13) at HapExecutor._executeCommand (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:72:34) +223ms
[27/04/2019, 6:49:27 pm] [Ranger] Failed to retrieve characteristic Model for accessory information.
  ranger:Front Door:reads Reading 0000003e0000100080000026bb765291:000000230000100080000026bb765291 +221ms
  ranger:Front Door:errors Failed to read 0000003e0000100080000026bb765291:000000230000100080000026bb765291 - Error: HAP-BLE request failed with status 5 at HapExecutor._getResponsePayload (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:143:13) at HapExecutor._executeCommand (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:72:34) +180ms
[27/04/2019, 6:49:28 pm] [Ranger] Failed to retrieve characteristic Name for accessory information.
  ranger:Front Door:reads Reading 0000003e0000100080000026bb765291:000000300000100080000026bb765291 +181ms
  ranger:Front Door:errors Failed to read 0000003e0000100080000026bb765291:000000300000100080000026bb765291 - Error: HAP-BLE request failed with status 5 at HapExecutor._getResponsePayload (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:143:13) at HapExecutor._executeCommand (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:72:34) +180ms
[27/04/2019, 6:49:28 pm] [Ranger] Failed to retrieve characteristic Serial Number for accessory information.
  ranger:Front Door:reads Reading 0000003e0000100080000026bb765291:000000520000100080000026bb765291 +180ms
  ranger:Front Door:errors Failed to read 0000003e0000100080000026bb765291:000000520000100080000026bb765291 - Error: HAP-BLE request failed with status 5 at HapExecutor._getResponsePayload (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:143:13) at HapExecutor._executeCommand (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:72:34) +270ms
[27/04/2019, 6:49:28 pm] [Ranger] Failed to retrieve characteristic Firmware Revision for accessory information.
[27/04/2019, 6:49:28 pm] [Ranger] Publishing BLE service 00000045-0000-1000-8000-0026BB765291 via proxy
[27/04/2019, 6:49:28 pm] [Ranger] Publishing BLE service 00000044-0000-1000-8000-0026BB765291 via proxy
  ranger:Front Door:events Refreshing 000000450000100080000026bb765291:000000230000100080000026bb765291 +0ms
  ranger:Front Door:reads Reading 000000450000100080000026bb765291:000000230000100080000026bb765291 +272ms
  ranger:Front Door:events Refreshing 000000450000100080000026bb765291:0000001d0000100080000026bb765291 +0ms
  ranger:Front Door:reads Reading 000000450000100080000026bb765291:0000001d0000100080000026bb765291 +1ms
  ranger:Front Door:events Refreshing 000000450000100080000026bb765291:0000001e0000100080000026bb765291 +1ms
  ranger:Front Door:reads Reading 000000450000100080000026bb765291:0000001e0000100080000026bb765291 +0ms
  ranger:Front Door:events Refreshing 000000440000100080000026bb765291:000000370000100080000026bb765291 +0ms
  ranger:Front Door:reads Reading 000000440000100080000026bb765291:000000370000100080000026bb765291 +0ms
[27/04/2019, 6:49:28 pm] [Ranger] Initializing platform accessory 'Front Door'...
Setup Payload:
X-HM://0023IQTR65NBM
Scan this code with your HomeKit app on your iOS device to pair with Homebridge:
                       
[27/04/2019, 6:49:28 pm] Homebridge is running on port 51826.
  ranger:Front Door:errors Failed to read 000000450000100080000026bb765291:000000230000100080000026bb765291 - Error: HAP-BLE request failed with status 5 at HapExecutor._getResponsePayload (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:143:13) at HapExecutor._executeCommand (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:72:34) +255ms
  ranger:Front Door:errors Failed to refresh characteristic 000000450000100080000026bb765291:000000230000100080000026bb765291 +0ms
  ranger:Front Door:errors Failed to read 000000450000100080000026bb765291:0000001d0000100080000026bb765291 - Error: HAP-BLE request failed with status 5 at HapExecutor._getResponsePayload (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:143:13) at HapExecutor._executeCommand (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:72:34) +90ms
  ranger:Front Door:errors Failed to refresh characteristic 000000450000100080000026bb765291:0000001d0000100080000026bb765291 +0ms
  ranger:Front Door:errors Failed to read 000000450000100080000026bb765291:0000001e0000100080000026bb765291 - Error: HAP-BLE request failed with status 5 at HapExecutor._getResponsePayload (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:143:13) at HapExecutor._executeCommand (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:72:34) +90ms
  ranger:Front Door:errors Failed to refresh characteristic 000000450000100080000026bb765291:0000001e0000100080000026bb765291 +0ms
  ranger:Front Door:errors Failed to read 000000440000100080000026bb765291:000000370000100080000026bb765291 - Error: HAP-BLE request failed with status 5 at HapExecutor._getResponsePayload (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:143:13) at HapExecutor._executeCommand (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:72:34) +75ms
  ranger:Front Door:errors Failed to refresh characteristic 000000440000100080000026bb765291:000000370000100080000026bb765291 +0ms
[27/04/2019, 6:49:57 pm] [Ranger] Disconnected from Front Door
[27/04/2019, 6:49:57 pm] [Ranger] Reported reachability for Front Door: true
  ranger:Front Door:events Refreshing 000000450000100080000026bb765291:000000230000100080000026bb765291 +29s
  ranger:Front Door:reads Reading 000000450000100080000026bb765291:000000230000100080000026bb765291 +29s
  ranger:Front Door:events Refreshing 000000450000100080000026bb765291:0000001d0000100080000026bb765291 +1ms
  ranger:Front Door:reads Reading 000000450000100080000026bb765291:0000001d0000100080000026bb765291 +0ms
  ranger:Front Door:events Refreshing 000000450000100080000026bb765291:0000001e0000100080000026bb765291 +0ms
  ranger:Front Door:reads Reading 000000450000100080000026bb765291:0000001e0000100080000026bb765291 +0ms
  ranger:Front Door:events Refreshing 000000440000100080000026bb765291:000000370000100080000026bb765291 +0ms
  ranger:Front Door:reads Reading 000000440000100080000026bb765291:000000370000100080000026bb765291 +0ms
[27/04/2019, 6:49:57 pm] [Ranger] Connecting to Front Door
[27/04/2019, 6:49:58 pm] [Ranger] Discovered services.
[27/04/2019, 6:49:59 pm] [Ranger] Discovered GATT services and characteristics of Front Door
[27/04/2019, 6:49:59 pm] [Ranger] Connected to Front Door
[27/04/2019, 6:49:59 pm] [Ranger] Connected to Front Door
  ranger:Front Door:events Enable all subscriptions on the device. +32s
  ranger:Front Door:errors Failed to read 000000450000100080000026bb765291:000000230000100080000026bb765291 - Error: HAP-BLE request failed with status 5 at HapExecutor._getResponsePayload (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:143:13) at HapExecutor._executeCommand (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:72:34) +30s
  ranger:Front Door:errors Failed to refresh characteristic 000000450000100080000026bb765291:000000230000100080000026bb765291 +0ms
  ranger:Front Door:errors Failed to read 000000450000100080000026bb765291:0000001d0000100080000026bb765291 - Error: HAP-BLE request failed with status 5 at HapExecutor._getResponsePayload (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:143:13) at HapExecutor._executeCommand (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:72:34) +75ms
  ranger:Front Door:errors Failed to refresh characteristic 000000450000100080000026bb765291:0000001d0000100080000026bb765291 +0ms
  ranger:Front Door:errors Failed to read 000000450000100080000026bb765291:0000001e0000100080000026bb765291 - Error: HAP-BLE request failed with status 5 at HapExecutor._getResponsePayload (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:143:13) at HapExecutor._executeCommand (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:72:34) +165ms
  ranger:Front Door:errors Failed to refresh characteristic 000000450000100080000026bb765291:0000001e0000100080000026bb765291 +0ms
  ranger:Front Door:errors Failed to read 000000440000100080000026bb765291:000000370000100080000026bb765291 - Error: HAP-BLE request failed with status 5 at HapExecutor._getResponsePayload (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:143:13) at HapExecutor._executeCommand (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:72:34) +150ms
  ranger:Front Door:errors Failed to refresh characteristic 000000440000100080000026bb765291:000000370000100080000026bb765291 +0ms
[27/04/2019, 6:50:28 pm] [Ranger] Disconnected from Front Door
[27/04/2019, 6:52:27 pm] [Ranger] Reported reachability for Front Door: false
[27/04/2019, 6:52:42 pm] [Ranger] Front Door: First advertisement after 64076ms.
[27/04/2019, 6:53:21 pm] [Ranger] Reported reachability for Front Door: true
  ranger:Front Door:events Refreshing 000000450000100080000026bb765291:000000230000100080000026bb765291 +3m
  ranger:Front Door:reads Reading 000000450000100080000026bb765291:000000230000100080000026bb765291 +3m
  ranger:Front Door:events Refreshing 000000450000100080000026bb765291:0000001d0000100080000026bb765291 +1ms
  ranger:Front Door:reads Reading 000000450000100080000026bb765291:0000001d0000100080000026bb765291 +1ms
  ranger:Front Door:events Refreshing 000000450000100080000026bb765291:0000001e0000100080000026bb765291 +0ms
  ranger:Front Door:reads Reading 000000450000100080000026bb765291:0000001e0000100080000026bb765291 +0ms
  ranger:Front Door:events Refreshing 000000440000100080000026bb765291:000000370000100080000026bb765291 +0ms
  ranger:Front Door:reads Reading 000000440000100080000026bb765291:000000370000100080000026bb765291 +0ms
[27/04/2019, 6:53:21 pm] [Ranger] Connecting to Front Door
[27/04/2019, 6:53:22 pm] [Ranger] Discovered services.
[27/04/2019, 6:53:23 pm] [Ranger] Discovered GATT services and characteristics of Front Door
[27/04/2019, 6:53:23 pm] [Ranger] Connected to Front Door
[27/04/2019, 6:53:23 pm] [Ranger] Connected to Front Door
  ranger:Front Door:events Enable all subscriptions on the device. +3m
  ranger:Front Door:errors Failed to read 000000450000100080000026bb765291:000000230000100080000026bb765291 - Error: HAP-BLE request failed with status 5 at HapExecutor._getResponsePayload (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:143:13) at HapExecutor._executeCommand (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:72:34) +3m
  ranger:Front Door:errors Failed to refresh characteristic 000000450000100080000026bb765291:000000230000100080000026bb765291 +1ms
  ranger:Front Door:errors Failed to read 000000450000100080000026bb765291:0000001d0000100080000026bb765291 - Error: HAP-BLE request failed with status 5 at HapExecutor._getResponsePayload (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:143:13) at HapExecutor._executeCommand (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:72:34) +120ms
  ranger:Front Door:errors Failed to refresh characteristic 000000450000100080000026bb765291:0000001d0000100080000026bb765291 +0ms
  ranger:Front Door:errors Failed to read 000000450000100080000026bb765291:0000001e0000100080000026bb765291 - Error: HAP-BLE request failed with status 5 at HapExecutor._getResponsePayload (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:143:13) at HapExecutor._executeCommand (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:72:34) +104ms
  ranger:Front Door:errors Failed to refresh characteristic 000000450000100080000026bb765291:0000001e0000100080000026bb765291 +1ms
  ranger:Front Door:errors Failed to read 000000440000100080000026bb765291:000000370000100080000026bb765291 - Error: HAP-BLE request failed with status 5 at HapExecutor._getResponsePayload (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:143:13) at HapExecutor._executeCommand (/usr/local/lib/node_modules/homebridge-ranger/src/hap/HapExecutor.js:72:34) +295ms
  ranger:Front Door:errors Failed to refresh characteristic 000000440000100080000026bb765291:000000370000100080000026bb765291 +0ms
[27/04/2019, 6:53:52 pm] [Ranger] Disconnected from Front Door

The device in question
address.json

{
  "address": "78-9c-85-06-23-66",
  "configurationNumber": 1,
  "services": [
    {
      "address": "0000003e0000100080000026bb765291",
      "isPrimary": false,
      "isSecondary": false,
      "isHidden": false,
      "UUID": "0000003E-0000-1000-8000-0026BB765291",
      "characteristics": [
        {
          "characteristic": "00000023-0000-1000-8000-0026BB765291",
          "service": "0000003E-0000-1000-8000-0026BB765291",
          "serviceId": 1,
          "hapCharacteristicProperties": 16,
          "perms": [
            "pr"
          ],
          "ev": false,
          "format": "string",
          "cid": 2,
          "address": {
            "service": "0000003e0000100080000026bb765291",
            "characteristic": "000000230000100080000026bb765291"
          },
          "bleProperties": [
            "read",
            "write"
          ],
          "isHidden": false
        },
        {
          "characteristic": "00000014-0000-1000-8000-0026BB765291",
          "service": "0000003E-0000-1000-8000-0026BB765291",
          "serviceId": 1,
          "hapCharacteristicProperties": 32,
          "perms": [
            "pw"
          ],
          "ev": false,
          "format": "bool",
          "cid": 3,
          "address": {
            "service": "0000003e0000100080000026bb765291",
            "characteristic": "000000140000100080000026bb765291"
          },
          "bleProperties": [
            "read",
            "write"
          ],
          "isHidden": false
        },
        {
          "characteristic": "00000020-0000-1000-8000-0026BB765291",
          "service": "0000003E-0000-1000-8000-0026BB765291",
          "serviceId": 1,
          "hapCharacteristicProperties": 16,
          "perms": [
            "pr"
          ],
          "ev": false,
          "format": "string",
          "cid": 4,
          "address": {
            "service": "0000003e0000100080000026bb765291",
            "characteristic": "000000200000100080000026bb765291"
          },
          "bleProperties": [
            "read",
            "write"
          ],
          "isHidden": false
        },
        {
          "characteristic": "00000021-0000-1000-8000-0026BB765291",
          "service": "0000003E-0000-1000-8000-0026BB765291",
          "serviceId": 1,
          "hapCharacteristicProperties": 16,
          "perms": [
            "pr"
          ],
          "ev": false,
          "format": "string",
          "cid": 5,
          "address": {
            "service": "0000003e0000100080000026bb765291",
            "characteristic": "000000210000100080000026bb765291"
          },
          "bleProperties": [
            "read",
            "write"
          ],
          "isHidden": false
        },
        {
          "characteristic": "00000030-0000-1000-8000-0026BB765291",
          "service": "0000003E-0000-1000-8000-0026BB765291",
          "serviceId": 1,
          "hapCharacteristicProperties": 16,
          "perms": [
            "pr"
          ],
          "ev": false,
          "format": "string",
          "cid": 6,
          "address": {
            "service": "0000003e0000100080000026bb765291",
            "characteristic": "000000300000100080000026bb765291"
          },
          "bleProperties": [
            "read",
            "write"
          ],
          "isHidden": false
        },
        {
          "characteristic": "00000052-0000-1000-8000-0026BB765291",
          "service": "0000003E-0000-1000-8000-0026BB765291",
          "serviceId": 1,
          "hapCharacteristicProperties": 16,
          "perms": [
            "pr"
          ],
          "ev": false,
          "format": "string",
          "cid": 7,
          "address": {
            "service": "0000003e0000100080000026bb765291",
            "characteristic": "000000520000100080000026bb765291"
          },
          "bleProperties": [
            "read",
            "write"
          ],
          "isHidden": false
        },
        {
          "characteristic": "000000A6-0000-1000-8000-0026BB765291",
          "service": "0000003E-0000-1000-8000-0026BB765291",
          "serviceId": 1,
          "hapCharacteristicProperties": 400,
          "perms": [
            "pr",
            "ev"
          ],
          "ev": true,
          "format": "uint32",
          "minValue": 0,
          "maxValue": 65535,
          "minStep": 1,
          "cid": 8,
          "address": {
            "service": "0000003e0000100080000026bb765291",
            "characteristic": "000000a60000100080000026bb765291"
          },
          "bleProperties": [
            "read",
            "write",
            "indicate"
          ],
          "isHidden": false
        }
      ]
    },
    {
      "address": "000000a20000100080000026bb765291",
      "isPrimary": false,
      "isSecondary": false,
      "isHidden": true,
      "UUID": "000000A2-0000-1000-8000-0026BB765291",
      "characteristics": [
        {
          "characteristic": "00000037-0000-1000-8000-0026BB765291",
          "service": "000000A2-0000-1000-8000-0026BB765291",
          "serviceId": 9,
          "hapCharacteristicProperties": 16,
          "perms": [
            "pr"
          ],
          "ev": false,
          "format": "string",
          "cid": 10,
          "address": {
            "service": "000000a20000100080000026bb765291",
            "characteristic": "000000370000100080000026bb765291"
          },
          "bleProperties": [
            "read",
            "write"
          ],
          "isHidden": false
        }
      ]
    },
    {
      "address": "000000550000100080000026bb765291",
      "isPrimary": false,
      "isSecondary": false,
      "isHidden": true,
      "UUID": "00000055-0000-1000-8000-0026BB765291",
      "characteristics": [
        {
          "characteristic": "0000004C-0000-1000-8000-0026BB765291",
          "service": "00000055-0000-1000-8000-0026BB765291",
          "serviceId": 11,
          "hapCharacteristicProperties": 3,
          "perms": [],
          "ev": false,
          "format": "tlv8",
          "cid": 12,
          "address": {
            "service": "000000550000100080000026bb765291",
            "characteristic": "0000004c0000100080000026bb765291"
          },
          "bleProperties": [
            "read",
            "write"
          ],
          "isHidden": false
        },
        {
          "characteristic": "0000004E-0000-1000-8000-0026BB765291",
          "service": "00000055-0000-1000-8000-0026BB765291",
          "serviceId": 11,
          "hapCharacteristicProperties": 3,
          "perms": [],
          "ev": false,
          "format": "tlv8",
          "cid": 13,
          "address": {
            "service": "000000550000100080000026bb765291",
            "characteristic": "0000004e0000100080000026bb765291"
          },
          "bleProperties": [
            "read",
            "write"
          ],
          "isHidden": false
        },
        {
          "characteristic": "0000004F-0000-1000-8000-0026BB765291",
          "service": "00000055-0000-1000-8000-0026BB765291",
          "serviceId": 11,
          "hapCharacteristicProperties": 1,
          "perms": [],
          "ev": false,
          "format": "uint8",
          "minValue": 0,
          "maxValue": 1,
          "minStep": 1,
          "cid": 14,
          "address": {
            "service": "000000550000100080000026bb765291",
            "characteristic": "0000004f0000100080000026bb765291"
          },
          "bleProperties": [
            "read",
            "write"
          ],
          "isHidden": false
        },
        {
          "characteristic": "00000050-0000-1000-8000-0026BB765291",
          "service": "00000055-0000-1000-8000-0026BB765291",
          "serviceId": 11,
          "hapCharacteristicProperties": 48,
          "perms": [
            "pr",
            "pw"
          ],
          "ev": false,
          "format": "tlv8",
          "cid": 15,
          "address": {
            "service": "000000550000100080000026bb765291",
            "characteristic": "000000500000100080000026bb765291"
          },
          "bleProperties": [
            "read",
            "write"
          ],
          "isHidden": false
        }
      ]
    },
    {
      "address": "000000450000100080000026bb765291",
      "isPrimary": false,
      "isSecondary": false,
      "isHidden": false,
      "UUID": "00000045-0000-1000-8000-0026BB765291",
      "characteristics": [
        {
          "characteristic": "00000023-0000-1000-8000-0026BB765291",
          "service": "00000045-0000-1000-8000-0026BB765291",
          "serviceId": 16,
          "hapCharacteristicProperties": 16,
          "perms": [
            "pr"
          ],
          "ev": false,
          "format": "string",
          "cid": 17,
          "address": {
            "service": "000000450000100080000026bb765291",
            "characteristic": "000000230000100080000026bb765291"
          },
          "bleProperties": [
            "read",
            "write"
          ],
          "isHidden": false
        },
        {
          "characteristic": "0000001D-0000-1000-8000-0026BB765291",
          "service": "00000045-0000-1000-8000-0026BB765291",
          "serviceId": 16,
          "hapCharacteristicProperties": 400,
          "perms": [
            "pr",
            "ev"
          ],
          "ev": true,
          "format": "uint8",
          "minValue": 0,
          "maxValue": 3,
          "minStep": 1,
          "cid": 18,
          "address": {
            "service": "000000450000100080000026bb765291",
            "characteristic": "0000001d0000100080000026bb765291"
          },
          "bleProperties": [
            "read",
            "write",
            "indicate"
          ],
          "isHidden": false
        },
        {
          "characteristic": "0000001E-0000-1000-8000-0026BB765291",
          "service": "00000045-0000-1000-8000-0026BB765291",
          "serviceId": 16,
          "hapCharacteristicProperties": 444,
          "perms": [
            "pr",
            "pw",
            "ev",
            "aa",
            "tw"
          ],
          "ev": true,
          "format": "uint8",
          "minValue": 0,
          "maxValue": 1,
          "minStep": 1,
          "cid": 19,
          "address": {
            "service": "000000450000100080000026bb765291",
            "characteristic": "0000001e0000100080000026bb765291"
          },
          "bleProperties": [
            "read",
            "write",
            "indicate"
          ],
          "isHidden": false
        }
      ]
    },
    {
      "address": "000000440000100080000026bb765291",
      "isPrimary": false,
      "isSecondary": false,
      "isHidden": false,
      "UUID": "00000044-0000-1000-8000-0026BB765291",
      "characteristics": [
        {
          "characteristic": "00000019-0000-1000-8000-0026BB765291",
          "service": "00000044-0000-1000-8000-0026BB765291",
          "serviceId": 21,
          "hapCharacteristicProperties": 32,
          "perms": [
            "pw"
          ],
          "ev": false,
          "format": "tlv8",
          "cid": 22,
          "address": {
            "service": "000000440000100080000026bb765291",
            "characteristic": "000000190000100080000026bb765291"
          },
          "bleProperties": [
            "read",
            "write"
          ],
          "isHidden": false
        },
        {
          "characteristic": "00000037-0000-1000-8000-0026BB765291",
          "service": "00000044-0000-1000-8000-0026BB765291",
          "serviceId": 21,
          "hapCharacteristicProperties": 16,
          "perms": [
            "pr"
          ],
          "ev": false,
          "format": "string",
          "cid": 23,
          "address": {
            "service": "000000440000100080000026bb765291",
            "characteristic": "000000370000100080000026bb765291"
          },
          "bleProperties": [
            "read",
            "write"
          ],
          "isHidden": false
        }
      ]
    }
  ]
}

Howto Contribute ?

Hello, i see your project have Eve energy only, if needed I own Eve Motion, Eve Door&Window, Eve Room, Eve thermo, Eve Weather. How may I contribute ?

cant pair eve door

Hello Grover,
for a test i have paired one eve room it works, after then i have tried to pair a eve door.
With eve door it comes an error.

here is my log with eve door:

[2018-7-17 19:17:53] Loading 1 platforms...
[2018-7-17 19:17:53] [Ranger] Initializing Ranger platform...
[2018-7-17 19:17:53] [Ranger] Ranger Platform Plugin Loaded
[2018-7-17 19:17:53] [Ranger] Found device in config: "Tor"
[2018-7-17 19:17:53] [Ranger] Found device in config: "Flur unten"
[2018-7-17 19:17:53] [Ranger] Waiting for accessory: Tor
[2018-7-17 19:17:53] [Ranger] Not all accessories have their devices. Not publishing yet.
[2018-7-17 19:17:53] Loading 0 accessories...
[2018-7-17 19:17:53] [Ranger] DidFinishLaunching
[2018-7-17 19:17:53] [Ranger] Starting to scan for BLE HomeKit accessories
[2018-7-17 19:17:53] [Ranger] Found paired accessory Eve Energy 6C21 address=de:30:78:27:96:a1 rssi=-89dB
[2018-7-17 19:17:53] [Ranger] Found unpaired accessory Eve Door 1F1B address=e9:c8:14:83:c2:98 rssi=-88dB
[2018-7-17 19:17:53] [Ranger] Accessory 'Tor' found.
[2018-7-17 19:17:53] [Ranger] Waiting for accessory: Flur unten
[2018-7-17 19:17:53] [Ranger] Not all accessories have their devices. Not publishing yet.
[2018-7-17 19:17:53] [Ranger] Found paired accessory FIBARO Single Switch address=ac:17:02:2e:8d:2c rssi=-61dB
[2018-7-17 19:17:53] [Ranger] Found paired accessory Eve address=c7:89:58:78:a3:54 rssi=-98dB
[2018-7-17 19:17:54] [Ranger] Found paired accessory Eve Room 024F address=e8:e7:04:f9:ce:7c rssi=-80dB
[2018-7-17 19:17:54] [Ranger] Accessory 'Flur unten' found.
[2018-7-17 19:17:55] [Ranger] Scanning stopped externally. Restarting in 2s.
[2018-7-17 19:17:55] [Ranger] Discovered services.
[2018-7-17 19:17:56] [Ranger] Discovered GATT services and characteristics of Tor
[2018-7-17 19:17:56] [Ranger] Connected to Tor
(node:984) UnhandledPromiseRejectionWarning: Error: HAP-BLE request failed with status 4
at HapExecutor._getResponsePayload (/homebridge/node_modules/homebridge-ranger/src/hap/HapExecutor.js:135:13)
at HapExecutor._executeCommand (/homebridge/node_modules/homebridge-ranger/src/hap/HapExecutor.js:64:34)
at
(node:984) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:984) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
[2018-7-17 19:18:07] [Ranger] Reported reachability for Flur unten: true
[2018-7-17 19:18:31] [Ranger] Tor: First advertisement after 38475ms.
[2018-7-17 19:18:31] [Ranger] Disconnected from Tor
[2018-7-17 19:18:38] [Ranger] Reported reachability for Tor: true

and here the log without door, system works:

[2018-7-17 19:21:11] [Ranger] DidFinishLaunching
[2018-7-17 19:21:11] [Ranger] Starting to scan for BLE HomeKit accessories
[2018-7-17 19:21:11] [Ranger] Found paired accessory FIBARO Single Switch address=ac:17:02:2e:8d:2c rssi=-70dB
[2018-7-17 19:21:11] [Ranger] Found paired accessory Eve Energy AD81 address=c7:89:58:78:a3:54 rssi=-92dB
[2018-7-17 19:21:11] [Ranger] Found paired accessory Eve Energy 6C21 address=de:30:78:27:96:a1 rssi=-89dB
[2018-7-17 19:21:11] [Ranger] Found paired accessory Eve Room 024F address=e8:e7:04:f9:ce:7c rssi=-78dB
[2018-7-17 19:21:11] [Ranger] Accessory 'Flur unten' found.
[2018-7-17 19:21:11] [Ranger] Connecting to Flur unten
[2018-7-17 19:21:12] [Ranger] Found unpaired accessory Eve Door 1F1B address=e9:c8:14:83:c2:98 rssi=-89dB
[2018-7-17 19:21:13] [Ranger] Scanning stopped externally. Restarting in 2s.
[2018-7-17 19:21:13] [Ranger] Discovered services.
[2018-7-17 19:21:15] [Ranger] Discovered GATT services and characteristics of Flur unten
[2018-7-17 19:21:15] [Ranger] Connected to Flur unten
[2018-7-17 19:21:15] [Ranger] Connected to Flur unten
[2018-7-17 19:21:15] [Ranger] Securing connection to Flur unten
[2018-7-17 19:21:15] [Ranger] Returning pair verify request for M1
[2018-7-17 19:21:16] [Ranger] Received pair verify response for M2
[2018-7-17 19:21:16] [Ranger] Returning pair verify request for M3
[2018-7-17 19:21:17] [Ranger] Received pair verify response for M4
[2018-7-17 19:21:17] [Ranger] Secure connection to Flur unten established.
[2018-7-17 19:21:17] [Ranger] Retrieved accessory information Manufacturer=Elgato Systems
[2018-7-17 19:21:17] [Ranger] Retrieved accessory information Model=Eve Room
[2018-7-17 19:21:18] [Ranger] Retrieved accessory information Name=Eve Room
[2018-7-17 19:21:18] [Ranger] Retrieved accessory information Serial Number=BU44E1A13637
[2018-7-17 19:21:18] [Ranger] Retrieved accessory information Firmware Revision=1.3.1;466
[2018-7-17 19:21:18] [Ranger] Publishing BLE service 0000008A-0000-1000-8000-0026BB765291 via proxy
[2018-7-17 19:21:18] [Ranger] Publishing BLE service 00000082-0000-1000-8000-0026BB765291 via proxy
[2018-7-17 19:21:18] [Ranger] Publishing BLE service 0000008D-0000-1000-8000-0026BB765291 via proxy
[2018-7-17 19:21:18] [Ranger] Publishing BLE service 00000096-0000-1000-8000-0026BB765291 via proxy
[2018-7-17 19:21:18] [Ranger] Publishing BLE service E863F007-079E-48FF-8F27-9C2605A29F52 via proxy
[2018-7-17 19:21:18] [Ranger] Initializing platform accessory 'Flur unten'...
Setup Payload:
X-HM://0023ISYWYNM3L
Scan this code with your HomeKit app on your iOS device to pair with Homebridge:

Eve Aqua doesn't seem to work

I've setup homebridge-ranger on a Raspberry Pi Zero W, hoping to be able to bridge the device on to WiFi so i could automate it with the Apple TV automations system. I've had only partial success.

The plugin does seem to pair, and logs out like this: (pairing codes removed)

pi@raspberrypi:~ $ /opt/node/bin/homebridge -D -U /var/lib/homebridge
[2019-5-31 13:39:54] Loaded config.json with 0 accessories and 1 platforms.
[2019-5-31 13:39:54] ---
[2019-5-31 13:39:57] Loaded plugin: homebridge-ranger
[2019-5-31 13:39:57] Registering platform 'homebridge-ranger.Ranger'
[2019-5-31 13:39:57] ---
[2019-5-31 13:39:57] Loading 1 platforms...
[2019-5-31 13:39:57] [Ranger] Initializing Ranger platform...
[2019-5-31 13:39:57] [Ranger] Ranger Platform Plugin Loaded
[2019-5-31 13:39:57] [Ranger] Found device in config: "Eve"
[2019-5-31 13:39:57] [Ranger] Waiting for accessory: Eve
[2019-5-31 13:39:57] [Ranger] Not all accessories have their devices. Not publishing yet.
[2019-5-31 13:39:57] [Ranger] DidFinishLaunching
[2019-5-31 13:39:58] [Ranger] Found paired accessory Eve Aqua 3270 address=e9:a5:65:4f:16:9c rssi=-75dB
[2019-5-31 13:39:58] [Ranger] Accessory 'Eve' found.
[2019-5-31 13:39:58] [Ranger] Connecting to Eve
[2019-5-31 13:40:00] [Ranger] Discovered services.
[2019-5-31 13:40:00] [Ranger] Discovered GATT services and characteristics of Eve
[2019-5-31 13:40:00] [Ranger] Connected to Eve
[2019-5-31 13:40:00] [Ranger] Connected to Eve
[2019-5-31 13:40:00] [Ranger] Failed to retrieve characteristic Manufacturer for accessory information.
[2019-5-31 13:40:00] [Ranger] Failed to retrieve characteristic Model for accessory information.
[2019-5-31 13:40:00] [Ranger] Failed to retrieve characteristic Name for accessory information.
[2019-5-31 13:40:01] [Ranger] Failed to retrieve characteristic Serial Number for accessory information.
[2019-5-31 13:40:01] [Ranger] Failed to retrieve characteristic Firmware Revision for accessory information.
[2019-5-31 13:40:01] [Ranger] Failed to retrieve characteristic Hardware Revision for accessory information.
[2019-5-31 13:40:01] [Ranger] Publishing BLE service 000000D0-0000-1000-8000-0026BB765291 via proxy
[2019-5-31 13:40:01] [Ranger] Publishing BLE service 00000096-0000-1000-8000-0026BB765291 via proxy
[2019-5-31 13:40:01] [Ranger] Publishing BLE service E863F007-079E-48FF-8F27-9C2605A29F52 via proxy
[2019-5-31 13:40:01] [Ranger] Initializing platform accessory 'Eve'...
Setup Payload:
Scan this code with your HomeKit app on your iOS device to pair with Homebridge:
Or enter this code with your HomeKit app on your iOS device to pair with Homebridge:
[2019-5-31 13:40:02] Homebridge is running on port 51826.
[2019-5-31 13:40:42] [Ranger] Eve: First advertisement after 43601ms.
[2019-5-31 13:40:42] [Ranger] Disconnected from Eve
[2019-5-31 13:40:52] [Ranger] Reported reachability for Eve: true
[2019-5-31 13:40:52] [Ranger] Connecting to Eve
[2019-5-31 13:40:54] [Ranger] Discovered services.
[2019-5-31 13:40:54] [Ranger] Discovered GATT services and characteristics of Eve
[2019-5-31 13:40:54] [Ranger] Connected to Eve
[2019-5-31 13:40:54] [Ranger] Connected to Eve
[2019-5-31 13:41:22] [Ranger] Reported reachability for Eve: false
[2019-5-31 13:41:25] [Ranger] Disconnected from Eve
[2019-5-31 13:41:26] [Ranger] Eve: First advertisement after 34090ms.
[2019-5-31 13:41:42] [Ranger] Reported reachability for Eve: true
[2019-5-31 13:41:42] [Ranger] Connecting to Eve
[2019-5-31 13:41:45] [Ranger] Discovered services.
[2019-5-31 13:41:45] [Ranger] Discovered GATT services and characteristics of Eve
[2019-5-31 13:41:45] [Ranger] Connected to Eve
[2019-5-31 13:41:45] [Ranger] Connected to Eve
[2019-5-31 13:42:12] [Ranger] Reported reachability for Eve: false
[2019-5-31 13:42:16] [Ranger] Eve: First advertisement after 34080ms.
[2019-5-31 13:42:16] [Ranger] Disconnected from Eve
[2019-5-31 13:42:30] [Ranger] Reported reachability for Eve: true
[2019-5-31 13:42:30] [Ranger] Connecting to Eve
[2019-5-31 13:42:33] [Ranger] Discovered services.
[2019-5-31 13:42:33] [Ranger] Discovered GATT services and characteristics of Eve
[2019-5-31 13:42:33] [Ranger] Connected to Eve
[2019-5-31 13:42:33] [Ranger] Connected to Eve

It continues casually logging out discovery, advertisements, connected, and service discovery stuff over time. The device also appears in my Home app, and appears as the correct type of device, but it's unresponsive to any attempt to activate any of it's features, and Home and the Eve app appear unable to read any current state information too. The Eve app also seems to think the battery is empty, but i'm guessing it's getting back a null or something equivalent and interpreting that as 0% charge. Feeling lost as to what else I can do to debug this issue.

Eve Thermo, i see the writes in the log but not adjustments at all

hi

thanks for this awesome idea and your plugin. that saves me some bucks for the need of the newly introduced eve extender.

i installed and paired two EVE thermo gen. 2 but I can't get them to work by adjusting with the home app.

all i see is this in the log:
2019-11-18T07:30:50.480Z ranger:Eve Thermo 5BBC:writes Writing 23 to 0000xxxxxx00000:0000xxxxxx00000

in the home app I get a "no answer" state

any ideas how to debug that?

eve aqua: working, but duplicate characteristics

homebridge-range works also for the - yet not listed - eva aqua. But some of the characteristics are listed twice in Elgato's app "Eve":

  • last irrigation ("Letzte Bewässerung")
  • schedule ("Zeitplan")
  • estimated consumption ("Geschätzter Verbrauch")

Please feel free to contact me if you want me to provide you with further information on this accessory.

Installation schlägt fehl

Hi Grover,

ich habe anhand der Anleitung versucht, Homebridge-Ranger zu installieren.

Mit diesem Command: sudo npm install -g homebridge-ranger --unsafe-perm

Danach startet dieses GYP-Zeug bis diese Meldung kommt

[email protected] install /usr/local/lib/node_modules/homebridge-ranger/node_modules/usb
node-pre-gyp install --fallback-to-build

node-pre-gyp ERR! Tried to download(404): https://github.com/tessel/node-usb/releases/download/1.3.1/usb_bindings-v1.3.1-node-v59-linux-arm.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for [email protected] and [email protected] (node-v59 ABI, glibc) (falling back to source compile with node-gyp)
make: Verzeichnis „/usr/local/lib/node_modules/homebridge-ranger/node_modules/usb/build“ wird betreten

Danach läuft es weiter bis zum Fehler

[email protected] install /usr/local/lib/node_modules/homebridge-ranger
node install_dependencies.js

npm ERR! code 1
npm ERR! Command failed: /usr/bin/git clone --depth=1 -q -b connection-interval-test git://github.com/grover/noble.git /root/.npm/_cacache/tmp/git-clone-f517d9dc
npm ERR! /root/.npm/_cacache/tmp/git-clone-f517d9dc/.git: Keine Berechtigung
npm ERR!

npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2018-04-05T11_40_07_066Z-debug.log
child_process.js:615
throw err;
^

Error: Command failed: npm install --no-save github:grover/noble#730865a5152d6d767a2d1413c0c27eac4bde3df5 --unsafe-perm
at checkExecSyncError (child_process.js:575:11)
at Object.execSync (child_process.js:612:13)
at Object. (/usr/local/lib/node_modules/homebridge-ranger/install_dependencies.js:35:17)
at Module._compile (internal/modules/cjs/loader.js:654:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:665:10)
at Module.load (internal/modules/cjs/loader.js:566:32)
at tryModuleLoad (internal/modules/cjs/loader.js:506:12)
at Function.Module._load (internal/modules/cjs/loader.js:498:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:695:10)
at startup (internal/bootstrap/node.js:201:19)
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/homebridge-ranger/node_modules/xpc-connection):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"})

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: node install_dependencies.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! /root/.npm/_logs/2018-04-05T11_40_09_826Z-debug.log

raspberry pi 0 w install failes

Following the instructions on a freshly installed raspbian, I end up with the following error:

sudo npm install -g homebridge-ranger --unsafe-perm
npm ERR! code 1
npm ERR! Command failed: /usr/bin/git checkout pull/840/head
npm ERR! error: pathspec 'pull/840/head' did not match any file(s) known to git.
npm ERR!

NPM error 128

After sudo npm install -g homebridge-ranger --unsafe-perm my rpi zero w gives me the error ‘npm ERR! code 128
npm ERR! Command failed: git clone --mirror -q git://github.com/noble/noble.git /root/.npm/_cacache/tmp/git-clone-275970de/.git
npm ERR! fatal: could not create leading directories of '/root/.npm/_cacache/tmp/git-clone-275970de/.git'
npm ERR! ’

and I do not know how to fix it

Bug in pairing process related to SRP module

Hi,

Having trouble pairing and consistently getting this error:

[9/30/2020, 00:13:32] [HB Supervisor] OS: Linux 5.4.51+ arm
[9/30/2020, 00:13:32] [HB Supervisor] Node.js v12.18.3 /usr/local/bin/node
[9/30/2020, 00:13:32] [HB Supervisor] Homebridge Path: /usr/local/lib/node_modules/homebridge/bin/homebridge
[9/30/2020, 00:13:32] [HB Supervisor] UI Path: /usr/local/lib/node_modules/homebridge-config-ui-x/dist/bin/standalone.js
[9/30/2020, 00:13:32] [HB Supervisor] Delaying Homebridge startup by 20 seconds on low powered server
[9/30/2020, 00:13:53] [HB Supervisor] Starting Homebridge with extra flags: -I -D
[9/30/2020, 00:13:53] [HB Supervisor] Started Homebridge v1.2.3 with PID: 749
[9/30/2020, 00:14:11] [Config] Homebridge Config UI X v4.27.2 is listening on :: port 8581
[9/30/2020, 00:14:04] Loaded config.json with 0 accessories and 2 platforms.
[9/30/2020, 00:14:04] ---
[9/30/2020, 00:14:15] Loaded plugin: [email protected]
[9/30/2020, 00:14:15] Registering platform 'homebridge-config-ui-x.config'
[9/30/2020, 00:14:15] ---
[9/30/2020, 00:14:15] The plugin "homebridge-ranger" defines 'homebridge' and/or 'hap-nodejs' in their 'dependencies' section, meaning they carry an additional copy of homebridge and hap-nodejs. This not only wastes disk space, but also can cause major incompatibility issues and thus is considered bad practice. Please inform the developer to update their plugin!
[9/30/2020, 00:14:24] Loaded plugin: [email protected]
[9/30/2020, 00:14:24] Registering platform 'homebridge-ranger.Ranger'
[9/30/2020, 00:14:24] ---
[9/30/2020, 00:14:24] Loading 2 platforms...
[9/30/2020, 00:14:24] [Config] Initializing config platform...
[9/30/2020, 00:14:24] [Config] Running in Service Mode
[9/30/2020, 00:14:24] [Ranger] Initializing Ranger platform...
[9/30/2020, 00:14:24] [Ranger] Ranger Platform Plugin Loaded
[9/30/2020, 00:14:24] [Ranger] Found device in config: "PREMIS"
[9/30/2020, 00:14:24] [Ranger] Waiting for accessory: PREMIS
[9/30/2020, 00:14:24] [Ranger] Not all accessories have their devices. Not publishing yet.
[9/30/2020, 00:14:24] [Ranger] DidFinishLaunching
[9/30/2020, 00:14:27] [Ranger] Found unpaired accessory PREMIS  address=REDACTED rssi=-81dB
[9/30/2020, 00:14:27] [Ranger] Accessory 'PREMIS' found.
[9/30/2020, 00:14:29] [Config] Starting terminal session
[9/30/2020, 00:14:31] [Ranger] Discovered services.
[9/30/2020, 00:14:33] [Ranger] Discovered GATT services and characteristics of PREMIS
[9/30/2020, 00:14:33] [Ranger] Connected to PREMIS
[9/30/2020, 00:14:44] [Ranger] homebridge-ranger is taking a long time to load and preventing Homebridge from starting.
[9/30/2020, 00:14:48] [Ranger] Device is not paired yet, pairing now.
TypeError: Cannot read property '3072' of undefined
    at new PairSetup (/usr/local/lib/node_modules/homebridge-ranger/src/hap/pairing/PairSetup.js:43:30)
    at BleAccessory._pairDevice (/usr/local/lib/node_modules/homebridge-ranger/src/BleAccessory.js:169:23)
    at BleAccessory._ensureDeviceIsPaired (/usr/local/lib/node_modules/homebridge-ranger/src/BleAccessory.js:152:29)
    at BleAccessory.start (/usr/local/lib/node_modules/homebridge-ranger/src/BleAccessory.js:129:18)
    at RangerPlatform._startAccessories (/usr/local/lib/node_modules/homebridge-ranger/src/index.js:196:7)
    at RangerPlatform._tryToPublish (/usr/local/lib/node_modules/homebridge-ranger/src/index.js:169:7)
    at RangerPlatform._onHapAccessoryDiscovered (/usr/local/lib/node_modules/homebridge-ranger/src/index.js:162:7)
[9/30/2020, 00:15:04] [Ranger] homebridge-ranger is taking a long time to load and preventing Homebridge from starting.

I already fixed some unhandled promise rejection errors. I feel like I am close, but not sure why that property is not defined. Any pointers would be helpful.

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.