HelmutB hat hier einen Fix für ein Problem bei der Device-Wahl mit IPTV gepostet und darin festgestellt, dass der Code im 'else if' Zweig nie ausgeführt wird, womit er vollkommen recht hat.
Der Grund hierfür war ein "Fix", den ich damals hier gepostet hatte. Der war natürlich Quatsch, denn wenn MaySwitchTransponder() false ist, wird weder der 'if' noch der 'else if' Zweig ausgeführt, weil der Aufruf ja in beiden Bedingungen drin ist und sich das Ergebnis zwischen den beiden Aufrufen auch nicht ändert. Das Problem von damals trat damit nur einfach nicht mehr auf, weil die Auswahl des Devices über die Prioritäten ganz abgeklemmt wurde. Wie kamel5 hier richtig beobachtet hat, hatte sich durch den Patch das eigentlich beabsichtigte Verhalten bei VPS-Aufnahmen verändert. Es wurde, wenn alle Devices belegt waren, nicht mehr für eine höher priorisierte VPS-Aufnahme einige Zeit vor dem geplanten Beginn auf den entsprechenden Transponder geschaltet. Nachdem Device-Bonding für mich immer schon ein "ungeliebtes Feature" war und es damit aber ansonsten zu funktionieren schien, bin ich der Sache dann auch nicht weiter nachgegangen (siehe auch hier und hier).
Anbei ein Patch, der zum Einen die Änderung von HelmutB enthält, dass immer das *erste* freie Device genommen wird, und zum Anderen im Falle von Device-Bonding die Prioritäten aller gebondeten Devices berücksichtigt. Damit sollten eigentlich beide Probleme gelöst und auch die Nebenwirkung bzgl. VPS-Aufnahmen behoben sein.
Bitte testet diesen Patch ausgiebig, insbesondere kamel5 und dile.