This is a small part of my WebOSTV log:
2024-04-24 10:28:27.796 DEBUG (MainThread) [aiowebostv] recv(192.168.1.79): {"type":"response","id":13,"payload":{"channel":{"channelId":"1_25_7_7_263_751_8572","programId":"1_25_7_7_263_751_8572","signalChannelId":"263_751_8572","chanCode":"UNKNOWN","channelMode":"Terrestrial","channelModeId":0,"channelType":"Terrestrial Digital TV","channelTypeId":1,"channelNumber":"7","majorNumber":7,"minorNumber":7,"channelName":"LA7 HD","skipped":false,"locked":false,"descrambled":true,"scrambled":false,"serviceType":25,"favoriteGroup":[],"imgUrl":"","display":1,"satelliteName":" ","fineTuned":false,"Frequency":506000,"shortCut":0,"Bandwidth":0,"HDTV":true,"Invisible":false,"TV":true,"DTV":true,"ATV":false,"Data":false,"Radio":false,"Numeric":false,"PrimaryCh":true,"specialService":false,"CASystemIDList":{},"CASystemIDListCount":0,"groupIdList":[0,1],"channelGenreCode":"UNKNOWN","favoriteIdxA":250,"favoriteIdxB":250,"favoriteIdxC":250,"favoriteIdxD":250,"imgUrl2":"","channelLogoSize":"UNKNOWN","ipChanServerUrl":"","payChan":false,"IPChannelCode":"UNKNOWN","ipCallNumber":"UNKNOWN","otuFlag":false,"favoriteIdxE":250,"favoriteIdxF":250,"favoriteIdxG":250,"favoriteIdxH":250,"satelliteLcn":false,"waterMarkUrl":"UNKNOWN","channelNameSortKey":"20","ipChanType":"UNKNOWN","adultFlag":0,"ipChanCategory":"UNKNOWN","ipChanInteractive":false,"callSign":"UNKNOWN","adFlag":0,"configured":false,"lastUpdated":"","ipChanCpId":"UNKNOWN","isFreeviewPlay":0,"hasBackward":0,"playerService":"com.webos.service.tv","TSID":263,"SVCID":751},"programList":[]}}
So, I have used this code and it work for me:
action:
- service: webostv.command
data:
entity_id: media_player.my_tv
command: tv/openChannel
payload:
channelMode: Terrestrial
channelNumber: "7"
In “payload” you can use any combination of <“field”:“value”> you can see into Log above (field example: “channelId”, “programId”, “channelMode”, “channelType”, “channelTypeId”, “channelNumber”, “channelName”, …)
Let me know if work for you also.