@ralla66
Aus der OpenBK community war jemand so nett und hat mir die Infos aus dem alten Tuya Chip-Backup zerlegt und aufbereitet der vorher mit der MCU kommuniziert hat.
hiernach werden folgende dpIx mit der MCU ausgetauscht:
DP 2, VALUE(ro), cur_neutral
DP 6, RAW(ro), phase_a
DP 9, BITMAP(ro), fault
DP 14, VALUE(rw), charge_energy
DP 17, RAW(rw), alarm_set_1
DP 18, RAW(rw), alarm_set_2
DP 19, STRING(ro), breaker_id
Desweiteren gibt er mir folgende Info worin ich Funktionen der App wieder finde und vermute daraus jetzt das Mapping zwischen dpIx und fnIx erzeugen zu müssen.
"properties": [
{
"abilityId": 1,
"accessMode": "ro",
"code": "total_forward_energy",
"description": "",
"extensions": {
"iconName": "icon-dp_lightning",
"attribute": "1152"
},
"name": "\u6b63\u5411\u603b\u6709\u529f\u7535\u91cf",
"typeSpec": {
"type": "value",
"max": 99999999,
"min": 0,
"scale": 2,
"step": 1,
"unit": "kW\u00b7h"
}
},
{
"abilityId": 2,
"accessMode": "ro",
"code": "cur_neutral",
"description": "",
"extensions": {
"iconName": "icon-power1",
"attribute": "1152"
},
"name": "\u53cd\u5411\u603b\u6709\u529f\u7535\u80fd",
"typeSpec": {
"type": "value",
"max": 99999999,
"min": 0,
"scale": 2,
"step": 1,
"unit": "kW.h"
}
},
{
"abilityId": 6,
"accessMode": "ro",
"code": "phase_a",
"description": "1\uff0c\u7535\u538b\uff0c\u7535\u6d41\u53ca\u529f\u7387\n2\uff0c\u5927\u7aef\u6a21\u5f0f\uff0cHEX\u683c\u5f0f\uff0c\u51718\u4e2a\u5b57\u8282\n3\uff0c\u5355\u4f4d\u7cbe\u5ea6\uff1a\u7535\u538b\uff0c2\u5b57\u8282\uff0c\u5355\u4f4d0.1V\u3002\u7535\u6d41\uff0c3\u5b57\u8282\uff0c\u5355\u4f4d 0.001A \u3002A\u76f8\u6709\u529f\u529f\u7387\uff0c3\u5b57\u8282\uff0c\u5355\u4f4d0.0001kW\n4\uff0c\u62a5\u6587\u683c\u5f0f\n\u4e3e\u4f8b\uff1a08 80 00 03 E8 00 27 10 \u8868\u793aA\u76f8217.6V\uff0cA\u76f8\u7535\u6d411.000A\uff0cA\u76f8\u529f\u738710.000KW\n5\uff0c\u901a\u4fe1\u903b\u8f91\uff1a\n1\uff09\u7528\u6237\u8fdb\u9762\u677f\uff0c\u4e3b\u52a8\u67e5\u8be2\u3002\u7528\u6237\u8fdb\u5165\u9762\u677f\uff0c\u9762\u677f\u9a6c\u4e0a\u4e0b\u53d10x08\u5230\u7535\u8868\uff0c\u7535\u8868\u4e0a\u62a5\u6570\u636e\u5230\u4e91\u5e73\u53f0\uff0c\u9762\u677f\u62ff\u5230\u6570\u636e\uff0c\u7136\u540e\u5c55\u793a\u3002 \u6ce8\uff1a\u6700\u65b0WIFI\u652f\u6301\u3002 \n2\uff09\u7535\u8868\u57fa\u4e8e\u4e00\u5b9a\u5468\u671f\u4e0a\u62a5\u6570\u636e\u3002\u5efa\u8bae\uff1a\u5728WIFI\u6a21\u5f0f\u65f6\uff0c15\u79d2\u4e0a\u62a5\u4e00\u6b21\u3002NB\u6a21\u5f0f\u65f6\uff0c1\u4e2a\u5c0f\u65f6\u4e0a\u62a5\u4e00\u6b21\u3002",
"extensions": {
"iconName": "icon-dp_lightning",
"attribute": "1152"
},
"name": "\u7535\u538b\uff0c\u7535\u6d41\u53ca\u529f\u7387",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 9,
"accessMode": "ro",
"code": "fault",
"description": "1\uff0c\u544a\u8b66\n2\uff0c\u5927\u7aef\u6a21\u5f0f\uff0cHEX,4\u5b57\u8282\n3\uff0c\u62a5\u6587\u683c\u5f0f\n\u6309\u7167\u5b8c\u65744\u4e2a\u5b57\u8282,\u5bf9\u5e94\u7684\u544a\u8b66\u4f4d\u4e0a\u62a5\u544a\u8b66\uff1bbit\u4f4d\uff0c1\u8868\u793a\u6709\u544a\u8b66\uff0c0\u8868\u793a\u65e0\u544a\u8b66\uff1b\u5982\u679c\u6ca1\u7528\u7684\u544a\u8b66\u4f4d\uff0c\u88650\u3002\u9ad8\u4f4d\u65e0\u5b9a\u4e49\uff0c\u4e5f\u88650\uff1b\n\u4e3e\u4f8b\uff1a0X00 00 00 09,\u8868\u793a\u5f53\u524d\u53d1\u751f\u4e86\u6f0f\u7535\u81ea\u68c0\u4e0d\u6b63\u5e38\u544a\u8b66\u548c\u77ed\u8def\u544a\u8b66,\u65e0\u5176\u5b83\u544a\u8b66\u3002\n4\uff0c\u901a\u4fe1\u903b\u8f91\n\u53ea\u8981\u67091\u4e2a\u544a\u8b66\u53d1\u751f\uff0c\u5c31\u5b8c\u65744\u4e2a\u5b57\u8282\u4e0a\u62a5\u7ed9\u9762\u677f\uff1b\u53ea\u8981\u67091\u4e2a\u544a\u8b66\u5173\u95ed\uff0c\u5c31\u5b8c\u65744\u4e2a\u5b57\u8282\u4e0a\u62a5\u7ed9\u9762\u677f\uff0c\u66f4\u65b0\u9762\u677f\u663e\u793a\u3002",
"extensions": {
"iconName": "icon-baojing",
"attribute": "1152"
},
"name": "\u6545\u969c\u4e0a\u62a5",
"typeSpec": {
"type": "bitmap",
"label": [
"short_circuit_alarm",
"surge_alarm",
"overload_alarm",
"leakagecurr_alarm",
"temp_dif_fault",
"fire_alarm",
"high_power_alarm",
"self_test_alarm",
"ov_cr",
"unbalance_alarm",
"ov_vol",
"undervoltage_alarm",
"miss_phase_alarm",
"outage_alarm",
"magnetism_alarm",
"credit_alarm",
"no_balance_alarm"
],
"maxlen": 17
}
},
{
"abilityId": 11,
"accessMode": "rw",
"code": "switch_prepayment",
"description": "",
"extensions": {
"iconName": "icon-dp_money",
"attribute": "1152"
},
"name": "\u9884\u4ed8\u8d39\u529f\u80fd\u5f00\u5173",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 12,
"accessMode": "rw",
"code": "clear_energy",
"description": "",
"extensions": {
"iconName": "icon-dp_lightning",
"attribute": "1152"
},
"name": "\u4f59\u989d\u6e05\u96f6",
"typeSpec": {
"type": "bool"
}
},
{
"abilityId": 13,
"accessMode": "ro",
"code": "balance_energy",
"description": "",
"extensions": {
"iconName": "icon-dp_lightning",
"attribute": "1152"
},
"name": "\u5269\u4f59\u53ef\u7528\u7535\u91cf",
"typeSpec": {
"type": "value",
"max": 99999999,
"min": 0,
"scale": 2,
"step": 1,
"unit": "kW\u00b7h"
}
},
{
"abilityId": 14,
"accessMode": "rw",
"code": "charge_energy",
"description": "",
"extensions": {
"iconName": "icon-dp_money",
"attribute": "1152"
},
"name": "\u7535\u91cf\u5145\u503c",
"typeSpec": {
"type": "value",
"max": 999999,
"min": 0,
"scale": 2,
"step": 1,
"unit": "kW\u00b7h"
}
},
{
"abilityId": 17,
"accessMode": "rw",
"code": "alarm_set_1",
"description": "1\uff0c\u544a\u8b66\u9608\u503c\u4f7f\u80fd\u63a7\u5236\u53ca\u8bbe\u7f6e2 \n2\uff0cHEX\u683c\u5f0f\uff0c\u5927\u7aef\u6a21\u5f0f, \u603b\u544a\u8b66\u7684\u6570\u91cf*4\u5b57\u8282= \u8bbe\u7f6e\u544a\u8b66\u603b\u957f\u5ea6\u3002\n3\uff0c\u62a5\u6587\u683c\u5f0f\n\u6bcf\u4e2a\u544a\u8b66\u75314\u4e2a\u5b57\u8282\u7ec4\u6210\uff0c\u7b2c1\u4e2a\u5b57\u8282\uff08\u8868\u793a\u8be5\u544a\u8b66\u5b58\u5728\uff09\uff1b\u7b2c2\u4e2a\u5b57\u8282\uff08\u53d1\u751f\u6b64\u544a\u8b66\u65f6\uff0c\u65ad\u8def\u5668\u63a7\u5236\u6a21\u5f0f\uff080X01\u62c9\u95f8\uff0c0X00\u4e0d\u52a8\u4f5c\u53ea\u544a\u8b66\uff09\uff1b\u7b2c3\u30014\u5b57\u8282\uff1a\u8bbe\u7f6e\u544a\u8b66\u9608\u503c\n\u4e3e\u4f8b\uff1a0X01 01 00 00 03 01 00 14,\u8868\u793a\u8be5\u65ad\u8def\u5668\u652f\u6301\u77ed\u8def\u544a\u8b66\uff0c\u53d1\u751f\u8be5\u544a\u8b66\u65f6\uff0c\u81ea\u52a8\u8df3\u95f8\uff0c\u9600\u503c\u88650\u3002\u652f\u6301\u8fc7\u8f7d\u544a\u8b66\uff0c\u53d1\u751f\u8be5\u544a\u8b66\u65f6\uff0c\u62c9\u95f8\u52a8\u4f5c\uff0c\u52a8\u4f5c\u9600\u503c20KW\u3002\u65e0\u5176\u5b83\u544a\u8b66\u3002\n4\uff0c\u901a\u4fe1\u903b\u8f91\nA\uff0c\u914d\u7f51\u6210\u529f\u540e\uff0c\u6309\u7167\u4e0a\u9762\u7684\u683c\u5f0f\uff0c\u4e3b\u52a8\u4e0a\u62a5\u7ed9\u4e91\u5e73\u53f0\uff0c\u9762\u677f\u77e5\u9053\u54ea\u4e9b\u544a\u8b66\u662f\u65ad\u8def\u5668\u5f53\u524d\u652f\u6301\u7684\u3002\u8bbe\u7f6e\u4e0d\u6210\u529f\uff0c\u91cd\u65b0\u914d\u7f51\u518d\u4e0a\u62a5\u3002\nB\uff0c\u65ad\u8def\u5668\u4e0a\u7535\u65f6\uff0c\u4e5f\u4e0a\u62a5\u4e00\u6b21\u3002\nC\uff0c\u9762\u677f\u6839\u636e\u534f\u8bae\u4e0b\u53d1\u544a\u8b66\u8bbe\u7f6e\u3002",
"extensions": {
"iconName": "icon-dp_warming",
"attribute": "1152"
},
"name": "\u544a\u8b66\u8bbe\u7f6e1",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 18,
"accessMode": "rw",
"code": "alarm_set_2",
"description": "1\uff0c\u544a\u8b66\u9608\u503c\u4f7f\u80fd\u63a7\u5236\u53ca\u8bbe\u7f6e2 \n2\uff0cHEX\u683c\u5f0f\uff0c\u5927\u7aef\u6a21\u5f0f\n3\uff0c\u62a5\u6587\u683c\u5f0f\n\u6bcf\u4e2a\u544a\u8b66\u75314\u4e2a\u5b57\u8282\u7ec4\u6210\uff0c\u7b2c1\u4e2a\u5b57\u8282\uff08\u8868\u793a\u8be5\u544a\u8b66\u5b58\u5728\uff09\uff1b\u7b2c2\u4e2a\u5b57\u8282\uff08\u53d1\u751f\u6b64\u544a\u8b66\u65f6\uff0c\u65ad\u8def\u5668\u63a7\u5236\u6a21\u5f0f\uff080X01\u62c9\u95f8\uff0c0X00\u4e0d\u52a8\u4f5c\u53ea\u544a\u8b66\uff09\uff1b\u7b2c3\u30014\u5b57\u8282\uff1a\u8bbe\u7f6e\u544a\u8b66\u9608\u503c\n\u4e3e\u4f8b\uff1a0X01 01 00 3C 03 01 00 F5,\u8868\u793a\u8be5\u65ad\u8def\u5668\u652f\u6301\u8fc7\u6d41\u544a\u8b66\uff0c\u53d1\u751f\u8be5\u544a\u8b66\u65f6\uff0c\u62c9\u95f8\u52a8\u4f5c\uff0c\u52a8\u4f5c\u9600\u503c60A\u3002\u652f\u6301\u8fc7\u538b\u544a\u8b66\uff0c\u53d1\u751f\u8be5\u544a\u8b66\u65f6\uff0c\u62c9\u95f8\u52a8\u4f5c\uff0c\u52a8\u4f5c\u9600\u503c245V\n4\uff0c\u901a\u4fe1\u903b\u8f91\nA\uff0c\u914d\u7f51\u6210\u529f\u540e\uff0c\u6309\u7167\u4e0a\u9762\u7684\u683c\u5f0f\uff0c\u4e3b\u52a8\u4e0a\u62a5\u7ed9\u4e91\u5e73\u53f0\uff0c\u9762\u677f\u77e5\u9053\u54ea\u4e9b\u544a\u8b66\u662f\u65ad\u8def\u5668\u5f53\u524d\u652f\u6301\u7684\u3002\u8bbe\u7f6e\u4e0d\u6210\u529f\uff0c\u91cd\u65b0\u914d\u7f51\u518d\u4e0a\u62a5\u3002\nB\uff0c\u65ad\u8def\u5668\u4e0a\u7535\u65f6\uff0c\u4e5f\u4e0a\u62a5\u4e00\u6b21\u3002\nC\uff0c\u9762\u677f\u6839\u636e\u534f\u8bae\u4e0b\u53d1\u544a\u8b66\u8bbe\u7f6e\u3002",
"extensions": {
"iconName": "icon-dp_warming",
"attribute": "1152"
},
"name": "\u544a\u8b66\u8bbe\u7f6e2",
"typeSpec": {
"type": "raw",
"maxlen": 128
}
},
{
"abilityId": 19,
"accessMode": "ro",
"code": "breaker_id",
"description": "1\uff0c\u8bbe\u5907\u53f7\n2\uff0c\u5927\u7aef\u6a21\u5f0f\uff0c\u5b57\u7b26\u4e32\u578b\n3\uff0c\u5355\u4f4d\u7cbe\u5ea6\n4\uff0c\u62a5\u6587\u683c\u5f0f\n5\uff0c\u901a\u4fe1\u903b\u8f91\nA\uff0c\u914d\u7f51\u65f6\u4e0a\u62a5\u4e09\u6b21\uff0c\u4ee5\u786e\u4fdd\u4e0a\u62a5\u6210\u529f\u3002\u5982\u679c\u914d\u5bf9\u6210\u529f\uff0c\u9762\u677f\u6709\u663e\u793a\u8bbe\u5907\u53f7\u3002\nB\uff0c\u5982\u679c\u914d\u5bf9\u6210\u529f\uff0c\u9762\u677f\u6ca1\u6709\u663e\u793a\u8bbe\u5907\u53f7\uff0c\u9700\u8981\u79fb\u9664\u8bbe\u5907\uff0c\u518d\u914d\u7f6e\u4e00\u904d\u3002\nC\uff0c\u6bcf\u6b21\u65ad\u8def\u5668\u4e0a\u7535\uff0c\u4e5f\u4e0a\u62a5\u4e00\u6b21\u3002",
"extensions": {
"iconName": "icon-dp_mode",
"attribute": "1152"
},
"name": "\u65ad\u8def\u5668\u8bbe\u5907\u53f7",
"typeSpec": {
"type": "string",
"maxlen": 255
Insbesondere bei den Daten im raw format und ergänzend warum aktuell manche dpIx gar nichts liefern, gibt es noch große ???