Ich versuche das jetzt schon eine Weile in meinem Code einzugrenzen, aber habe langsam die Vermutung der VDR könnte da schuld sein.
Ich schreibe für einen Kanal ohne EPG einige Events via "PUTE". Der VDR akzeptiert diese Übermittlung auch anstandslos und quittiert mit Erfolgsmeldung.
Wenn ich nun direkt danach oder wenige Minuten danach mit "LSTE" das EPG für diesen Kanal abrufen will, dann bekomme ich:
$ svdrpsend lste S19.2E-133-7-169
220 manuelsvdr SVDRP VideoDiskRecorder 2.4.6; Sun Jan 3 17:24:13 2021; UTF-8
550 No schedule found
221 manuelsvdr closing connection
Ein "LSTE" ohne Parameter gibt unter anderem auch meine neuen Einträge zurück. Sie sind also da und sauber angekommen. Der VDR hat sie aber "irgendwie" nicht korrekt mit einem Kanal "verbunden" so das sie gezielt abgerufen werden könnten.
Einmal "systemctl restart vdr" und meine via PUTE gesendeten Einträge werden auch via "LSTE $CHANNELID" ausgegeben.
Warum braucht der VDR einen Neustart um via PUTE gesendetes EPG selber zu kennen bzw. via "LSTE $CHANNELID" zurückzugeben?
Werden fehlende "Schedule"s beim Senden via PUTE nicht so erzeugt das sie auch vom VDR nutzbar sind?