[ { "id": "d51fc52c.4b50a8", "type": "ttn uplink", "z": "af20e30e.5171b8", "name": "", "app": "45d2ffe.713a48", "dev_id": "upc20190504a", "field": "", "x": 120, "y": 40, "wires": [ [ "a9385106.721fb" ] ] }, { "id": "a9385106.721fb", "type": "function", "z": "af20e30e.5171b8", "name": "-> SoC,Vbat,Ibat,PL,PPV,VPV,KwhConsumed,KwhGenerated,T,H", "func": "var data = msg.payload;\n\n// Create a buffer\nvar bufSoC = new ArrayBuffer(2);\nvar bufVbat = new ArrayBuffer(2);\nvar bufIbat = new ArrayBuffer(2);\nvar bufPL = new ArrayBuffer(2);\nvar bufPPV = new ArrayBuffer(2);\nvar bufVPV = new ArrayBuffer(2);\nvar bufKwhConsumed = new ArrayBuffer(2);\nvar bufKwhGenerated = new ArrayBuffer(2);\nvar bufT = new ArrayBuffer(2);\nvar bufH = new ArrayBuffer(2);\n\n// Create a data view of it\nvar viewSoC = new DataView(bufSoC);\nvar viewVbat = new DataView(bufVbat);\nvar viewIbat = new DataView(bufIbat);\nvar viewPL = new DataView(bufPL);\nvar viewPPV = new DataView(bufPPV);\nvar viewVPV = new DataView(bufVPV);\nvar viewKwhConsumed = new DataView(bufKwhConsumed);\nvar viewKwhGenerated = new DataView(bufKwhGenerated);\nvar viewT = new DataView(bufT);\nvar viewH = new DataView(bufH);\n\n// set bytes\ndata.forEach(function (b, i) {\n\tif(i === 0){\n\t\tviewSoC.setInt8(1, b);\n\t\tviewSoC.setInt8(0, 0);\n\t}\n\tif(i == 1)\n\t\tviewVbat.setInt8(0, b);\n\tif(i == 2)\n\t\tviewVbat.setInt8(1, b);\n\tif(i == 3)\n\t\tviewIbat.setInt8(0, b);\n\tif(i == 4)\n\t\tviewIbat.setInt8(1, b);\n\tif(i == 5)\n\t\tviewPL.setInt8(0, b);\n\tif(i == 6)\n\t\tviewPL.setInt8(1, b);\n\tif(i == 7)\n\t\tviewPPV.setInt8(0, b);\n\tif(i == 8)\n\t\tviewPPV.setInt8(1, b);\n\tif(i == 9)\n\t\tviewVPV.setInt8(0, b);\n\tif(i == 10)\n\t\tviewVPV.setInt8(1, b);\n\tif(i == 11)\n\t\tviewKwhConsumed.setInt8(0, b);\n\tif(i == 12)\n\t\tviewKwhConsumed.setInt8(1, b);\n\tif(i == 13)\n\t\tviewKwhGenerated.setInt8(0, b);\n\tif(i == 14)\n\t\tviewKwhGenerated.setInt8(1, b);\n\tif(i == 15)\n\t\tviewT.setInt8(0, b);\n\tif(i == 16)\n\t\tviewT.setInt8(1, b);\n\tif(i == 17)\n\t\tviewH.setInt8(0, b);\n\tif(i == 18)\n\t\tviewH.setInt8(1, b);\n});\n\nvar numSoC = viewSoC.getInt16(0);\nvar numVbat = viewVbat.getInt16(0);\nnumVbat = Math.round(numVbat)/100;\nvar numIbat = viewIbat.getInt16(0);\nnumIbat = Math.round(numIbat)/100;\nvar numPL = viewPL.getInt16(0);\nnumPL = Math.round(numPL)/100;\nvar numPPV = viewPPV.getInt16(0);\nnumPPV = Math.round(numPPV)/100;\nvar numVPV = viewVPV.getInt16(0);\nnumVPV = Math.round(numVPV)/100;\nvar numKwhConsumed = viewKwhConsumed.getInt16(0);\nnumKwhConsumed = Math.round(numKwhConsumed)/100;\nvar numKwhGenerated = viewKwhGenerated.getInt16(0);\nnumKwhGenerated = Math.round(numKwhGenerated)/100;\nvar numT = viewT.getInt16(0);\nnumT = Math.round(numT)/100;\nvar numH = viewH.getInt16(0);\nnumH = Math.round(numH)/100;\n// Done\nvar msgSoC = { payload:numSoC };\nvar msgVbat = { payload:numVbat };\nvar msgIbat = { payload:numIbat };\nvar msgPL = { payload:numPL };\nvar msgPPV = { payload:numPPV };\nvar msgVPV = { payload:numVPV };\nvar msgKwhConsumed = { payload:numKwhConsumed };\nvar msgKwhGenerated = { payload:numKwhGenerated };\nvar msgT = { payload:numT };\nvar msgH = { payload:numH };\n\nflow.set(\"numSoC\",numSoC);\nflow.set(\"numVbat\",numVbat);\nflow.set(\"numT\",numT);\nflow.set(\"numH\",numH);\n\nreturn [msgSoC,msgVbat,msgIbat,msgPL,msgPPV,msgVPV,msgKwhConsumed,msgKwhGenerated,msgT,msgH];\n", "outputs": 10, "noerr": 0, "x": 260, "y": 220, "wires": [ [ "131e14fc.c5548b" ], [ "9820816b.b09ed8" ], [ "21e3981a.f968" ], [ "dd46c472.dad36" ], [ "8d0e692e.4a335" ], [ "b8e3a79b.0b1a7" ], [ "4d880a4d.661fac" ], [ "fa6bac12.1b1a28" ], [ "b7c7a9ec.44e0c8" ], [ "7caafcc1.f7e5cc" ] ] }, { "id": "131e14fc.c5548b", "type": "influxdb out", "z": "af20e30e.5171b8", "influxdb": "9c957dce.29bf1", "name": "", "measurement": "f03_SoC", "precision": "", "retentionPolicy": "", "x": 730, "y": 40, "wires": [] }, { "id": "9820816b.b09ed8", "type": "influxdb out", "z": "af20e30e.5171b8", "influxdb": "9c957dce.29bf1", "name": "", "measurement": "f03_vBat", "precision": "", "retentionPolicy": "", "x": 730, "y": 80, "wires": [] }, { "id": "21e3981a.f968", "type": "influxdb out", "z": "af20e30e.5171b8", "influxdb": "9c957dce.29bf1", "name": "", "measurement": "f03_iBat", "precision": "", "retentionPolicy": "", "x": 720, "y": 120, "wires": [] }, { "id": "dd46c472.dad36", "type": "influxdb out", "z": "af20e30e.5171b8", "influxdb": "9c957dce.29bf1", "name": "", "measurement": "f03_pL", "precision": "", "retentionPolicy": "", "x": 720, "y": 160, "wires": [] }, { "id": "8d0e692e.4a335", "type": "influxdb out", "z": "af20e30e.5171b8", "influxdb": "9c957dce.29bf1", "name": "", "measurement": "f03_pPV", "precision": "", "retentionPolicy": "", "x": 730, "y": 200, "wires": [] }, { "id": "b8e3a79b.0b1a7", "type": "influxdb out", "z": "af20e30e.5171b8", "influxdb": "9c957dce.29bf1", "name": "", "measurement": "f03_vPV", "precision": "", "retentionPolicy": "", "x": 720, "y": 240, "wires": [] }, { "id": "4d880a4d.661fac", "type": "influxdb out", "z": "af20e30e.5171b8", "influxdb": "9c957dce.29bf1", "name": "", "measurement": "f03_kwhConsumedDay", "precision": "", "retentionPolicy": "", "x": 770, "y": 280, "wires": [] }, { "id": "fa6bac12.1b1a28", "type": "influxdb out", "z": "af20e30e.5171b8", "influxdb": "9c957dce.29bf1", "name": "", "measurement": "f03_kwhGeneratedDay", "precision": "", "retentionPolicy": "", "x": 770, "y": 320, "wires": [] }, { "id": "b7c7a9ec.44e0c8", "type": "influxdb out", "z": "af20e30e.5171b8", "influxdb": "9c957dce.29bf1", "name": "", "measurement": "f03_T", "precision": "", "retentionPolicy": "", "x": 720, "y": 360, "wires": [] }, { "id": "7caafcc1.f7e5cc", "type": "influxdb out", "z": "af20e30e.5171b8", "influxdb": "9c957dce.29bf1", "name": "", "measurement": "f03_H", "precision": "", "retentionPolicy": "", "x": 720, "y": 400, "wires": [] }, { "id": "af6ab49c.f268f8", "type": "ttn uplink", "z": "af20e30e.5171b8", "name": "", "app": "7757e727.d45e48", "dev_id": "f05", "field": "", "x": 120, "y": 440, "wires": [ [ "114d08bd.a097df" ] ] }, { "id": "114d08bd.a097df", "type": "function", "z": "af20e30e.5171b8", "name": "-> SoC,Vbat,Ibat,PL,PPV,VPV,KwhConsumed,KwhGenerated,T,H", "func": "var data = msg.payload;\n\n// Create a buffer\nvar bufSoC = new ArrayBuffer(2);\nvar bufVbat = new ArrayBuffer(2);\nvar bufIbat = new ArrayBuffer(2);\nvar bufPL = new ArrayBuffer(2);\nvar bufPPV = new ArrayBuffer(2);\nvar bufVPV = new ArrayBuffer(2);\nvar bufKwhConsumed = new ArrayBuffer(2);\nvar bufKwhGenerated = new ArrayBuffer(2);\nvar bufT = new ArrayBuffer(2);\nvar bufH = new ArrayBuffer(2);\n\n// Create a data view of it\nvar viewSoC = new DataView(bufSoC);\nvar viewVbat = new DataView(bufVbat);\nvar viewIbat = new DataView(bufIbat);\nvar viewPL = new DataView(bufPL);\nvar viewPPV = new DataView(bufPPV);\nvar viewVPV = new DataView(bufVPV);\nvar viewKwhConsumed = new DataView(bufKwhConsumed);\nvar viewKwhGenerated = new DataView(bufKwhGenerated);\nvar viewT = new DataView(bufT);\nvar viewH = new DataView(bufH);\n\n// set bytes\ndata.forEach(function (b, i) {\n\tif(i === 0){\n\t\tviewSoC.setInt8(1, b);\n\t\tviewSoC.setInt8(0, 0);\n\t}\n\tif(i == 1)\n\t\tviewVbat.setInt8(0, b);\n\tif(i == 2)\n\t\tviewVbat.setInt8(1, b);\n\tif(i == 3)\n\t\tviewIbat.setInt8(0, b);\n\tif(i == 4)\n\t\tviewIbat.setInt8(1, b);\n\tif(i == 5)\n\t\tviewPL.setInt8(0, b);\n\tif(i == 6)\n\t\tviewPL.setInt8(1, b);\n\tif(i == 7)\n\t\tviewPPV.setInt8(0, b);\n\tif(i == 8)\n\t\tviewPPV.setInt8(1, b);\n\tif(i == 9)\n\t\tviewVPV.setInt8(0, b);\n\tif(i == 10)\n\t\tviewVPV.setInt8(1, b);\n\tif(i == 11)\n\t\tviewKwhConsumed.setInt8(0, b);\n\tif(i == 12)\n\t\tviewKwhConsumed.setInt8(1, b);\n\tif(i == 13)\n\t\tviewKwhGenerated.setInt8(0, b);\n\tif(i == 14)\n\t\tviewKwhGenerated.setInt8(1, b);\n\tif(i == 15)\n\t\tviewT.setInt8(0, b);\n\tif(i == 16)\n\t\tviewT.setInt8(1, b);\n\tif(i == 17)\n\t\tviewH.setInt8(0, b);\n\tif(i == 18)\n\t\tviewH.setInt8(1, b);\n});\n\nvar numSoC = viewSoC.getInt16(0);\nvar numVbat = viewVbat.getInt16(0);\nnumVbat = Math.round(numVbat)/100;\nvar numIbat = viewIbat.getInt16(0);\nnumIbat = Math.round(numIbat)/100;\nvar numPL = viewPL.getInt16(0);\nnumPL = Math.round(numPL)/100;\nvar numPPV = viewPPV.getInt16(0);\nnumPPV = Math.round(numPPV)/100;\nvar numVPV = viewVPV.getInt16(0);\nnumVPV = Math.round(numVPV)/100;\nvar numKwhConsumed = viewKwhConsumed.getInt16(0);\nnumKwhConsumed = Math.round(numKwhConsumed)/100;\nvar numKwhGenerated = viewKwhGenerated.getInt16(0);\nnumKwhGenerated = Math.round(numKwhGenerated)/100;\nvar numT = viewT.getInt16(0);\nnumT = Math.round(numT)/100;\nvar numH = viewH.getInt16(0);\nnumH = Math.round(numH)/100;\n// Done\nvar msgSoC = { payload:numSoC };\nvar msgVbat = { payload:numVbat };\nvar msgIbat = { payload:numIbat };\nvar msgPL = { payload:numPL };\nvar msgPPV = { payload:numPPV };\nvar msgVPV = { payload:numVPV };\nvar msgKwhConsumed = { payload:numKwhConsumed };\nvar msgKwhGenerated = { payload:numKwhGenerated };\nvar msgT = { payload:numT };\nvar msgH = { payload:numH };\n\nflow.set(\"numSoC\",numSoC);\nflow.set(\"numVbat\",numVbat);\nflow.set(\"numT\",numT);\nflow.set(\"numH\",numH);\n\nreturn [msgSoC,msgVbat,msgIbat,msgPL,msgPPV,msgVPV,msgKwhConsumed,msgKwhGenerated,msgT,msgH];\n", "outputs": 10, "noerr": 0, "x": 260, "y": 620, "wires": [ [ "ad7bb548.a8b87" ], [ "3ddc051f.8a418a" ], [ "6959c44a.df7544" ], [ "9bd10a92.7747b" ], [ "5779872e.882a" ], [ "13838e97.dd2e59" ], [ "639c3771.025f6" ], [ "7c616b71.10a34c" ], [ "61ed93a1.13572c" ], [ "299bdc32.ef95cc" ] ] }, { "id": "ad7bb548.a8b87", "type": "influxdb out", "z": "af20e30e.5171b8", "influxdb": "9c957dce.29bf1", "name": "", "measurement": "f05_SoC", "precision": "", "retentionPolicy": "", "x": 730, "y": 440, "wires": [] }, { "id": "3ddc051f.8a418a", "type": "influxdb out", "z": "af20e30e.5171b8", "influxdb": "9c957dce.29bf1", "name": "", "measurement": "f05_vBat", "precision": "", "retentionPolicy": "", "x": 730, "y": 480, "wires": [] }, { "id": "6959c44a.df7544", "type": "influxdb out", "z": "af20e30e.5171b8", "influxdb": "9c957dce.29bf1", "name": "", "measurement": "f05_iBat", "precision": "", "retentionPolicy": "", "x": 720, "y": 520, "wires": [] }, { "id": "9bd10a92.7747b", "type": "influxdb out", "z": "af20e30e.5171b8", "influxdb": "9c957dce.29bf1", "name": "", "measurement": "f05_pL", "precision": "", "retentionPolicy": "", "x": 720, "y": 560, "wires": [] }, { "id": "5779872e.882a", "type": "influxdb out", "z": "af20e30e.5171b8", "influxdb": "9c957dce.29bf1", "name": "", "measurement": "f05_pPV", "precision": "", "retentionPolicy": "", "x": 730, "y": 600, "wires": [] }, { "id": "13838e97.dd2e59", "type": "influxdb out", "z": "af20e30e.5171b8", "influxdb": "9c957dce.29bf1", "name": "", "measurement": "f05_vPV", "precision": "", "retentionPolicy": "", "x": 720, "y": 640, "wires": [] }, { "id": "639c3771.025f6", "type": "influxdb out", "z": "af20e30e.5171b8", "influxdb": "9c957dce.29bf1", "name": "", "measurement": "f05_kwhConsumedDay", "precision": "", "retentionPolicy": "", "x": 770, "y": 680, "wires": [] }, { "id": "7c616b71.10a34c", "type": "influxdb out", "z": "af20e30e.5171b8", "influxdb": "9c957dce.29bf1", "name": "", "measurement": "f05_kwhGeneratedDay", "precision": "", "retentionPolicy": "", "x": 770, "y": 720, "wires": [] }, { "id": "61ed93a1.13572c", "type": "influxdb out", "z": "af20e30e.5171b8", "influxdb": "9c957dce.29bf1", "name": "", "measurement": "f05_T", "precision": "", "retentionPolicy": "", "x": 720, "y": 760, "wires": [] }, { "id": "299bdc32.ef95cc", "type": "influxdb out", "z": "af20e30e.5171b8", "influxdb": "9c957dce.29bf1", "name": "", "measurement": "f05_H", "precision": "", "retentionPolicy": "", "x": 720, "y": 800, "wires": [] }, { "id": "45d2ffe.713a48", "type": "ttn app", "z": "", "appId": "upc20190504", "accessKey": "ttn-account-v2.7XpREY-jGUe88enp_W851YolbnGAgxiiBicn5MlPeNA", "discovery": "discovery.thethingsnetwork.org:1900" }, { "id": "9c957dce.29bf1", "type": "influxdb", "z": "", "hostname": "127.0.0.1", "port": "8086", "protocol": "http", "database": "CamalleraMeteo", "name": "InfluxDB_CamalleraMeteo", "usetls": false, "tls": "" }, { "id": "7757e727.d45e48", "type": "ttn app", "z": "", "appId": "siarq_ripollet", "accessKey": "ttn-account-v2._oEcoMk1QJ5hFW-5TodDff6yhP_75J4FYaxCs039_E4", "discovery": "discovery.thethingsnetwork.org:1900" } ]