homebridge-dacp icon indicating copy to clipboard operation
homebridge-dacp copied to clipboard

tvos 13 breaks remote's homekit support?

Open tvtechdir opened this issue 5 years ago • 14 comments

Looks like tvos13 breaks the remote. It does not show up in Homekit to add as an accessory, neither as a device in the Apple TV to pair.

I am running oznu-hombridge in a Synology Docker.

The plugin itself seems configured correctly. Logs do not throw errors, Homekit doesn't see it.

My config is as follows:

  {
    "platform": "DACP",
    "devices": [
      {
        "name": "AppleTV",
        "features": {
          "no-volume-controls": true,
          "input-controls": true,
          "alternate-playpause-switch": true
        }
      }
    ]
  }

Log indicates no problems with the configuration of the plugin itself. The remote does not show up to pair in the ATV.

[37m[9/25/2019, 12:14:28 PM][39m Loaded plugin: homebridge-dacp [37m[9/25/2019, 12:14:28 PM][39m Registering platform 'homebridge-dacp.DACP' [37m[9/25/2019, 12:14:49 PM][39m Loaded plugin: homebridge-dacp [37m[9/25/2019, 12:14:49 PM][39m Registering platform 'homebridge-dacp.DACP' [37m[9/25/2019, 12:14:53 PM][39m [36m[DACP][39m Initializing DACP platform... [37m[9/25/2019, 12:14:53 PM][39m [36m[DACP][39m DACP Platform Plugin Loaded - Version 0.9.2 [37m[9/25/2019, 12:14:53 PM][39m [36m[DACP][39m Found accessory in config: "AppleTV" [37m[9/25/2019, 12:14:53 PM][39m [36m[DACP][39m [37m[9/25/2019, 12:14:53 PM][39m [36m[DACP][39m Skipping creation of the accessory "AppleTV" because it doesn't have a pairing code or [37m[9/25/2019, 12:14:53 PM][39m [36m[DACP][39m service name yet. You need to pair the device/iTunes, reconfigure and restart homebridge. [37m[9/25/2019, 12:14:53 PM][39m [36m[DACP][39m [37m[9/25/2019, 12:14:53 PM][39m [36m[DACP][39m Beginning remote control announcements for the accessory "AppleTV". [37m[9/25/2019, 12:14:53 PM][39m [36m[DACP][39m [37m[9/25/2019, 12:14:53 PM][39m [36m[DACP][39m Use passcode 6334 to pair with this remote control. [37m[9/25/2019, 12:14:53 PM][39m [36m[DACP][39m [37m[9/25/2019, 12:14:53 PM][39m [36m[DACP][39m Starting DACP browser...

-edit-

I’ve since rolled back to 12.4.1. Everything is working as it should.

tvtechdir avatar Sep 24 '19 22:09 tvtechdir

Looks like it.

pax0707 avatar Sep 28 '19 00:09 pax0707

Doesn't work for me either....

galbartal avatar Sep 28 '19 22:09 galbartal

the same problem. is this project alive?

dior4ik avatar Sep 30 '19 15:09 dior4ik

I couldn't find much info about it online, but from what I understand DACP support has been removed in tvOS 13.

ElectroGloop avatar Oct 01 '19 12:10 ElectroGloop

I couldn't find much info about it online, but from what I understand DACP support has been removed in tvOS 13.

If that's the case it's a big loss for Apple. I will not upgrade software or hardware any further.

tvtechdir avatar Oct 01 '19 14:10 tvtechdir

You can use the newer 'Media Remote' protocol to communicate with the Apple TV.

There is an interesting post about using this protocol with Apple TV written by Evan Coleman: https://medium.com/@evancoleman/apple-tv-meet-my-lights-dissecting-the-media-remote-protocol-d07d1909ad82

He has even created a homebridge plugin here

I have just set this up on my homebridge and can confirm it is working perfectly with tvOS 13

ElectroGloop avatar Oct 02 '19 21:10 ElectroGloop

Nice. Will give this a go.

pax0707 avatar Oct 02 '19 21:10 pax0707

Maybe I'm doing something wrong, but I can't get that homebridge plug in to install on my NAS. It errors out every time. Heading over to submit logs.

tvtechdir avatar Oct 02 '19 22:10 tvtechdir

You can use the newer 'Media Remote' protocol to communicate with the Apple TV.

There is an interesting post about using this protocol with Apple TV written by Evan Coleman: https://medium.com/@evancoleman/apple-tv-meet-my-lights-dissecting-the-media-remote-protocol-d07d1909ad82

He has even created a homebridge plugin here

I have just set this up on my homebridge and can confirm it is working perfectly with tvOS 13

@ElectroGloop how did you manage to get this plug in installed? i have had NO luck whatsoever. the Node-Appletv repo and the Homebridge Theater Mode repos refuse to install on my mac mini.

PaRkThEcAr avatar Oct 03 '19 13:10 PaRkThEcAr

@ParkTheCar @ElectroGloop, same here which was my primary reason for using DACP. I am on a Synology NAS 1018+ running oznu-homebridge in Docker.

tvtechdir avatar Oct 03 '19 13:10 tvtechdir

To be honest I did have a bit of trouble getting it to run, but I thought that was down to my setup more than anything. I ended up having to manually recompile the sodium package it relies on. What errors are you getting?

ElectroGloop avatar Oct 03 '19 13:10 ElectroGloop

Here are the errors I am getting @ElectroGloop.

For Homebridge Theater Mode:

Homebridge-Server:~ parkthecar$ sudo npm install -g homebridge-theater-mode

[email protected] preinstall /usr/local/lib/node_modules/homebridge-theater-mode/node_modules/sodium node install.js --preinstall

Static libsodium was not found at /usr/local/lib/node_modules/homebridge-theater-mode/node_modules/sodium/deps/build/lib/libsodium so compiling libsodium from source. glibtoolize: error: Failed to create 'build-aux' make: *** [libsodium] Error 1 /usr/local/lib/node_modules/homebridge-theater-mode/node_modules/sodium/install.js:287 throw new Error(cmdLine + ' exited with code ' + code); ^

Error: make libsodium exited with code 2 at ChildProcess. (/usr/local/lib/node_modules/homebridge-theater-mode/node_modules/sodium/install.js:287:19) at ChildProcess.emit (events.js:209:13) at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12) npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! [email protected] preinstall: node install.js --preinstall npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the [email protected] preinstall 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! /Users/parkthecar/.npm/_logs/2019-10-03T14_22_11_491Z-debug.log Homebridge-Server:~ parkthecar$

For node-appletv I get this error:

[email protected] install /usr/local/lib/node_modules/node-appletv/node_modules/curve25519-n2 node-gyp rebuild

CXX(target) Release/obj.target/curve/node_curve.o ../node_curve.cc:20 http://node_curve.cc:20/:17: error: variable has incomplete type 'void' extern "C" void init (Handle<Object>); ^ ../node_curve.cc:20 http://node_curve.cc:20/:23: error: use of undeclared identifier 'Handle' extern "C" void init (Handle<Object>); ^ ../node_curve.cc:20 http://node_curve.cc:20/:30: error: 'Object' does not refer to a value extern "C" void init (Handle<Object>); ^ /Users/parkthecar/Library/Caches/node-gyp/12.10.0/include/node/v8.h:3369:17: note: declared here class V8_EXPORT Object : public Value { ^ ../node_curve.cc:20 http://node_curve.cc:20/:37: error: expected expression extern "C" void init (Handle<Object>); ^ ../node_curve.cc:28 http://node_curve.cc:28/:64: error: no matching member function for call to 'ToObject' unsigned char* arg0 = (unsigned char*) Buffer::Data(info[0]->ToObject()); ~~~~~~~~~^~~~~~~~ /Users/parkthecar/Library/Caches/node-gyp/12.10.0/include/node/v8.h:2545:44: note: candidate function not viable: requires single argument 'context', but no arguments were provided V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject( ^ /Users/parkthecar/Library/Caches/node-gyp/12.10.0/include/node/v8.h:2559:31: note: candidate function not viable: requires single argument 'isolate', but no arguments were provided Local<Object> ToObject(Isolate* isolate) const); ^ ../node_curve.cc:29 http://node_curve.cc:29/:64: error: no matching member function for call to 'ToObject' unsigned char* arg1 = (unsigned char*) Buffer::Data(info[1]->ToObject()); ~~~~~~~~~^~~~~~~~ /Users/parkthecar/Library/Caches/node-gyp/12.10.0/include/node/v8.h:2545:44: note: candidate function not viable: requires single argument 'context', but no arguments were provided V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject( ^ /Users/parkthecar/Library/Caches/node-gyp/12.10.0/include/node/v8.h:2559:31: note: candidate function not viable: requires single argument 'isolate', but no arguments were provided Local<Object> ToObject(Isolate* isolate) const); ^ ../node_curve.cc:30 http://node_curve.cc:30/:64: error: no matching member function for call to 'ToObject' unsigned char* arg2 = (unsigned char*) Buffer::Data(info[2]->ToObject()); ~~~~~~~~~^~~~~~~~ /Users/parkthecar/Library/Caches/node-gyp/12.10.0/include/node/v8.h:2545:44: note: candidate function not viable: requires single argument 'context', but no arguments were provided V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject( ^ /Users/parkthecar/Library/Caches/node-gyp/12.10.0/include/node/v8.h:2559:31: note: candidate function not viable: requires single argument 'isolate', but no arguments were provided Local<Object> ToObject(Isolate* isolate) const); ^ ../node_curve.cc:34 http://node_curve.cc:34/:17: error: variable has incomplete type 'void' extern "C" void init (Handle<Object> target) { ^ ../node_curve.cc:34 http://node_curve.cc:34/:23: error: use of undeclared identifier 'Handle' extern "C" void init (Handle<Object> target) { ^ ../node_curve.cc:34 http://node_curve.cc:34/:30: error: 'Object' does not refer to a value extern "C" void init (Handle<Object> target) { ^ /Users/parkthecar/Library/Caches/node-gyp/12.10.0/include/node/v8.h:3369:17: note: declared here class V8_EXPORT Object : public Value { ^ ../node_curve.cc:34 http://node_curve.cc:34/:38: error: use of undeclared identifier 'target' extern "C" void init (Handle<Object> target) { ^ ../node_curve.cc:34 http://node_curve.cc:34/:45: error: expected ';' after top level declarator extern "C" void init (Handle<Object> target) { ^ ; 12 errors generated. make: *** [Release/obj.target/curve/node_curve.o] Error 1 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:196:23) gyp ERR! stack at ChildProcess.emit (events.js:209:13) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12) gyp ERR! System Darwin 18.7.0 gyp ERR! command "/usr/local/Cellar/node/12.10.0/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/node-appletv/node_modules/curve25519-n2 gyp ERR! node -v v12.10.0 gyp ERR! node-gyp -v v5.0.3 gyp ERR! not ok npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! [email protected] install: node-gyp rebuild 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! /Users/parkthecar/.npm/_logs/2019-10-03T14_25_15_203Z-debug.log

I have tried other Repo’s for these plug ins, but neither seem to install. Would you mind helping me learn to compile Libsodium? I am on macOS Mojave.

On Oct 3, 2019, at 7:38 AM, ElectroGloop [email protected] wrote:

To be honest I did have a bit of trouble getting it to run, but I thought that was down to my setup more than anything. I ended up having to manually recompile the sodium package it relies on. What errors are you getting?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/grover/homebridge-dacp/issues/71?email_source=notifications&email_token=AJJYF4F6WMVXNBVH4CJRM7TQMXYUHA5CNFSM4I2FLT4KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAIHJTI#issuecomment-537949389, or mute the thread https://github.com/notifications/unsubscribe-auth/AJJYF4CYNJ6LM25IHFDLT4DQMXYUHANCNFSM4I2FLT4A.

PaRkThEcAr avatar Oct 03 '19 14:10 PaRkThEcAr

This is different to the error I was getting. It might be worth checking out one of the forks as they claim to fix sodium dependencies.

ElectroGloop avatar Oct 09 '19 15:10 ElectroGloop

Well, I have tried several forks that claim to solve sodium dependancies. Most of them dont actually say anything or have an “issues” tab that I can reference. But when I try to install globally, it errors out. Installing non globally installs, but the CLI does not function for node-appletv. The same is true of home bridge theater mode.

On Oct 9, 2019, at 9:23 AM, ElectroGloop [email protected] wrote:

This is different to the error I was getting. It might be worth checking out one of the forks as they claim to fix sodium dependencies.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/grover/homebridge-dacp/issues/71?email_source=notifications&email_token=AJJYF4FQ7IF5ZRY4U3WK2PLQNXZOTA5CNFSM4I2FLT4KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAYIPZY#issuecomment-540051431, or mute the thread https://github.com/notifications/unsubscribe-auth/AJJYF4C7TWNL3IPDJVDONFDQNXZOTANCNFSM4I2FLT4A.

PaRkThEcAr avatar Oct 09 '19 15:10 PaRkThEcAr