niwi niwi
I just built a new empty system to test some EPG grabbing features that previously appeared to be not working properly. Between every run of TVH, I delete the EPG database so that I can see the effects of each single change that I have made.
Firstly, I set 'EPG Scan' on a single mux to 'Disabled'. Unsurprisingly, the EPG was not provided for every service on that mux.
Next, I set a single service to 'Ignore EPG (EIT). When I restarted TVH and ran an EPG scan, the whole mux previously selected AND the single service that I selected contained no EPG data. The other services that shared the mux with the single excluded service all got correct EPG. This is as expected.
Next, I fed some XMLTV data into TVH for the single service and that EPG data was recognised. I did not have to manually set the grabber channel because I ensured that I matched the channel details to the single service mentioned above.
Continuing on, without restarting TVH, I reran an OTA EPG scan and the EPG data for the XMLTV channel remained unchanged.
It seems that, at least on a pristine system, all of the EPG flags work as advertised.
I think that starting with an empty EPG database was the key and that what you (and I previously) experienced was the result of old records in the EPG database.
I think that all of that duplicate network stuff can be avoided by disabling the EIT on that single service that concerns you, stopping TVH, deleting the EPG database, restarting TVH, loading the XMLTV data and then doing an OTA EPG grab.