Ein Gedanke zu einer anderen Lösung:
Wenn man sich in Javascript nicht fit fühlt, könnte man ja auf folgende Idee kommen .. (Beispiel aus meinem Objekt Tree)
In Userdata_0 gibt es im Folder Sensors zwei Datenpunkte für die Temperatur der beiden CPU-Cores
dcc15837-5b5c-4fd6-84cc-0b860a0cd91f-grafik.png
Spoiler
{
"0_userdata.0.Proxmox_N3000.Sensors": {
"common": {
"name": "Sensors",
"desc": "Manuell erzeugt",
"role": "",
"icon": ""
},
"type": "channel",
"from": "system.adapter.admin.0",
"user": "system.user.admin",
"ts": 1719507072987,
"_id": "0_userdata.0.Proxmox_N3000.Sensors",
"acl": {
"object": 1636,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator"
}
},
"0_userdata.0.Proxmox_N3000.Sensors.Temp_Core0": {
"common": {
"name": "Temp_Core0",
"desc": "Manuell erzeugt",
"role": "value.temperature",
"type": "number",
"read": true,
"write": true,
"def": 0,
"custom": {
"influxdb.0": {
"enabled": true,
"storageType": "",
"aliasId": "",
"debounceTime": 0,
"blockTime": 0,
"changesOnly": true,
"changesRelogInterval": 0,
"changesMinDelta": 0,
"ignoreBelowNumber": "",
"disableSkippedValueLogging": false,
"enableDebugLogs": false,
"debounce": 1000
}
}
},
"type": "state",
"native": {},
"_id": "0_userdata.0.Proxmox_N3000.Sensors.Temp_Core0",
"acl": {
"object": 1636,
"state": 1636,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator"
},
"from": "system.adapter.admin.0",
"user": "system.user.admin",
"ts": 1719509549918,
"val": 57,
"ack": false
},
"0_userdata.0.Proxmox_N3000.Sensors.Temp_Core1": {
"common": {
"name": "Temp_Core1",
"desc": "Manuell erzeugt",
"role": "value.temperature",
"type": "number",
"read": true,
"write": true,
"def": 0,
"custom": {
"influxdb.0": {
"enabled": true,
"storageType": "",
"aliasId": "",
"debounceTime": 0,
"blockTime": 0,
"changesOnly": true,
"changesRelogInterval": 0,
"changesMinDelta": 0,
"ignoreBelowNumber": "",
"disableSkippedValueLogging": false,
"enableDebugLogs": false,
"debounce": 1000
}
}
},
"type": "state",
"native": {},
"_id": "0_userdata.0.Proxmox_N3000.Sensors.Temp_Core1",
"acl": {
"object": 1636,
"state": 1636,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator"
},
"from": "system.adapter.admin.0",
"user": "system.user.admin",
"ts": 1719509623191,
"val": 63,
"ack": false
}
}
Wenn man da einen JSON-Export anstößt, die Datei mit einem Text-Editor öffnet, und durch COPY&PASTE die JSON-Struktur um Blöcke für weitere CPU-Cores ergänzen, und die JSON-Datei dann wieder zurückschreiben...
Wäre aber sicherlich nicht so einfach, weil man nicht nur an einer Stelle umbenennen muss...
"0_userdata.0.Proxmox_N3000.Sensors.Temp_Core1": {
"_id": "0_userdata.0.Proxmox_N3000.Sensors.Temp_Core1",
Gibt es da einen Schema Check, bevor man so eine (möglicherweise fehlerhafte) Datei iobroker zum Import übergibt?
Beim Zurücklesen von VIS-2 Projekten scheint das der Fall zu sein ...