I have battled with picons for years and always ended up simply manually adding the picons in Kodi which involved days of effort each time I applied a major upgrade to my Kodi system or TVHeadend server.
Found a universal solution to this Picons problem. Could not get my TVHeadend server to serve picons to the clients whatever I did, didn’t even populate its own channel list of picons. Always returned a 404 error when clients asked for picons.
So I found a reasonably good picons.png list and added it to my TVH program folder.
I created a Samba share to this folder.
I then added the following line to my TVHeadend Configuration > base > picons path field:
This bypasses the TVHeadend server altogether and relies on the OS samba server to send the picons to the clients.
I reset and saved the picons field in the TVheadend web interface to force TVH to create the necessary samba links in the channel manifest.
I then went through my client list of channels and any picons which were missing or mis-attributed I created a .png file using the the code reference in the TVH web interface for that channel and added it to the picons samba share folder. I used a list of channel icons .png’s for the donor list of icons, which I also added to the picons folder so when they where renamed to the picon code they didn’t need moving .
The result is that all clients now get the same picons automatically and this list will remain in place whilst ever I run the same TVH server setup. I should never have to setup this list again.