Da es hier nur ums Lesen von Werten geht und diese alle in einem JSON Objekt geliefert werden, reicht Dir tatsächlich ein Channel vom Typ string.
Aber zunächst: Der Screenshot ist als Überblick zwar nett, besser wäre es aber gewesen, das konkrete Topic und die Payload als Text einzufügen:
Code: Alles auswählen
{
"id": 0,
"a_current": 0.828,
"a_voltage": 236.6,
"a_act_power": 146.5,
"a_aprt_power": 195.8,
"a_pf": -6.81,
"b_current": 6.266,
"b_voltage": 235.6,
"b_act_power":26.1,
"b_aprt_power": 62.4,
"b_pf":-0.63,
"c_current": 6.576,
"c_voltage": 237.3,
"c_act_power": 2.0,
"c_aprt_power": 136.6,
"c_pf": -0.50,
"n_current": null,
"total_current": 1.670,
"total_act_power": 174.501,
"total_aprt_power": 394.860,
"user_calibrated_phase": []
}
Ein Glück gibt es Texterkennung

Die Formatierung kommt dann als Zuckerguss obendrauf, wenn man passende Werkzeuge nutzt
Wie oben erwähnt, brauchst Du nur einen string Channel (Hier als Kind der nicht mit gelisteten Bridge definiert):
Code: Alles auswählen
Thing topic shellypro3em "Shelly Pro 3 EM" @ "mqtt" [
availabilityTopic="shellypro3em-c8f09e8972c4/online",
payloadNotAvailable="offline",
payloadAvailable= "online"
]{
Channels:
Type string : json "JSON Data" [ stateTopic= "shellypro3em-c8f09e8972c4/status/em:0" ]
}
Die Payload für available und not available ist geraten, da musst Du schauen, was das Topic tatsächlich liefert

Das Topic hingegen ließ sich aus dem Screenshot ersehen

also in diesem Fall doch ganz praktisch.
Als Ergebnis hast Du nun jedenfalls einen string Channel mit dem Namen json, nehmen wir an, die Bridge hört auf den Namen mosquitto, kannst Du nun verschiedene Items mit diesem Channel koppeln:
Code: Alles auswählen
Number SP3emL1curr "L1 Strom" {channel="mqtt:topic:mosquitto:shellypro3em:json"[profile="transform:JSONPATH",function="$.a_current"]}
Number SP3emL1volt "L1 Spannung" {channel="mqtt:topic:mosquitto:shellypro3em:json"[profile="transform:JSONPATH",function="$.a_voltage"]}
Number SP3emL1actp "L1 Leistung" {channel="mqtt:topic:mosquitto:shellypro3em:json"[profile="transform:JSONPATH",function="$.a_act_power"]}
Number SP3emL1prtr "L1 Leistung2" {channel="mqtt:topic:mosquitto:shellypro3em:json"[profile="transform:JSONPATH",function="$.a_aprt_power"]}
Number SP3emL1pf "L1 Power Factor" {channel="mqtt:topic:mosquitto:shellypro3em:json"[profile="transform:JSONPATH",function="$.a_pf"]}
Number SP3emL2curr "L2 Strom" {channel="mqtt:topic:mosquitto:shellypro3em:json"[profile="transform:JSONPATH",function="$.b_current"]}
Number SP3emL2volt "L2 Spannung" {channel="mqtt:topic:mosquitto:shellypro3em:json"[profile="transform:JSONPATH",function="$.b_voltage"]}
Number SP3emL2actp "L2 Leistung" {channel="mqtt:topic:mosquitto:shellypro3em:json"[profile="transform:JSONPATH",function="$.b_act_power"]}
Number SP3emL2prtr "L2 Leistung2" {channel="mqtt:topic:mosquitto:shellypro3em:json"[profile="transform:JSONPATH",function="$.b_aprt_power"]}
Number SP3emL2pf "L2 Power Factor" {channel="mqtt:topic:mosquitto:shellypro3em:json"[profile="transform:JSONPATH",function="$.b_pf"]}
Number SP3emL3curr "L3 Strom" {channel="mqtt:topic:mosquitto:shellypro3em:json"[profile="transform:JSONPATH",function="$.c_current"]}
Number SP3emL3volt "L3 Spannung" {channel="mqtt:topic:mosquitto:shellypro3em:json"[profile="transform:JSONPATH",function="$.c_voltage"]}
Number SP3emL3actp "L3 Leistung" {channel="mqtt:topic:mosquitto:shellypro3em:json"[profile="transform:JSONPATH",function="$.c_act_power"]}
Number SP3emL3prtr "L3 Leistung2" {channel="mqtt:topic:mosquitto:shellypro3em:json"[profile="transform:JSONPATH",function="$.c_aprt_power"]}
Number SP3emL3pf "L3 Power Factor" {channel="mqtt:topic:mosquitto:shellypro3em:json"[profile="transform:JSONPATH",function="$.c_pf"]}
Number SP3emCurrTotal "Strom gesamt" {channel="mqtt:topic:mosquitto:shellypro3em:json"[profile="transform:JSONPATH",function="$.total_current"]}
Number SP3emActPTotal "Leistung gesamt" {channel="mqtt:topic:mosquitto:shellypro3em:json"[profile="transform:JSONPATH",function="$.total_act_power"]}
Number SP3emAptPTotal "Leistung2 geamt" {channel="mqtt:topic:mosquitto:shellypro3em:json"[profile="transform:JSONPATH",function="$.total_aprt_power"]}
Die Notation ist für *.items Dateien, daraus kannst Du aber sehr gut erkennen, wie das Ganze nun abläuft, Du kannst die Konfiguration auch direkt über die Main UI vornehmen.
Voraussetzung ist natürlich, dass die JSONPATH Transformation installiert ist.
Die Items sind alle mit dem selben Channel verknüpft, der einzige Unterschied besteht im jsonpath, der im Link gesetzt ist.
Zu bemerken ist noch, dass Du so nackte Zahlen bekommst, es fehlt also die konkrete Einheit. Die Alternative wäre, jeweils das identische Topic als stateTopic in achtzehn number Channels zu setzen, jsonpath als incoming transformation zu nutzen und über den zusätzlichen Parameter
unit die jeweils korrekte Einheit zu setzen. Dann kannst Du UoM Items verknüpfen, ohne weitere Angaben im Link. Für die reine Anzeige spielt UoM erst mal keine große Rolle, man kann die Einheit auch manuell ergänzen, interessnt wird UoM, wenn man Einheiten ineinander umrechnen will...
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet