tavicu / homebridge-samsung-tizen

Homebridge plugin for Samsung TV's with Tizen OS
MIT License
647 stars 88 forks source link

New Tizen sources - USB-C & DisplayPort #644

Open spexxyy opened 1 year ago

spexxyy commented 1 year ago

Please add new input sources that are available in Samsung Tizen Monitors - "USB-C", "DisplayPort". I can help with testing and developing it. Api is working really well with this smart monitor, but is missing those two crucial inputs.

barabba9174 commented 1 year ago

I was going to write the same.

lirbar commented 11 months ago

I was about to open a new issue for this.

tavicu commented 11 months ago

You can set whatever you want in the config file (https://tavicu.github.io/homebridge-samsung-tizen/features/inputs.html#input-type)

I don't have a TV with USB-C or DisplayPort but I guess the values are USBC and DisplayPort. If you enter something that TV will not accept you will get an error from SmartThings where it lists the available options for your device.

If you do find the correct inputs please let me know so I can add them to the list.

lirbar commented 11 months ago

You can set whatever you want in the config file (https://tavicu.github.io/homebridge-samsung-tizen/features/inputs.html#input-type)

I don't have a TV with USB-C or DisplayPort but I guess the values are USBC and DisplayPort. If you enter something that TV will not accept you will get an error from SmartThings where it lists the available options for your device.

If you do find the correct inputs please let me know so I can add them to the list.

Thanks. I tried changing the "value" to USBC, usbc, USB-C, PC USB-C, PCUSB-C, PCUSBC, pc, PC, and DisplayPort. None worked. The Netflix one works great with my JSON below.

        "inputs": [
            {
                "type": "input",
                "name": "USB",
                "value": "USBC"
            },
            {
                "type": "app",
                "name": "Netflix",
                "value": "3201907018807"
            }
        ],

How do I see the list of available options for my device you mentioned? I am using Smart Monitor M8 (LS32BM80BUNXGO) and getting in homebridge logs only the following when selecting the input: "The request is malformed."

BTW smarthings app showing "PC USB-C" when connected to the PC with USB-C and "Netflix" when on Netflix app. That's why I tried that value (and other variants of it).

tavicu commented 11 months ago

Try to enable debug mode - https://tavicu.github.io/homebridge-samsung-tizen/troubleshooting/open-new-issue.html#enable-debug-mode

lirbar commented 11 months ago

Try to enable debug mode - https://tavicu.github.io/homebridge-samsung-tizen/troubleshooting/open-new-issue.html#enable-debug-mode

Thanks. I am getting the following:

[04/12/2023, 15:33:02] [Samsung M8] The request is malformed. [04/12/2023, 15:33:02] [Samsung M8] [DEBUG] [ { code: 'UnprocessableEntityError', target: 'commands[0].arguments[0]', message: 'commands[0].arguments[0]: does not have a value in the enumeration [AM, CD, FM, HDMI, HDMI1, HDMI2, HDMI3, HDMI4, HDMI5, HDMI6, digitalTv, USB, YouTube, aux, bluetooth, digital, melon, wifi]', details: [] } ]

Setting the value to USB gets a response (no error in homebridge logs) and the display shows a Tizen pop-up "USB is not available". Probably because it means input from external storage USB drive. Same as other not connected inputs I tried (CD, HDMI, HDMI1, digitalTv, digital).

I just found that this issue is connected to the following one: https://github.com/tavicu/homebridge-samsung-tizen/issues/569

tavicu commented 11 months ago

Well unfortunately if Samsung don't allow you to select the USB-C input through SmartThings api ... I don't know what else I could do.

There must be a specific api available only for monitor or something since you can select it from their app. Unfortunately I don't have an M8 monitor to see.

Do you have a button on your physical remote? Or only the inputs button?

lirbar commented 11 months ago

Do you have a button on your physical remote? Or only the inputs button?

Not a direct physical button, only using the home button and going from "Media" to "Workspace" (up arrow) and selecting "PC".

As you wrote, indeed "PC" is available (and works smoothly) on the SmartThings app under "Sources and Apps" just next to Netflix and etc.

As I see in the other posts this issue is probably the same on all the different M5, M7 and M8 models. Is it possible for you to ask Samsung about the right API to use ?

tavicu commented 11 months ago

Is it possible for you to ask Samsung about the right API to use ?

This is a dream ... Samsung don't provide anything and want's to force users to use only SmartThings app.

Even the current API that we are using for local control we (developers) had to dig and listen to what requests TVs make. And it's still working because Samsung use it too with their SmartThings app, otherwise they would have removed it by now.

Another example is with Frame TVs that had an awesome API to get the status and then Samsung decided to remove the API from TVs, even pushed and update for older TVs to remove the API.

So if you are searching for a new TV and you ask me, I would say avoid Samsung. They want to keep you locked in their garden.

You could create a custom command that sends a list of keys (what keys you would press on the physical remote). For example: Input Key, ... (next keys to reach USB-C input), enter key