lukasroegner / homebridge-apple-tv-remote

Plugin for controlling Apple TVs in homebridge.
MIT License
131 stars 13 forks source link

API - Send Commands (Simple) #67

Closed flinke-flasche closed 3 years ago

flinke-flasche commented 3 years ago

Hi, Thank you for the implementation. I'm new in homebridge. I'm still learning.

Is it possible to send the other commands like up, down etc.?

I have problems to send the APIToken with my Remote Control App "Demopad". Is it necessary to use a Token for the commands?

Thank you

capdav commented 3 years ago

Hi,

Thanks a lot for the feature, I have the same problem with API token which is mandatory in the header. As it is Simple HTTP request, some drivers only allows you to set the request only (no header, no body, ..).

Same request as flinke-flasche, would be really appreciate to support the same command as REST one. Could I suggest something like: http://YOUR-HOST-IP-ADDRESS:apiPort/UNIQUE-NAME/sendcommand?command=menu

Anyway, the plugin is stable and look really great!

RaymondMouthaan commented 3 years ago

It's nice that @lukasroegner added the "simple http request" to the plugin, but in my opinion these tools that require this, simply do not respect the REST principles and sounds more like an issue to these tools instead of this plugin. Any chance requesting modifications to these tools instead of requesting it here?

capdav commented 3 years ago

Hi, Unfortunately we are talking about legacy drivers. The purpose of this request is to have a simple http request support that does the same as the REST api. So, indeed, it doesn’t respect REST because this is not REST ;-)

RaymondMouthaan commented 3 years ago

Perhaps a nice opportunity to find a beter alternative for these legacy drivers ;-)

capdav commented 3 years ago

I tried without success :-( but maybe I didn’t try enough.

I can clearly understand if Lukas decide to stop spending more hours on this request.

RaymondMouthaan commented 3 years ago

I am not familiar with these legacy drivers, but you might want to dive into Node-RED (https://nodered.org) .. it can help you to "translate" these http request used by the legacy drivers into the REST calls required by homebridge-apple-tv-remote.

Let the legacy drivers communicate with Node-RED, create a flow to change the http request so that homebridge-apple-tv-remote understands it. For example changing the format of the request and adding the token to the header.

lukasroegner commented 3 years ago

Latest version now supports simple key presses and token via query parameter. I also highly suggest taking a look into Node-RED!

capdav commented 3 years ago

Excellent suggestion!