Hi,
ich bin gerade beim Umzug meiner "alten" ioBroker-Installation von einem RPi3 auf einen RPi4 und bin an dem selben Fehler gescheitert. Ich habe mich ein bisschen durch den Code gelesen und debugged und habe einen "quick'n'dirty"-Fix eingebaut: in der Datei /opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupBackup.js in Zeile 385 die Bedingung "&& _objects[_index].id != null" ergänzt (s.u., Zeile 4). Ist sicherlich nicht schön und müsste u.U. genauer geprüft werden, insbesondere woher dieser null-Value um Backup kommt.
Mit dieser Änderung lief der Restore bei mir dann aber fehlerfrei durch. Alles ohne Garantie, aber vielleicht hilft es Dir ja.
_setObjHelper(_index, _objects, callback) {
// Disable all adapters.
if (!this.dbMigration
&& _objects[_index].id != null
&& _objects[_index].id.match(/^system\.adapter\./)
&& !_objects[_index].id.match(/^system\.adapter\.admin\./)
&& !_objects[_index].id.match(/^system\.adapter\.backitup\./)) {
if (_objects[_index].doc.common && _objects[_index].doc.common.enabled) {
_objects[_index].doc.common.enabled = false;
}
}