NEWS
System.Adapter gelöscht > Hilfe erbeten
-
Hallo zusammen,
ich erhoffe mir hier mit meinem ersten Post hoffentlich ganz viel Hilfe.!! Vorab schon mal danke, für die reingesteckt Arbeit und Zeit.Ich habe ein relativ aktuelles und durchgepatchtes ioBroker (gehabt).
Beim Löschen von einem abgängigen Adapter "shuttercontrol" (siehe Anlage) per Befehl:
"del system.adapter.shuttercontrol" hat das System fälschlicherweise den "System.adapter" gelöscht. (Siehe Anlage)
Mir ist unerklärlich, warum statt der genauen Anweisung dieser wichtige Adapter offenbar gelöscht wurde. Da ich regelmäßig Backups mache, wollte ich ein "iobroker restore [FILE]" ausführen. Leider möchte das Restore ein gestopptes ioBroker haben. Dies lässt sich jedoch nicht mehr stoppen, offenbar aufgrund des fehlenden, gelöschten System- Adapters. Es erscheint stattdessen die Meldung: „iobroker controller daemon is not running".
Könnte mir bitte jemand auf die Sprünge helfen wie ich aus dieser Spirale herauskomme.
Vielen Dank im Voraus.
LG
Frank
-
@Frank24 sagte in System.Adapter gelöscht > Hilfe erbeten:
Mir ist unerklärlich, warum statt der genauen Anweisung dieser wichtige Adapter offenbar gelöscht wurde.
Trivial, aber du hast ein Space zu viel: del[space][space]system...
Mittelsps -aux | grep io.*
sicherstellen das kein Subprozess mehr läuft. /opt/iobroker umbenennen + ioBroker neu unter /opt/iobroker installieren. Jetzt kannst du auch wieder ein Backup einspielen. Alles andere ist nur aufwändig und Murks.btw: eigentlich genügt es Instanz + Adapter über die GUI zu löschen.
-
@Frank24 kurze Frage: Wieso löscht du den Adapter über den Befehl?
-
@SBorg
Super, vielen Dank, ich werde das gleich Nachmittag ausprobieren .Der Grund warum ich den Adapter überhaupt auf diese Art und Weise löschen musste, war, dass er in der GUI nicht auftauchte.
Das gleiche Problem habe ich andersrum. Ein Adapter (tuya ), den ich von Github über die GUI installieren wollte, taucht leider nicht in der GUI auf. Das ist aber nicht Gegenstand DIESES Posts.Zu dem eigentlichen Problem: ein Restore sehe ich als einziges Instrument um den Adapter wiederherzustellen. Oder gibt es noch einen anderen Weg?
-
@J-A-R-V-I-S
Der Grund warum ich den Adapter überhaupt auf diese Art und Weise löschen musste, war, dass er in der GUI nicht auftauchte.
Das gleiche Problem habe ich andersrum. Ein Adapter (tuya ), den ich von Github über die GUI installieren wollte, taucht leider nicht in der GUI auf. Das ist aber nicht Gegenstand DIESES Posts.Zu dem eigentlichen Problem: ein Restore sehe ich als einziges Instrument um den Adapter wiederherzustellen. Oder gibt es noch einen anderen Weg?
-
Zur Aufklärung, warum das passiert ist:
Das richtige Kommando wäreiobroker del shuttercontrol
. Beim obigen (falschen) Kommando hat iobroker scheinbarsystem
als den Adapternamen undadapter
als die Instanznummer interpretiert und alle zu dieser "Instanz" gehörenden Objekte gelöscht, was in diesem Fall sämtliche Adapter-Objekte einschließt.Habe ein Issue erstellt, damit das in zukünftigen Versionen abgefangen wird.
-
@AlCalzone
Danke für die Aufklärung. Das wäre die erste Grauzone bei einem Linux System, die ich kennenlerne. Normalerweise gibt es kein "vielleicht" oder "könnte". Linux erfordert ja mündige User und root darf alles, jedoch hatte ich gedacht, mit der vollständigen Angabe würde ich mich exakt ausdrücken. Ähnlich wie Pfadangaben ...da ist es ja auch nicht falsch einen vollständigen Pfad anzugeben.Weiß jemand noch einen anderen Weg als bei ioBroker komplett neu aufzusetzen ?
-
@Frank24 sagte in System.Adapter gelöscht > Hilfe erbeten:
Weiß jemand noch einen anderen Weg als bei ioBroker komplett neu aufzusetzen ?
Ja, das Backup wiederherstellen, das du vor dem manuellen Basteln doch sicher erstellt hast
jedoch hatte ich gedacht, mit der vollständigen Angabe würde ich mich exakt ausdrücken. Ähnlich wie Pfadangaben ...da ist es ja auch nicht falsch einen vollständigen Pfad anzugeben.
Vorausgesetzt, die Software kann damit umgehen und der vollständige Pfad ist richtig. Der richtige "vollständige" Pfad wäre nämlich
iobroker.<adaptername>
gewesen und nichtsystem.adapter.<adaptername>
.Bisher hat der
iobroker del
Befehl ein Argument der Form[iobroker.]<adaptername>[.<instanznr>]
erwartet und daraus den Namen der zu löschenden Objekte gebildet, aber nicht richtig überprüft, ob diese Erwartung auch korrekt ist. Folglich das Problem, das du jetzt hast.Nichtsdestotrotz, der Fehler ist gefunden und in der nächsten Version raus.
-
@AlCalzone
Klasse, dass das Patchmanagment so relativ reibungslos verläuft. Daumen hoch !
Ja, das Backup habe ich. Das heisst, einfach "drüber" mit iobroker restore [File] würde reichen ? -
@Frank24
Also VORHER durch Verzeichnis-Umbenennung sicherstellen, dass ioB nicht startet... -
@Frank24 ...und noch als Not-Not-Backup
...und ja, genau so ist es. Wenn du einen aktuellen Systemstand hattest, werden dann auch die Adapter wieder auf das passende Release gezogen. Ganz wird das zwar (noch) nicht funktionieren, aber beim Großteil sollte es klappen. Die anderen musst du halt ggf. nachinstallieren/selbst updaten. -
@AlCalzone
Noch mal vielen Dank für die Hilfe,
Einen Hinweis bräuchte ich allerdings noch, da ich mich in einer Spirale befinde.
Um den Befehl "ioBroker restore" auszuführen, muss ich ioB anhalten. klar soweit. ....aber dies klappt ja nicht, weil der System Adapter fehlt.
Workaround:
Eine Umbenennung des Verzeichnisses
......geht leider auch nicht, weil dann die ganze Befehlsstruktur nicht mehr funktioniert. Kann ja auch nicht...hab's. heute probiert....
Was tue ich an dieser Stelle also? -
@Frank24 sagte in System.Adapter gelöscht > Hilfe erbeten:
aber dies klappt ja nicht
Was genau ist der Fehler? Wenn du ioBroker nicht stoppen kannst, kannst du auch hart alle ioBroker-Prozesse beenden und dann restoren.
-
@AlCalzone sagte in System.Adapter gelöscht > Hilfe erbeten:
...dann restoren
Das dürfte aber wg. der gelöschten System-Adapter nicht mehr funktionieren? Deswegen meinte ich unter /opt/iobroker neu installieren, dann geht auch der restore wieder.
...und notfalls gibt es immer noch das umbenannte Alt-ioB-Verzeichnis. -
@SBorg sagte in System.Adapter gelöscht > Hilfe erbeten:
Das dürfte aber wg. der gelöschten System-Adapter nicht mehr funktionieren?
Es gibt keinen System-Adapter. Es gibt nur das Objekt
system.adapter
, unter dem alle Adapter-Objekte eingeordnet sind. Da beim Restore die Objektstruktur wiederhergestellt wird, sehe ich auch nicht, warum das nicht funktionieren sollte. Bisher hat jedenfalls niemand eine Fehlermeldung gepostet. -
@AlCalzone
Vielen Dank an alle, die sich beteiligt haben!
Ich habe ein restore wieder hinbekommen.
Durch das Umbenennen des IOBroker-Verzeichnises und dem anschließenden reboot, konnte kein Prozess starten.
Ich habe daraufhin das Verzeichnis wieder in dem zu dem ursprünglichen Namen umbenannt und dann ein restore an gestartet. Danach noch alle Adapter wieder hochgezogen mit "ioBroker start all" und alles lief...