VSCode musst Du nicht in Docker packen, das lässt Du einfach lokal auf Deinem Desktop laufen.
Es gibt auch den Code Server als fertiges Docker Image, der Code Server ist ein vollständiger VSCode, der im Browser läuft, mit Anmeldung usw. Bedienung ist quasi identisch zur Desktop Version. Allerdings kann man das openHAB Plugin nicht so ohne weiteres einrichten.
Deshalb bin ich in der aktuellen Installation einen anderen Weg gegangen, ich melde mich mit dem lokalen VSCode per ssh im Container an, und zwar als User openhab. VSCode installiert ein paar zusätzliche Dateien auf der Remote Maschine und schon arbeitest Du im lokalen VSCode so, als wärst Du auf der Remote Maschine (was ja auch tatsächlich der Fall ist...), das ist für mich bisher die mit Abstand beste Art, zuzugreifen.
Ich bin mir aber nicht sicher, ob das mit ssh in den Docker Container selbst funktioniert, notfalls kann man auch auf den Docker Host gehen und dort auf das Volume zugreifen.
Remote Zugriff funktionert mit dem Plugin "Remote Development", welches dann drei weitere Plugins nachinstalliert.
Was das Ersetzen betrifft: Mutmaßlich wäre ein replaceAll zielführender, wenn Du das JSON schon so bearbeiten willst. Aber eigentlich ist das ja gar nicht nötig. Wenn Du die Daten in Rohform nutzen wolltest, würde es so reichen:
Code: Alles auswählen
ersteEigeneNummer.postUpdate(transform("JSONPATH","$.[0].localNumber", JSONQuelle))
ersteAnrufNummer.postUpdate(transform("JSONPATH","$.[0].remoteNumber",JSONQuelle))
ersteDatum.postUpdate(transform("JSONPATH","$.[0].date", JSONQuelle))
ersteTyp.postUpdate(transform("JSONPATH","$.[0].type", JSONQuelle))
ersteDauer.postUpdate(transform("JSONPATH","$.[0].duration", JSONQuelle))
zweiteEigeneNummer.postUpdate(transform("JSONPATH","$.[1].localNumber", JSONQuelle))
zweiteAnrufNummer.postUpdate(transform("JSONPATH","$.[1].remoteNumber",JSONQuelle))
zweiteDatum.postUpdate(transform("JSONPATH","$.[1].date", JSONQuelle))
zweiteTyp.postUpdate(transform("JSONPATH","$.[1].type", JSONQuelle))
zweiteDauer.postUpdate(transform("JSONPATH","$.[1].duration", JSONQuelle))
Du könntest das sogar komplett im Widget erledigen, einfach immer das selbe JSON anzeigen lassen, mit jeweils anderem JSONPATH.