Zu 1.: Das http Binding cachet die Anfragen, solange dieselbe URL abgefragt wird, sollten also auch mehrere Channel nicht zu mehr Abfragen führen.
Einfacher ist es aber, für solche Abfragen einen string Channel für das gesamte JSON Objekt zu definieren (json->string) und diesen "read-only" Channel dann mit mehreren Items zu verlinken. Dabei ist der Itemtyp dann vom eigentlichen Datum abhängig, also ob Number, DateTime, Switch oder String.
Das jeweilige Datum wird dann über das Profile extrahiert (das wird innerhalb des Links konfiguriert).
Nachteil des Profiles: Man kann nur eine Transformation durchführen und kann auf direktem Weg auch keine Einheit hinzufügen (für UoM Number Items). Allerdings kann man z.B. JavaScript zur Transformation einsetzen und damit auch mehrere Transformationen innerhalb eines Transformationscripts durchführen.
Zu 2. und 3.: Gewöhnlich muss das jeweilige Datum über die CommandExtension übergeben werden, der Platzhalter
%2$ enthält dabei das vom Item empfangene Command - in Richtung Binding muss man immer
.sendCommand() als Methode nutzen; eine Eingabe über die UI löst stets ein
.sendCommand() aus. Bei Bedarf steht außerdem in
%1$ der aktuelle Zeitstempel zur Verfügung. Beide Platzhalter können über die üblichen Formatstrings beeinflusst werden, wobei für
%2$ gewöhnlich nur
s für String genutzt werden kann, also
%2$s als vollständiger Platzhalter.
Siehe auch die offizielle Dokumentation
https://www.openhab.org/addons/bindings ... formatting
openHAB5.0.1 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime) (Proxmox 9.0.6, LXC)