NEWS
Wie Anzeige-Text / Log-Text eines Adapters einfach anpassen?
-
Hallo zusammen,
das hier ist mein erster Post - von daher zuerst ein "danke, dass ich bei euch sein darf!" an dieser Stelle.
Ich habe gleich eine Frage, die ein kleines bisschen tiefer in Adapter geht:
Kurzgesagt möchte ich einen Text, der in einem Adapter angezeigt wird bzw. einen Text den er ins Logfile schreibt direkt in dessen Quelltext an meine Wünsche anpassen.Und zwar am liebsten "direkt im System", also ohne, dass ich den Adapter per Github clone und als neuen Adapter einspiele, etc.
Sprich:
Zeigt die Admin Oberfläche des Adapters z. B. an einer Stelle den Text "Koordinaten eingeben" an, möchte ich den Text ändern auf "Geografische Koordinaten eingeben".
Und schreibt der Adapter daraufhin z. B. per adapter.log.info('coordinates have been entered'); ins Logfile, möchte ich den Logeintrag ändern in adapter.log.info('geographic coordinates have been entered');Ich wäre jetzt ganz blauäugig so vorgegangen:
- Aktuell vorhandene Instanz des Adapters stoppen
- Im Dateisystem des ioBroker Systems die entsprechenden JS-Dateien gesucht (z. B. per PuTTY)
- Backup der zu ändernden JS-Dateien angelegt
- In den JS-Dateien die von mir gewünschten Text-Änderungen vornehmen und speichern (z. B. mit vi oder nano)
- Instanz des Adapters neustarten
Passt mein Vorhaben so?
Wenn nein: Wie wäre das korrekt Vorgehen?
Wenn ja: Wo finde ich die entsprechenden JS-Dateien des Adapters, sodass ich sie ändern kann?Vielen Dank für eure Unterstützung.
root2 -
@root2 sagte in Wie Anzeige-Text / Log-Text eines Adapters einfach anpassen?:
Ich habe gleich eine Frage, die ein kleines bisschen tiefer in Adapter geht:
da lt.
https://forum.iobroker.net/topic/59411/hinweise-zu-dem-unterforum-einsteigerfragen/1das nicht gerade Einsteigerniveau ist, verschiebe ich das mal
-
@root2 sagte in Wie Anzeige-Text / Log-Text eines Adapters einfach anpassen?:
Passt mein Vorhaben so?
ganz grob überflogen:
fast!noch ein upload der geänderten Daten via
iob upload adapterName
nach der Speicherung der Änderungen. -
@homoran
Vielen Dank fürs Verschieben und die rasche Antwort!Also:
- Aktuell vorhandene Instanz des Adapters stoppen
- Im Dateisystem des ioBroker Systems die entsprechenden JS-Dateien gesucht (z. B. per PuTTY)
- Backup der zu ändernden JS-Dateien angelegt
- In den JS-Dateien die von mir gewünschten Text-Änderungen vornehmen und speichern (z. B. mit vi oder nano)
- Upload der geänderten Dateien (iob upload adapterName via PuTTY)
- Instanz des Adapters neustarten
Wären noch die Frage übrig: Wo liegen die Dateien, die ich ändern muss im Dateisystem (ioBroker läuft in einem Debian 11 LXC)
root2
-
@root2 sagte in Wie Anzeige-Text / Log-Text eines Adapters einfach anpassen?:
Wo liegen die Dateien, die ich ändern muss im Dateisystem
Abgesehen davon, dass ich keinsterlei Ahnung davon habe welche Dateien das sind, liegen alle iiBroker Dateien unter /opt/iobroker.
Dort wahrscheinlich unter node_modules/AdapterNameich ging davon aus, dass du weisst was du zu verändern hast
-
@homoran said in Wie Anzeige-Text / Log-Text eines Adapters einfach anpassen?:
...ich ging davon aus, dass du weisst was du zu verändern hast
Die Dateien, die ich ändern muss, kenne ich (/main.js und /admin/index.html). Den Inhalt, den ich ändern möchte, ebenfalls. Lediglich der Speicherort im Dateisystem war mir bis dato unbekannt.
Aber /opt/iobroker/node_modules/AdapterName klingt für mich logisch und wird demnächst auch getestet.
Danke!
-
@root2
Du bist dir hoffentich bewußt dass du dich da in total unsupportetem Bereich bewegst. Bei jedem update sind deine Änderungen weg. Und wenn du die IDs angreifst kann es gut sein, dass diverse Folgefehler auftreten. (Bei Logtexten natürlich nicht) -
@root2
Also so wie schon geschrieben:Tu das nicht. Da machst du mehr kaputt als gut.
An den Datenpunktnamen, die die Adapter bereitstellen sollte nichts geändert werden,
da es eh mehr die abstrakte Sicht auf deine Daten ist.
Wenn du was für dich oder andere Benutzer als Eingabe und Steueroberfläche haben willst, dann nutze vis oder einen anderen Visualisiserungsadapter. Dort gibt es meist auch Eingabemöglichkeiten. Dort kannst du dann für den Benutzer alles so anzeigen wie du willst und verweist im Hintergrund auf die Datenpunkte.Wenn du unbedingt die Objektsicht des iobrokers nutzen willst,
dann nutze evtl den Alias-Adapter. Da kannst du dann eigene Namen verwenden, die ebenfalls im Hintergrund auf die Original Datenpunkte verweisen -
@mcm57 und @OliverIO
Vielen Dank für eure Antworten und das Ausdrücken der Bedenken.Wie eingangs von mir geschrieben, hatte ich nicht vor Datenpunkte, IDs oder die Logik an sich zu ändern. Es ging mir lediglich um reine Textanpassungen im HTML des Admin-Part und für die Log-Ausgabe des Adapters.
Den Alias-Adapter schaue ich mir auf jeden Fall an.