home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
72.94k stars 30.52k forks source link

Philips TV 85PUS8808/12 source not mapped correctly #123304

Open KoenBreeman opened 2 months ago

KoenBreeman commented 2 months ago

The problem

I've installed the philips integration and connected my philips tv. But when I try to select the source which it shows the tv shows other. And it does show the selected source. I've made automation based on the sources from the source list, but it does not show the correct source.

What version of Home Assistant Core has the issue?

core-2024.7.4

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant Container

Integration causing the issue

Philips

Link to integration documentation on our website

https://www.home-assistant.io/integrations/philips_js

Diagnostics information

{ "home_assistant": { "installation_type": "Home Assistant Container", "version": "2024.7.4", "dev": false, "hassio": false, "virtualenv": false, "python_version": "3.12.4", "docker": true, "arch": "x86_64", "timezone": "Europe/Amsterdam", "os_name": "Linux", "os_version": "4.4.180+", "run_as_root": true }, "custom_components": {}, "integration_manifest": { "domain": "philips_js", "name": "Philips TV", "codeowners": [ "elupus" ], "config_flow": true, "documentation": "https://www.home-assistant.io/integrations/philips_js", "iot_class": "local_polling", "loggers": [ "haphilipsjs" ], "requirements": [ "ha-philipsjs==3.2.2" ], "is_built_in": true }, "setup_times": { "null": { "setup": 4.768400685861707e-05 }, "01J4Q3W4NCDV3BWXEH6AVPRAR7": { "wait_import_platforms": -5.527861870999914, "wait_base_component": -0.001173682976514101, "config_entry_setup": 6.751281022967305 } }, "data": { "entry": { "data": { "host": "10.0.0.62", "api_version": 6, "system": { "notifyChange": "http", "menulanguage": "Dutch", "name": "85PUS8808/12", "country": "Netherlands", "serialnumber": "REDACTED", "softwareversion": "TPM231WW_R.101.001.227.225", "model": "85PUS8808/12", "deviceid": "REDACTED", "nettvversion": "8.0.2", "epgsource": "no_epg", "api_version": { "Major": 6, "Minor": 1, "Patch": 0 }, "featuring": { "jsonfeatures": { "editfavorites": [ "TVChannels", "SatChannels" ], "recordings": [ "List", "Schedule", "Manage" ], "ambilight": [ "LoungeLight", "Ambilight" ], "menuitems": [ "Setup_Menu" ], "textentry": [ "not_available" ], "applications": [ "TV_Apps", "TV_Games", "TV_Settings" ], "pointer": [ "not_available" ], "inputkey": [ "key" ], "activities": [ "intent" ], "channels": [ "preset_string" ], "mappings": [ "server_mapping" ], "aurora": [ "available" ] }, "systemfeatures": { "tvtype": "consumer", "content": [ "dmr", "pvr" ], "tvsearch": "intent", "pairing_type": "digest_auth_pairing", "secured_transport": "true", "companion_screen": "true" } }, "os_type": "MSAF_2019_P" }, "username": "REDACTED", "password": "REDACTED" }, "disabled_by": null, "domain": "philips_js", "entry_id": "01J4Q3W4NCDV3BWXEH6AVPRAR7", "minor_version": 1, "options": {}, "pref_disable_new_entities": false, "pref_disable_polling": false, "source": "user", "title": "REDACTED", "unique_id": "REDACTED", "version": 1 }, "data": { "system": { "notifyChange": "http", "menulanguage": "Dutch", "name": "85PUS8808/12", "country": "Netherlands", "serialnumber": "REDACTED", "softwareversion": "TPM231WW_R.101.001.227.225", "model": "85PUS8808/12", "deviceid": "REDACTED", "nettvversion": "8.0.2", "epgsource": "no_epg", "api_version": { "Major": 6, "Minor": 1, "Patch": 0 }, "featuring": { "jsonfeatures": { "editfavorites": [ "TVChannels", "SatChannels" ], "recordings": [ "List", "Schedule", "Manage" ], "ambilight": [ "LoungeLight", "Ambilight" ], "menuitems": [ "Setup_Menu" ], "textentry": [ "not_available" ], "applications": [ "TV_Apps", "TV_Games", "TV_Settings" ], "pointer": [ "not_available" ], "inputkey": [ "key" ], "activities": [ "intent" ], "channels": [ "preset_string" ], "mappings": [ "server_mapping" ], "aurora": [ "available" ] }, "systemfeatures": { "tvtype": "consumer", "content": [ "dmr", "pvr" ], "tvsearch": "intent", "pairing_type": "digest_auth_pairing", "secured_transport": "true", "companion_screen": "true" } }, "os_type": "MSAF_2019_P" }, "powerstate": "On", "context": { "level1": "WatchExtension", "level2": "Playstate", "level3": "NA", "data": "NA" }, "application": { "component": { "packageName": "NA", "className": "NA" } }, "applications": { "com.google.android.finsky.tvmainactivity.TvMainActivity-com.android.vending": { "label": "Play Store", "intent": { "component": { "packageName": "com.android.vending", "className": "com.google.android.finsky.tvmainactivity.TvMainActivity" }, "action": "android.intent.action.MAIN" }, "order": 0, "id": "com.google.android.finsky.tvmainactivity.TvMainActivity-com.android.vending", "type": "app" }, "org.droidtv.channels.ChannelsLauncherActivity-org.droidtv.channels": { "label": "TV-gids", "intent": { "component": { "packageName": "org.droidtv.channels", "className": "org.droidtv.channels.ChannelsLauncherActivity" }, "action": "android.intent.action.MAIN" }, "order": 0, "id": "org.droidtv.channels.ChannelsLauncherActivity-org.droidtv.channels", "type": "app" }, "org.droidtv.contentexplorer.MainActivity-org.droidtv.contentexplorer": { "label": "Media", "intent": { "component": { "packageName": "org.droidtv.contentexplorer", "className": "org.droidtv.contentexplorer.MainActivity" }, "action": "empty" }, "order": 0, "id": "org.droidtv.contentexplorer.MainActivity-org.droidtv.contentexplorer", "type": "app" }, "org.droidtv.demome.DemoMeOptionsActivity-org.droidtv.demome": { "label": "Demomenu", "intent": { "component": { "packageName": "org.droidtv.demome", "className": "org.droidtv.demome.DemoMeOptionsActivity" }, "action": "empty" }, "order": 0, "id": "org.droidtv.demome.DemoMeOptionsActivity-org.droidtv.demome", "type": "app" }, "org.droidtv.playtv.PlayTvActivity-org.droidtv.playtv": { "label": "TV", "intent": { "component": { "packageName": "org.droidtv.playtv", "className": "org.droidtv.playtv.PlayTvActivity" }, "action": "android.intent.action.MAIN" }, "order": 0, "id": "org.droidtv.playtv.PlayTvActivity-org.droidtv.playtv", "type": "app" } }, "source_id": null, "sources": { "content://android.media.tv/channel": { "name": "Watch TV" }, "content://android.media.tv/passthrough/com.mediatek.tvinput%2F.hdmi.HDMIInputService%2FHW5": { "name": "HDMI 1" }, "content://android.media.tv/passthrough/com.mediatek.tvinput%2F.hdmi.HDMIInputService%2FHW6": { "name": "HDMI 2" }, "content://android.media.tv/passthrough/com.mediatek.tvinput%2F.hdmi.HDMIInputService%2FHW7": { "name": "HDMI 3" }, "content://android.media.tv/passthrough/com.mediatek.tvinput%2F.hdmi.HDMIInputService%2FHW8": { "name": "HDMI 4" } }, "ambilight_styles": { "OFF": { "styleName": "OFF" }, "FOLLOW_VIDEO": { "styleName": "FOLLOW_VIDEO", "menuSettings": [ "STANDARD", "VIVID", "IMMERSIVE", "NATURAL", "GAME" ] }, "FOLLOW_AUDIO": { "styleName": "FOLLOW_AUDIO", "algorithms": [ "ENERGY_ADAPTIVE_BRIGHTNESS", "ENERGY_ADAPTIVE_COLORS", "VU_METER", "SPECTRUM_ANALYZER", "KNIGHT_RIDER_CLOCKWISE", "KNIGHT_RIDER_ALTERNATING", "RANDOM_PIXEL_FLASH", "STROBO", "PARTY" ], "maxTuning": 2, "menuSettings": [ "ENERGY_ADAPTIVE_BRIGHTNESS", "VU_METER", "RANDOM_PIXEL_FLASH" ] }, "FOLLOW_COLOR": { "styleName": "FOLLOW_COLOR", "algorithms": [ "MANUAL_HUE", "AUTOMATIC_HUE" ], "maxSpeed": 255, "menuSettings": [ "HOT_LAVA", "DEEP_WATER", "FRESH_NATURE", "ISF", "CUSTOM_COLOR" ] }, "LOUNGE": { "styleName": "LOUNGE" }, "MANUAL": { "styleName": "MANUAL" }, "EXPERT": { "styleName": "EXPERT" }, "GRID": { "styleName": "GRID" }, "FLAG": { "styleName": "FLAG" }, "APP": { "styleName": "APP" }, "GAMEBAR_STYLE_1": { "styleName": "GAMEBAR_STYLE_1" }, "GAMEBAR_STYLE_2": { "styleName": "GAMEBAR_STYLE_2" }, "GAMEBAR_STYLE_3": { "styleName": "GAMEBAR_STYLE_3" }, "GAMEBAR_STYLE_4": { "styleName": "GAMEBAR_STYLE_4" }, "GAMEBAR_STYLE_5": { "styleName": "GAMEBAR_STYLE_5" } }, "ambilight_topology": null, "ambilight_current_configuration": { "styleName": "OFF", "isExpert": false }, "ambilight_mode_raw": "internal", "ambilight_modes": [ "internal", "manual", "expert", "lounge" ], "ambilight_power_raw": { "power": "Off" }, "ambilight_power": "Off", "ambilight_cached": { "layer1": { "left": { "0": { "r": 0, "g": 0, "b": 0 }, "1": { "r": 0, "g": 0, "b": 0 }, "2": { "r": 0, "g": 0, "b": 0 }, "3": { "r": 0, "g": 0, "b": 0 }, "4": { "r": 0, "g": 0, "b": 0 }, "5": { "r": 0, "g": 0, "b": 0 } }, "top": { "0": { "r": 0, "g": 0, "b": 0 }, "1": { "r": 0, "g": 0, "b": 0 }, "2": { "r": 0, "g": 0, "b": 0 }, "3": { "r": 0, "g": 0, "b": 0 }, "4": { "r": 0, "g": 0, "b": 0 }, "5": { "r": 0, "g": 0, "b": 0 }, "6": { "r": 0, "g": 0, "b": 0 }, "7": { "r": 0, "g": 0, "b": 0 }, "8": { "r": 0, "g": 0, "b": 0 }, "9": { "r": 0, "g": 0, "b": 0 }, "10": { "r": 0, "g": 0, "b": 0 }, "11": { "r": 0, "g": 0, "b": 0 } }, "right": { "0": { "r": 0, "g": 0, "b": 0 }, "1": { "r": 0, "g": 0, "b": 0 }, "2": { "r": 0, "g": 0, "b": 0 }, "3": { "r": 0, "g": 0, "b": 0 }, "4": { "r": 0, "g": 0, "b": 0 }, "5": { "r": 0, "g": 0, "b": 0 } } } }, "ambilight_measured": null, "ambilight_processed": null, "screenstate": null, "on": true, "channel": null, "channels": {}, "channel_lists": { "all": { "version": "0_0_0", "id": "all", "listType": "MixedSources", "medium": "mixed", "operator": "None", "installCountry": "Netherlands", "Channel": [] }, "allanalog": { "version": "0_0_0", "id": "allanalog", "listType": "TV", "medium": "none", "operator": "None", "installCountry": "Netherlands", "Channel": [] } }, "favorite_lists": { "1": { "version": "2", "id": "1", "type": "MixedSources", "medium": "mixed", "name": "Favourites 1", "channels": [] }, "2": { "version": "2", "id": "2", "type": "MixedSources", "medium": "mixed", "name": "Favourites 2", "channels": [] }, "3": { "version": "2", "id": "3", "type": "MixedSources", "medium": "mixed", "name": "Favourites 3", "channels": [] }, "4": { "version": "2", "id": "4", "type": "MixedSources", "medium": "mixed", "name": "Favourites 4", "channels": [] }, "5": { "version": "2", "id": "5", "type": "MixedSources", "medium": "mixed", "name": "Favourites 5", "channels": [] }, "6": { "version": "2", "id": "6", "type": "MixedSources", "medium": "mixed", "name": "Favourites 6", "channels": [] }, "7": { "version": "2", "id": "7", "type": "MixedSources", "medium": "mixed", "name": "Favourites 7", "channels": [] }, "8": { "version": "2", "id": "8", "type": "MixedSources", "medium": "mixed", "name": "Favourites 8", "channels": [] } } } } }

Example YAML snippet

description: ""
trigger: []
condition: []
action:
  - service: media_player.select_source
    metadata: {}
    data:
      source: HDMI 4
    target:
      device_id: f69a03f76aba3ceb53320157fcafa2c8
  - service: remote.send_command
    metadata: {}
    data:
      num_repeats: 1
      delay_secs: 0.4
      hold_secs: 0
      command: WatchTV
    target:
      device_id: f69a03f76aba3ceb53320157fcafa2c8
mode: single

Anything in the logs that might be useful for us?

No response

Additional information

No response

home-assistant[bot] commented 2 months ago

Hey there @elupus, mind taking a look at this issue as it has been labeled with an integration (philips_js) you are listed as a code owner for? Thanks!

Code owner commands Code owners of `philips_js` can trigger bot actions by commenting: - `@home-assistant close` Closes the issue. - `@home-assistant rename Awesome new title` Renames the issue. - `@home-assistant reopen` Reopen the issue. - `@home-assistant unassign philips_js` Removes the current integration label and assignees on the issue, add the integration domain after the command. - `@home-assistant add-label needs-more-information` Add a label (needs-more-information, problem in dependency, problem in custom component) to the issue. - `@home-assistant remove-label needs-more-information` Remove a label (needs-more-information, problem in dependency, problem in custom component) on the issue.

(message by CodeOwnersMention)


philips_js documentation philips_js source (message by IssueLinks)

elupus commented 2 months ago

The source selection is mostly a best guess. The android TVs does not report current source. You did not mention if it selects any source at at all, if so which source does it select when you select each source.

KoenBreeman commented 2 months ago

The source selection is mostly a best guess. The android TVs does not report current source. You did not mention if it selects any source at at all, if so which source does it select when you select each source.

Hi

It doesn’t select any source. It just mentions ‘other’ which is quite weird. And it remains selecting it. So you see the word ‘other’ continously on the screen. It doesn’t matter which source you select from the dropdown menu. Also if you do it through automation and you specify one of the channels you see in the status screen of the development tools. It just does not select any other source.

elupus commented 2 months ago

Ok. So unless somebody figures out how to select source on that model by reverse engineering the code on the TV, we should likely see if we can remove the option to select source on that model.

KoenBreeman commented 2 months ago

Can I assist in that in any way?

elupus commented 2 months ago

Dissassemble the code on your tv and try to figure out what commands might be available. Can't really say anything else.

KoenBreeman commented 2 months ago

In the documentation it states that you can get the source code of the tv upon request. Just send an email to open.source@tpv-tech.com. Will this help?

ans002 commented 1 month ago

The same problem is 77OLED 808. Integration does not control anything other than turning the TV on and off. It looks like the API has changed. Screenshots show the difference in the display states of two switched-on TVs of different model years. For example, Ambilight is displayed as off on 808, although it is running. 2024-09-12_22-50-40 2024-09-12_22-50-25 2024-09-12_22-48-22 2024-09-12_22-47-53