davep Are you using Bouquets? Another possibility is that the broadcaster is removing the services from the bouquet when they are not being used.
I am using bouquets, a mix of network bouquets, OTA bouquets and E2 bouquets from the web.
I think the reason the parent disabled services are getting mapped at all is because the bouquets ignore the fact that the parents are disabled and map them anyway.
100% the bouquets are not altered when the channels aren't airing.
The particular one I use for Sky DE is hosted on GitHub, so I can see the history.
You can see here that parent disabled services are being mapped by the bouquet (I do no manual mapping):
Most of these services on the right are parent disabled by TVH, but still successfully map to channels.
These channels appear in Kodi with OTA EPG data and I can schedule recordings, however the channels will not tune and recordings will fail too.
davep There is another column in the Services page "Automatic Checking" which by default is set to "Auto check enabled". The documentation isn't clear on how this works but it is possible to edit the field (on a per-channel basis unfortunately) to "Auto check disabled". Does changing this field fix your issue?
I just tried setting that option on a service who's “parent” is disabled but is actually broadcasting, and it had no effect.
Kodi still responds, “No free adapter available”.
In the TVH log, I see “restarting channel Sky Sport Bundesliga 1” over and over.
If I try playing the service, rather than the channel, I get “restarting service 19.2E/11914H/Sky Sport Bundesliga 1” over and over.
After rescanning the mux (setting it to “Active” and waiting a few seconds for it to complete), “Sky Sport Bundesliga 1” is no longer parent disabled (because it's broadcasting right now) and plays without issue, both the service and the channel.
This service will stay parent enabled now until the next time TVH sees it not broadcasting (which is shortly).
You can see how this is a huge problem for a lot of the community.
I happen to know that most people (particularly German users) still use 4.2 for this reason.
The Sky DE iCAM patch for TVH was made for 4.2 before 4.3, because that's what the community is using.
To be clear, this isn't a German only issue, it's any provider who turns channels off when they are not needed.
Germany just has a lot of them, and they happen to be popular channels that people actually watch (sports).
And because of issues like this, 4.2 is the only “supported” version of TVH by various Kodi/distro devs (OSMC etc).
Moving forward, I want to see if I can (hopefully with some help) make a pull request to add CAID filtering to bouquet mapping.
I understand Python and looking at the bouquet code, I could kinda see what was happening, even though I don't know C at all.
But this issue seems much deeper and way above my skill level.