- General system Provider, Requester and Depo stations.
- Station are all called "Item icon R" and "Item icon P". They activate themselves when there is enough item for provider and deactivate if not enough space for the receiver (I did this with a decider, can be done with the station hooked directly to the chests).
- Requester send a -1 on the green network when need items, provider +1 on the red network when items are available (it can also be done with only the requests on a single network cable as the provider is not active when there are not enough items)
- At the depo, a decider combinator check if there is a +1 and -1 of the same item and in case forward that signal as +1. (The signal are sent in order of the items in the UI and this means that if a signal is sent and for whatever reason it cannot be taken, the ones after it will wait and never be forwarded until the first signal is taken care of. Can be solved with the new randomize feature of the Selector Combinator.)
- The schedule is nothing special, interrupts only. The main one is: 1) if item signal > 0 and the provider and receiver are not full, go to "wildcard P" station, full cargo then go to "wildcard R" station, empty cargo. Another interrupt for refueling and one for going to depo (when no cargo).
First issue: The requester send the -1 when the train is in route to it causing too many trains to take the request.
Solution: Add a Decider and check the parameter C from the station that is the number of train that are using or arriving it. Make the signal only be send when C=0.
- Second issue: When a train goes to the provider, the requester still send the -1 causing too many trains to take the request (this seems to be because the station is consider occupied only if the train is in route there and not if it's part of a train schedule, so making the schedule "like go to the provider then the receiver" vs "just go to the provider then with an interrupt check what cargo you have and find a free requester" doesn't seem to change anything)
Solution: The provider send a +1 on the green network when a train is in route to it so it negates the -1 of the requester
Third issue: Liquid trains. In order to be able to distinguish between item and liquid trains, I had to do a separate Depo, called LiquidDepo. Added a condition to the schedule, a train should be at LiquidDepo to be sent. Added 2 combinator with a list of all the solids and the liquids respectively (checked like "if item part of the list, forward the signal otherwise not). (I tried to play around with the liquid wildcard, but I could not use it as I hoped, in the rich text to set the station name or to check the kind of item for example. If someone know a better method here, please share.)
At this point I thought to have done it, but no, another issue surfaced.
Fourth issue: if you have many free providers, the system send as many trains resulting in some of them blocking because of the receiver station shut down after receiving the items from a previous train. This seems to be because the signal is sent to all the train at the same time, so there is no time for the provider to result occupied.
Solution: The only thing I found online is to have a sort of clock that send the signals to a single train at a time with at least a delay of 2 ticks. This can be done by adding a combinator to every Depo station and another condition in the schedule. The clock send a 1 in different moment to every train, so the train that has the 1 active the moment the signal is sent will take the order and no other one.
This last thing for me is too complicated and I don't like the idea to add a clock for every single Depo stations. Someone knows an easier way to send a signal to only a train?
And I'm finished, this is the state of my logistic network at the moment. It kinda works because if you consume many resources, some trains that wait for a station that is soon open don't create too much chaos. But I am surely not satisfied with it, and after all the hours I dedicated to it I begin to think about Cybersyn.

So, any help appreciated, thank you!