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

Input Controls Missing

Open stephenwoodford opened this issue 7 years ago • 8 comments

Updated to 0.9 last night and tried enabling input controls but had no controls show up in Eve or Home. I've tried unpairing and re-pairing, as well as setting up a separate Apple TV to avoid any accessory cache, but still haven't gotten the input controls to show up at all. Here's my config:

        {
            "platform": "DACP",
            "devices": [
                {
                    "name": "Bedroom Apple TV",
                    "pairing": "VALID",
                    "serviceName": "VALID",
                    "features": {
                        "no-volume-controls": true,
                        "alternate-playpause-switch": true,
                        "alternate-input-controls": true,
                        "album-artwork": "/tmp/nowplaying.png"
                    }
                }
            ]
        }

I tried many other configs to try and get something to show up, but was never able to. Here are some example feature configs I've tried:

"features": {
    "no-volume-controls": true,
    "alternate-input-controls": true
}

"features": {
    "alternate-input-controls": true
}

"features": {
    "input-controls": true
}

"features": {
    "input-controls": ["menu", "topmenu"]
}

Thanks for any support you can provide!

stephenwoodford avatar Feb 27 '18 13:02 stephenwoodford

Should be fixed in 0.9.1, which I just released.

grover avatar Feb 27 '18 22:02 grover

I'm now receiving a new error when starting homebridge. I haven't had a chance to do much troubleshooting yet but wanted to see if it was related to this. I don't believe I've changed anything else besides updating to 0.9.1. My config is same as above.

[2/27/2018, 6:37:29 PM] [DACP] Initializing DACP platform...
[2/27/2018, 6:37:29 PM] [DACP] DACP Platform Plugin Loaded - Version 0.9.1
[2/27/2018, 6:37:29 PM] [DACP] Found accessory in config: "Bedroom Apple TV"
[2/27/2018, 6:37:29 PM] [DACP] Initializing platform accessory 'Bedroom Apple TV'...

/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:150
      if (service.subtype.toString() === existing.subtype.toString())
                                                          ^
TypeError: Cannot read property 'toString' of undefined
    at Accessory.addService (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:150:59)
    at /usr/local/lib/node_modules/homebridge/lib/server.js:432:19
    at Array.forEach (<anonymous>)
    at Server._createAccessory (/usr/local/lib/node_modules/homebridge/lib/server.js:412:14)
    at Server.<anonymous> (/usr/local/lib/node_modules/homebridge/lib/server.js:374:32)
    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/util/once.js:16:19
    at DacpPlatform.accessories (/usr/local/lib/node_modules/homebridge-dacp/src/index.js:195:5)
    at Server._loadPlatformAccessories (/usr/local/lib/node_modules/homebridge/lib/server.js:364:20)
    at Server._loadPlatforms (/usr/local/lib/node_modules/homebridge/lib/server.js:308:16)
    at Server.run (/usr/local/lib/node_modules/homebridge/lib/server.js:85:36)
    at module.exports (/usr/local/lib/node_modules/homebridge/lib/cli.js:40:10)
    at Object.<anonymous> (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22)
    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)

EDIT after some troubleshooting:

Modifying my config to remove any DACP devices allows homebridge to start, so seems to be something with DACP.

        {
            "platform": "DACP",
            "devices": []
        }

EDIT 2:

Just removing "alternate-input-controls": true fixes it, so seems to be something with the input control accessories. On the bright side, regular "input-controls" does seem to be working.

stephenwoodford avatar Feb 28 '18 00:02 stephenwoodford

Just +1-ing this. I'm seeing the exact same issue using alternate-input-controls:true on v 0.9.1 :

/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:150
      if (service.subtype.toString() === existing.subtype.toString())
                                                          ^
TypeError: Cannot read property 'toString' of undefined

Remove that feature and it's fine. Same behaviour if you specify individual buttons instead of just true.

StewartSnow avatar Mar 08 '18 22:03 StewartSnow

I this still a issue? The only thing I can get to show up in Home app is the alternate play pause control button. Can't get the app to show menu and top menu button.

inotna avatar Apr 08 '18 19:04 inotna

It is. Haven't published a fix yet due to lack of time on my part. Sorry for the wait.

grover avatar Apr 08 '18 20:04 grover

Any Update on this? Have you found a fix? :-)

inotna avatar Apr 26 '18 15:04 inotna

Still Occurring. in 9.2.
Any Resolutions?

PJMikols avatar Feb 14 '19 20:02 PJMikols

Found an solution: Somehow the alternate-playpause button and alternate-input-controls or the macro's couldn't be used together, that's why i couldn't get it to work for automation. But by pairing the same apple tv twice i could use the the first 'device' to do the alternate play-pause button and the second to do the alternate buttons and macro's. So now i have the best of both worlds. Fully automatable triggers without third party apps. I still think it should have worked straight out of the box but if it works, it works.

zabaya avatar May 05 '19 12:05 zabaya