Dear All,
mb it’s redundant - didn’t see it yet ![]()
HowTo:
VenousOS
Nodered
copy Flow and check Node Virtual Device
Install Shelly 3EMpro
enable MQTT network
MQTT SERVER:
venus.local:1883
Did this today so suggestions are welcome. works on my machine ![]()
Mb this helps so to have less work to integrate Shelly 3EMpro to VenusOS.
BR
```flows
[
{
"id": "d80c71b8c1ef5fd6",
"type": "tab",
"label": "Energymeter 3EMpro",
"disabled": false,
"info": ""
},
{
"id": "459beb809d73dd84",
"type": "mqtt in",
"z": "d80c71b8c1ef5fd6",
"name": "Shelly MQTT",
"topic": "shellypro3em/events/rpc",
"qos": "2",
"datatype": "auto-detect",
"broker": "f6d7732665553750",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 150,
"y": 100,
"wires": [
[
"395584739fafc2d5",
"134c7488754c420f",
"095882887db4bb20"
]
]
},
{
"id": "30e5b3c9265f5d84",
"type": "debug",
"z": "d80c71b8c1ef5fd6",
"name": "RPC Values",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 930,
"y": 80,
"wires": []
},
{
"id": "9d1b08bea7e43df6",
"type": "victron-output-custom",
"z": "d80c71b8c1ef5fd6",
"service": "com.victronenergy.grid/100",
"path": "/Ac/L1/Power",
"serviceObj": {
"service": "com.victronenergy.grid/100",
"name": "3EM (100)"
},
"pathObj": {
"path": "/Ac/L1/Power",
"name": "/Ac/L1/Power",
"type": "number",
"value": 6.6
},
"name": "P L1 (W)",
"onlyChanges": false,
"x": 1100,
"y": 320,
"wires": []
},
{
"id": "29443a63fb9edba5",
"type": "victron-virtual",
"z": "d80c71b8c1ef5fd6",
"name": "3EM",
"device": "grid",
"default_values": false,
"battery_capacity": 25,
"include_battery_temperature": false,
"grid_nrofphases": "3",
"include_motor_temp": false,
"include_controller_temp": false,
"include_coolant_temp": false,
"include_motor_rpm": true,
"include_motor_direction": true,
"position": 0,
"pvinverter_nrofphases": 1,
"fluid_type": 0,
"include_tank_battery": false,
"include_tank_temperature": false,
"tank_battery_voltage": 3.3,
"tank_capacity": 0.2,
"temperature_type": 2,
"include_humidity": false,
"include_pressure": false,
"include_temp_battery": false,
"temp_battery_voltage": 3.3,
"x": 130,
"y": 40,
"wires": []
},
{
"id": "c861024d59663e2e",
"type": "change",
"z": "d80c71b8c1ef5fd6",
"name": "a_voltage",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "payload.params.em:0.a_voltage",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 920,
"y": 440,
"wires": [
[
"1e649e5f74ec7cda"
]
]
},
{
"id": "395584739fafc2d5",
"type": "switch",
"z": "d80c71b8c1ef5fd6",
"name": "Filter EM:0 auf ID in Message",
"property": "payload.params.em:0",
"propertyType": "msg",
"rules": [
{
"t": "hask",
"v": "id",
"vt": "str"
}
],
"checkall": "true",
"repair": false,
"outputs": 1,
"x": 550,
"y": 360,
"wires": [
[
"c861024d59663e2e",
"9539e38d69b5d949",
"5c4d428ff357b0d4",
"30e5b3c9265f5d84",
"014c84e74488df59",
"f355f4709e855094",
"fd556d98fbe9c208",
"58d685fa658917c9",
"26e7d053b4d3032c",
"8d2bf4c5f7848f5c",
"568002c1689b3257",
"64212cec30b554c0",
"04528d37254a33e2",
"7e6224f864f23ffc"
]
]
},
{
"id": "9539e38d69b5d949",
"type": "change",
"z": "d80c71b8c1ef5fd6",
"name": "b_voltage",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "payload.params.em:0.b_voltage",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 920,
"y": 480,
"wires": [
[
"feb26779aed27a03"
]
]
},
{
"id": "5c4d428ff357b0d4",
"type": "change",
"z": "d80c71b8c1ef5fd6",
"name": "a_act_power",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "payload.params.em:0.a_act_power",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 930,
"y": 320,
"wires": [
[
"9d1b08bea7e43df6"
]
]
},
{
"id": "014c84e74488df59",
"type": "change",
"z": "d80c71b8c1ef5fd6",
"name": "b_act_power",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "payload.params.em:0.b_act_power",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 930,
"y": 360,
"wires": [
[
"f2e28472ecfa0f0c"
]
]
},
{
"id": "f355f4709e855094",
"type": "change",
"z": "d80c71b8c1ef5fd6",
"name": "c_act_power",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "payload.params.em:0.c_act_power",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 930,
"y": 400,
"wires": [
[
"19cf0fb142f4800d"
]
]
},
{
"id": "f2e28472ecfa0f0c",
"type": "victron-output-custom",
"z": "d80c71b8c1ef5fd6",
"service": "com.victronenergy.grid/100",
"path": "/Ac/L2/Power",
"serviceObj": {
"service": "com.victronenergy.grid/100",
"name": "3EM (100)"
},
"pathObj": {
"path": "/Ac/L2/Power",
"name": "/Ac/L2/Power",
"type": "number",
"value": 0
},
"name": "P L2 (W)",
"onlyChanges": false,
"x": 1100,
"y": 360,
"wires": []
},
{
"id": "19cf0fb142f4800d",
"type": "victron-output-custom",
"z": "d80c71b8c1ef5fd6",
"service": "com.victronenergy.grid/100",
"path": "/Ac/L3/Power",
"serviceObj": {
"service": "com.victronenergy.grid/100",
"name": "3EM (100)"
},
"pathObj": {
"path": "/Ac/L3/Power",
"name": "/Ac/L3/Power",
"type": "number",
"value": 0
},
"name": "P L3 (W)",
"onlyChanges": false,
"x": 1100,
"y": 400,
"wires": []
},
{
"id": "1e649e5f74ec7cda",
"type": "victron-output-custom",
"z": "d80c71b8c1ef5fd6",
"service": "com.victronenergy.grid/100",
"path": "/Ac/L1/Voltage",
"serviceObj": {
"service": "com.victronenergy.grid/100",
"name": "3EM (100)"
},
"pathObj": {
"path": "/Ac/L1/Voltage",
"name": "/Ac/L1/Voltage",
"type": "number",
"value": 0
},
"name": "U L1 (V)",
"onlyChanges": false,
"x": 1120,
"y": 440,
"wires": []
},
{
"id": "23198b42e2720b19",
"type": "victron-output-custom",
"z": "d80c71b8c1ef5fd6",
"service": "com.victronenergy.grid/100",
"path": "/Ac/L3/Voltage",
"serviceObj": {
"service": "com.victronenergy.grid/100",
"name": "3EM (100)"
},
"pathObj": {
"path": "/Ac/L3/Voltage",
"name": "/Ac/L3/Voltage",
"type": "number",
"value": 0.122
},
"name": "U L3 (V)",
"onlyChanges": false,
"x": 1120,
"y": 520,
"wires": []
},
{
"id": "fd556d98fbe9c208",
"type": "change",
"z": "d80c71b8c1ef5fd6",
"name": "c_voltage",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "payload.params.em:0.c_voltage",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 920,
"y": 520,
"wires": [
[
"23198b42e2720b19"
]
]
},
{
"id": "feb26779aed27a03",
"type": "victron-output-custom",
"z": "d80c71b8c1ef5fd6",
"service": "com.victronenergy.grid/100",
"path": "/Ac/L2/Voltage",
"serviceObj": {
"service": "com.victronenergy.grid/100",
"name": "3EM (100)"
},
"pathObj": {
"path": "/Ac/L2/Voltage",
"name": "/Ac/L2/Voltage",
"type": "number",
"value": 0
},
"name": "U L2 (V)",
"onlyChanges": false,
"x": 1120,
"y": 480,
"wires": []
},
{
"id": "58d685fa658917c9",
"type": "change",
"z": "d80c71b8c1ef5fd6",
"name": "a_current",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "payload.params.em:0.a_current",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 920,
"y": 600,
"wires": [
[
"3a98c84de0dda46e"
]
]
},
{
"id": "26e7d053b4d3032c",
"type": "change",
"z": "d80c71b8c1ef5fd6",
"name": "b_current",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "payload.params.em:0.b_current",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 920,
"y": 640,
"wires": [
[
"9a6dc4c9fe3bbc03"
]
]
},
{
"id": "3a98c84de0dda46e",
"type": "victron-output-custom",
"z": "d80c71b8c1ef5fd6",
"service": "com.victronenergy.grid/100",
"path": "/Ac/L2/Current",
"serviceObj": {
"service": "com.victronenergy.grid/100",
"name": "3EM (100)"
},
"pathObj": {
"path": "/Ac/L2/Current",
"name": "/Ac/L2/Current",
"type": "number",
"value": 0
},
"name": "I L1 (A)",
"onlyChanges": false,
"x": 1120,
"y": 600,
"wires": []
},
{
"id": "411aed086a7b7836",
"type": "victron-output-custom",
"z": "d80c71b8c1ef5fd6",
"service": "com.victronenergy.grid/100",
"path": "/Ac/L3/Current",
"serviceObj": {
"service": "com.victronenergy.grid/100",
"name": "3EM (100)"
},
"pathObj": {
"path": "/Ac/L3/Current",
"name": "/Ac/L3/Current",
"type": "number",
"value": 0
},
"name": "I L3 (A)",
"onlyChanges": false,
"x": 1120,
"y": 680,
"wires": []
},
{
"id": "8d2bf4c5f7848f5c",
"type": "change",
"z": "d80c71b8c1ef5fd6",
"name": "c_current",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "payload.params.em:0.c_current",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 920,
"y": 680,
"wires": [
[
"411aed086a7b7836"
]
]
},
{
"id": "9a6dc4c9fe3bbc03",
"type": "victron-output-custom",
"z": "d80c71b8c1ef5fd6",
"service": "com.victronenergy.grid/100",
"path": "/Ac/L2/Current",
"serviceObj": {
"service": "com.victronenergy.grid/100",
"name": "3EM (100)"
},
"pathObj": {
"path": "/Ac/L2/Current",
"name": "/Ac/L2/Current",
"type": "number",
"value": 0
},
"name": "I L2 (A)",
"onlyChanges": false,
"x": 1120,
"y": 640,
"wires": []
},
{
"id": "568002c1689b3257",
"type": "change",
"z": "d80c71b8c1ef5fd6",
"name": "total_act_power",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "payload.params.em:0.total_act_power",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 940,
"y": 120,
"wires": [
[
"0ca0a651eb6d5a1e"
]
]
},
{
"id": "0ca0a651eb6d5a1e",
"type": "victron-output-custom",
"z": "d80c71b8c1ef5fd6",
"service": "com.victronenergy.grid/100",
"path": "/Ac/Power",
"serviceObj": {
"service": "com.victronenergy.grid/100",
"name": "3EM (100)"
},
"pathObj": {
"path": "/Ac/Power",
"name": "/Ac/Power",
"type": "number",
"value": 114.9
},
"name": "P Total (W)",
"onlyChanges": false,
"x": 1130,
"y": 120,
"wires": []
},
{
"id": "64212cec30b554c0",
"type": "change",
"z": "d80c71b8c1ef5fd6",
"name": "a_freq",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "payload.params.em:0.a_freq",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 910,
"y": 200,
"wires": [
[
"3608eba72d43623e"
]
]
},
{
"id": "04528d37254a33e2",
"type": "change",
"z": "d80c71b8c1ef5fd6",
"name": "b_freq",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "payload.params.em:0.b_freq",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 910,
"y": 240,
"wires": [
[
"3608eba72d43623e"
]
]
},
{
"id": "7e6224f864f23ffc",
"type": "change",
"z": "d80c71b8c1ef5fd6",
"name": "c_freq",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "payload.params.em:0.c_freq",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 910,
"y": 280,
"wires": [
[
"3608eba72d43623e"
]
]
},
{
"id": "179c7078891488e6",
"type": "function",
"z": "d80c71b8c1ef5fd6",
"name": "Average frequency abc",
"func": "// check array is 3 values\nif (!Array.isArray(msg.payload) || msg.payload.length !== 3) {\n node.error(\"msg.payload muss ein Array mit genau 3 Werten sein\", msg);\n return null;\n}\n\n// check all not 0\nif (msg.payload.includes(0)) {\n msg.payload = 0;\n return msg;\n}\n\n// average\nlet summe = msg.payload.reduce((a, b) => a + b, 0);\nlet mittelwert = summe / 3;\n\n// Round\nmsg.payload = Math.round(mittelwert * 10) / 10;\n\nreturn msg;\n",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 1290,
"y": 240,
"wires": [
[
"1fb74ee013e51022"
]
]
},
{
"id": "3608eba72d43623e",
"type": "join",
"z": "d80c71b8c1ef5fd6",
"name": "Join",
"mode": "custom",
"build": "array",
"property": "payload",
"propertyType": "msg",
"key": "topic",
"joiner": "[92,110]",
"joinerType": "bin",
"accumulate": false,
"timeout": "",
"count": "3",
"reduceRight": false,
"reduceExp": "",
"reduceInit": "",
"reduceInitType": "",
"reduceFixup": "",
"x": 1090,
"y": 240,
"wires": [
[
"179c7078891488e6"
]
]
},
{
"id": "1fb74ee013e51022",
"type": "victron-output-custom",
"z": "d80c71b8c1ef5fd6",
"service": "com.victronenergy.grid/100",
"path": "/Ac/Frequency",
"serviceObj": {
"service": "com.victronenergy.grid/100",
"name": "3EM (100)"
},
"pathObj": {
"path": "/Ac/Frequency",
"name": "/Ac/Frequency",
"type": "object",
"value": null
},
"name": "Frequency (hz)",
"onlyChanges": false,
"x": 1520,
"y": 240,
"wires": []
},
{
"id": "e9252f8e7ee2d51d",
"type": "inject",
"z": "d80c71b8c1ef5fd6",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "0",
"payloadType": "num",
"x": 910,
"y": 160,
"wires": [
[
"3608eba72d43623e"
]
]
},
{
"id": "04222b070f442caf",
"type": "comment",
"z": "d80c71b8c1ef5fd6",
"name": "Frequency",
"info": "average frequency over all 3 phases.\nif one phase is 0Hz (not connected) average value is also 0Hz\n",
"x": 1100,
"y": 200,
"wires": []
},
{
"id": "134c7488754c420f",
"type": "debug",
"z": "d80c71b8c1ef5fd6",
"name": "debug 11",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 500,
"y": 100,
"wires": []
},
{
"id": "095882887db4bb20",
"type": "switch",
"z": "d80c71b8c1ef5fd6",
"name": "Filter emdata:0 auf ID in Message",
"property": "payload.params.emdata:0",
"propertyType": "msg",
"rules": [
{
"t": "hask",
"v": "id",
"vt": "str"
}
],
"checkall": "true",
"repair": false,
"outputs": 1,
"x": 560,
"y": 860,
"wires": [
[
"58f5801b7214e290",
"ba23193fbfb0565c",
"610a40fee58c5235",
"2ebc7978ff3d883b",
"760d2fae3edf2539",
"fe0c4ac62cc2bb64",
"51e92962ae31e244",
"1c46d71ff404c143"
]
]
},
{
"id": "58f5801b7214e290",
"type": "change",
"z": "d80c71b8c1ef5fd6",
"name": "Energy forward a",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "payload.params.emdata:0.a_total_act_energy",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 950,
"y": 760,
"wires": [
[
"e5973ae0baa54c73"
]
]
},
{
"id": "ba23193fbfb0565c",
"type": "change",
"z": "d80c71b8c1ef5fd6",
"name": "Energy forward b",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "payload.params.emdata:0.b_total_act_energy",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 950,
"y": 800,
"wires": [
[
"0b2da47d1fc8ece1"
]
]
},
{
"id": "610a40fee58c5235",
"type": "change",
"z": "d80c71b8c1ef5fd6",
"name": "Energy forward c",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "payload.params.emdata:0.c_total_act_energy",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 950,
"y": 840,
"wires": [
[
"9ede70d2ccd44856"
]
]
},
{
"id": "2ebc7978ff3d883b",
"type": "change",
"z": "d80c71b8c1ef5fd6",
"name": "Energy returned a",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "payload.params.emdata:0.a_total_act_ret_energy",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 950,
"y": 940,
"wires": [
[
"3115e96a2341faef"
]
]
},
{
"id": "760d2fae3edf2539",
"type": "change",
"z": "d80c71b8c1ef5fd6",
"name": "Energy returned b",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "payload.params.emdata:0.b_total_act_ret_energy",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 950,
"y": 980,
"wires": [
[
"4281c5e48ad68eb4"
]
]
},
{
"id": "fe0c4ac62cc2bb64",
"type": "change",
"z": "d80c71b8c1ef5fd6",
"name": "Energy returned c",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "payload.params.emdata:0.c_total_act_ret_energy",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 950,
"y": 1020,
"wires": [
[
"8cf9cf3f09c06b97"
]
]
},
{
"id": "38af0a890ae288c6",
"type": "victron-output-custom",
"z": "d80c71b8c1ef5fd6",
"service": "com.victronenergy.grid/100",
"path": "/Ac/L1/Energy/Forward",
"serviceObj": {
"service": "com.victronenergy.grid/100",
"name": "3EM (100)"
},
"pathObj": {
"path": "/Ac/L1/Energy/Forward",
"name": "/Ac/L1/Energy/Forward",
"type": "number",
"value": 0.093
},
"name": "E Consumed (Wh)",
"onlyChanges": false,
"x": 1390,
"y": 760,
"wires": []
},
{
"id": "9dc26b2b2ebf4d17",
"type": "victron-output-custom",
"z": "d80c71b8c1ef5fd6",
"service": "com.victronenergy.grid/100",
"path": "/Ac/L2/Energy/Forward",
"serviceObj": {
"service": "com.victronenergy.grid/100",
"name": "3EM (100)"
},
"pathObj": {
"path": "/Ac/L2/Energy/Forward",
"name": "/Ac/L2/Energy/Forward",
"type": "number",
"value": 0.121
},
"name": "E Consumed (Wh)",
"onlyChanges": false,
"x": 1390,
"y": 800,
"wires": []
},
{
"id": "362c70273ab1a46d",
"type": "victron-output-custom",
"z": "d80c71b8c1ef5fd6",
"service": "com.victronenergy.grid/100",
"path": "/Ac/L3/Energy/Forward",
"serviceObj": {
"service": "com.victronenergy.grid/100",
"name": "3EM (100)"
},
"pathObj": {
"path": "/Ac/L3/Energy/Forward",
"name": "/Ac/L3/Energy/Forward",
"type": "number",
"value": 0.004
},
"name": "E Consumed (Wh)",
"onlyChanges": false,
"x": 1390,
"y": 840,
"wires": []
},
{
"id": "4b4ccc81a64d8c43",
"type": "victron-output-custom",
"z": "d80c71b8c1ef5fd6",
"service": "com.victronenergy.grid/100",
"path": "/Ac/L1/Energy/Reverse",
"serviceObj": {
"service": "com.victronenergy.grid/100",
"name": "3EM (100)"
},
"pathObj": {
"path": "/Ac/L1/Energy/Reverse",
"name": "/Ac/L1/Energy/Reverse",
"type": "number",
"value": 0.093
},
"name": "E produced (Wh)",
"onlyChanges": false,
"x": 1390,
"y": 940,
"wires": []
},
{
"id": "50b995592e62e5ba",
"type": "victron-output-custom",
"z": "d80c71b8c1ef5fd6",
"service": "com.victronenergy.grid/100",
"path": "/Ac/L2/Energy/Reverse",
"serviceObj": {
"service": "com.victronenergy.grid/100",
"name": "3EM (100)"
},
"pathObj": {
"path": "/Ac/L2/Energy/Reverse",
"name": "/Ac/L2/Energy/Reverse",
"type": "number",
"value": 0.121
},
"name": "E produced (Wh)",
"onlyChanges": false,
"x": 1390,
"y": 980,
"wires": []
},
{
"id": "5c80fe258b30f930",
"type": "victron-output-custom",
"z": "d80c71b8c1ef5fd6",
"service": "com.victronenergy.grid/100",
"path": "/Ac/L3/Energy/Reverse",
"serviceObj": {
"service": "com.victronenergy.grid/100",
"name": "3EM (100)"
},
"pathObj": {
"path": "/Ac/L3/Energy/Reverse",
"name": "/Ac/L3/Energy/Reverse",
"type": "number",
"value": 0.004
},
"name": "E produced (Wh)",
"onlyChanges": false,
"x": 1390,
"y": 1020,
"wires": []
},
{
"id": "e5973ae0baa54c73",
"type": "function",
"z": "d80c71b8c1ef5fd6",
"name": "kWh in Wh ",
"func": "// Wh → kWh\nmsg.payload = msg.payload / 1000;\n\n// auf 1 Nachkommastelle runden\nmsg.payload = Math.round(msg.payload * 10) / 10;\n\nreturn msg;\n",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 1170,
"y": 760,
"wires": [
[
"38af0a890ae288c6",
"da850ae2c327e736"
]
]
},
{
"id": "da850ae2c327e736",
"type": "debug",
"z": "d80c71b8c1ef5fd6",
"name": "debug 12",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 1360,
"y": 720,
"wires": []
},
{
"id": "0b2da47d1fc8ece1",
"type": "function",
"z": "d80c71b8c1ef5fd6",
"name": "kWh in Wh ",
"func": "// Wh → kWh\nmsg.payload = msg.payload / 1000;\n\n// auf 1 Nachkommastelle runden\nmsg.payload = Math.round(msg.payload * 10) / 10;\n\nreturn msg;\n",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 1170,
"y": 800,
"wires": [
[
"9dc26b2b2ebf4d17"
]
]
},
{
"id": "9ede70d2ccd44856",
"type": "function",
"z": "d80c71b8c1ef5fd6",
"name": "kWh in Wh ",
"func": "// Wh → kWh\nmsg.payload = msg.payload / 1000;\n\n// auf 1 Nachkommastelle runden\nmsg.payload = Math.round(msg.payload * 10) / 10;\n\nreturn msg;\n",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 1170,
"y": 840,
"wires": [
[
"362c70273ab1a46d"
]
]
},
{
"id": "3115e96a2341faef",
"type": "function",
"z": "d80c71b8c1ef5fd6",
"name": "kWh in Wh ",
"func": "// Wh → kWh\nmsg.payload = msg.payload / 1000;\n\n// auf 1 Nachkommastelle runden\nmsg.payload = Math.round(msg.payload * 10) / 10;\n\nreturn msg;\n",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 1170,
"y": 940,
"wires": [
[
"4b4ccc81a64d8c43"
]
]
},
{
"id": "4281c5e48ad68eb4",
"type": "function",
"z": "d80c71b8c1ef5fd6",
"name": "kWh in Wh ",
"func": "// Wh → kWh\nmsg.payload = msg.payload / 1000;\n\n// auf 1 Nachkommastelle runden\nmsg.payload = Math.round(msg.payload * 10) / 10;\n\nreturn msg;\n",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 1170,
"y": 980,
"wires": [
[
"50b995592e62e5ba"
]
]
},
{
"id": "8cf9cf3f09c06b97",
"type": "function",
"z": "d80c71b8c1ef5fd6",
"name": "kWh in Wh ",
"func": "// Wh → kWh\nmsg.payload = msg.payload / 1000;\n\n// auf 1 Nachkommastelle runden\nmsg.payload = Math.round(msg.payload * 10) / 10;\n\nreturn msg;\n",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 1170,
"y": 1020,
"wires": [
[
"5c80fe258b30f930"
]
]
},
{
"id": "51e92962ae31e244",
"type": "change",
"z": "d80c71b8c1ef5fd6",
"name": "Energy forward total",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "payload.params.emdata:0.total_act",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 960,
"y": 880,
"wires": [
[
"b8d4928c3d8107e8"
]
]
},
{
"id": "b8d4928c3d8107e8",
"type": "function",
"z": "d80c71b8c1ef5fd6",
"name": "kWh in Wh ",
"func": "// Wh → kWh\nmsg.payload = msg.payload / 1000;\n\n// auf 1 Nachkommastelle runden\nmsg.payload = Math.round(msg.payload * 10) / 10;\n\nreturn msg;\n",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 1170,
"y": 880,
"wires": [
[
"534624328aec5fab"
]
]
},
{
"id": "534624328aec5fab",
"type": "victron-output-custom",
"z": "d80c71b8c1ef5fd6",
"service": "com.victronenergy.grid/100",
"path": "/Ac/Energy/Forward",
"serviceObj": {
"service": "com.victronenergy.grid/100",
"name": "3EM (100)"
},
"pathObj": {
"path": "/Ac/Energy/Forward",
"name": "/Ac/Energy/Forward",
"type": "number",
"value": 0
},
"name": "E Consumed (Wh)",
"onlyChanges": false,
"x": 1390,
"y": 880,
"wires": []
},
{
"id": "99b1273f6a0e3f12",
"type": "function",
"z": "d80c71b8c1ef5fd6",
"name": "kWh in Wh ",
"func": "// Wh → kWh\nmsg.payload = msg.payload / 1000;\n\n// auf 1 Nachkommastelle runden\nmsg.payload = Math.round(msg.payload * 10) / 10;\n\nreturn msg;\n",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 1170,
"y": 1060,
"wires": [
[
"461315a2fd7fc46a"
]
]
},
{
"id": "461315a2fd7fc46a",
"type": "victron-output-custom",
"z": "d80c71b8c1ef5fd6",
"service": "com.victronenergy.grid/100",
"path": "/Ac/Energy/Reverse",
"serviceObj": {
"service": "com.victronenergy.grid/100",
"name": "3EM (100)"
},
"pathObj": {
"path": "/Ac/Energy/Reverse",
"name": "/Ac/Energy/Reverse",
"type": "number",
"value": 0
},
"name": "E produced (Wh)",
"onlyChanges": false,
"x": 1390,
"y": 1060,
"wires": []
},
{
"id": "1c46d71ff404c143",
"type": "change",
"z": "d80c71b8c1ef5fd6",
"name": "Energy returned total",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "payload.params.emdata:0.total_act_ret",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 960,
"y": 1060,
"wires": [
[
"99b1273f6a0e3f12"
]
]
},
{
"id": "f6d7732665553750",
"type": "mqtt-broker",
"name": "MQTTServer",
"broker": "127.0.0.1",
"port": "1883",
"clientid": "",
"autoConnect": true,
"usetls": false,
"protocolVersion": "4",
"keepalive": "60",
"cleansession": true,
"autoUnsubscribe": true,
"birthTopic": "",
"birthQos": "0",
"birthRetain": "false",
"birthPayload": "",
"birthMsg": {},
"closeTopic": "",
"closeQos": "0",
"closeRetain": "false",
"closePayload": "",
"closeMsg": {},
"willTopic": "",
"willQos": "0",
"willRetain": "false",
"willPayload": "",
"willMsg": {},
"userProps": "",
"sessionExpiry": ""
}
]
