[{"id":"62ce5a0a.b63c84","type":"tab","label":"SMA 1.5 Modbus logging","disabled":false,"info":""},{"id":"9c163086.24d7c","type":"function","z":"62ce5a0a.b63c84","name":"extract buffer data","func":"let DCCurrent1 = msg.payload[1] / 1000; // 30769\nlet DCVoltage1 = msg.payload[3] / 100; // 30771\nlet DCPower1 = msg.payload[5]; // 30773\nlet PowerTot = msg.payload[7]; // 30775\nlet PowerL1 = msg.payload[9]; // 30777\n\nlet GridVoltagePhase1= 0;\nif (msg.payload[15] !== 65535) {\n GridVoltagePhase1 = msg.payload[15] / 100; // 30783\n}\n\nlet GridVoltagePhase2= 0;\nif (msg.payload[17] !== 65535) {\n GridVoltagePhase2 = msg.payload[17] / 100; // 30785\n}\n\nlet GridVoltagePhase3= 0;\nif (msg.payload[19] !== 65535) {\n GridVoltagePhase3 = msg.payload[19] / 100; // 30787\n}\n\nlet GridCurrent = 0;\nif (msg.payload[27] !== 65535) {\n GridCurrent = msg.payload[27] / 1000; // 30795\n}\n\nlet GridFrequency = 0;\nif (msg.payload[35] !== 65535) {\n GridFrequency = msg.payload[35] / 100; // 30803\n}\n\nlet _msg = {\n payload: []\n};\n\n_msg.payload=\n {\n\t\t\tdc_current1: DCCurrent1,\n\t\t\tdc_voltage1: DCVoltage1,\n\t\t\tdc_power1: DCPower1, \n\t\t\tac_power_tot: PowerTot,\n\t\t\tac_power1: PowerL1,\n\t\t\tac_voltage1: GridVoltagePhase1,\n\t\t\tac_current1: GridCurrent,\n\t\t\tac_frequency: GridFrequency\n\t}\n\n\nreturn _msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":610,"y":120,"wires":[["a9bd353f.98f3e8"]]},{"id":"4933d170.8e558","type":"influxdb batch","z":"62ce5a0a.b63c84","influxdb":"8e2b0bb1.be0588","precision":"","retentionPolicy":"","name":"","database":"","retentionPolicyV18Flux":"","org":"","bucket":"","x":1340,"y":240,"wires":[]},{"id":"c7fd9b3.a825d68","type":"modbus-getter","z":"62ce5a0a.b63c84","name":"DC1 - AC","showStatusActivities":false,"showErrors":false,"logIOActivities":false,"unitid":"3","dataType":"HoldingRegister","adr":"30769","quantity":"36","server":"52972228.7643ac","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":340,"y":120,"wires":[["9c163086.24d7c"],[]]},{"id":"d6fa9927.966c18","type":"inject","z":"62ce5a0a.b63c84","name":"Inject","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"15","crontab":"","once":true,"onceDelay":"6","topic":"SMA1.5","payload":"","payloadType":"date","x":110,"y":120,"wires":[["c7fd9b3.a825d68","242ea7fe.32e588","f71a60ca.d7212","f64dfb15.62a3f8","3bd705a5.57d53a"]]},{"id":"242ea7fe.32e588","type":"modbus-getter","z":"62ce5a0a.b63c84","name":"Yield","showStatusActivities":false,"showErrors":false,"logIOActivities":false,"unitid":"3","dataType":"HoldingRegister","adr":"30529","quantity":"4","server":"52972228.7643ac","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":330,"y":240,"wires":[["d399c442.c76e28"],[]]},{"id":"d399c442.c76e28","type":"function","z":"62ce5a0a.b63c84","name":"extract buffer data","func":"let yieldCycle = msg.payload[0]; // 30531\nlet yieldCycleValue = 65535; // 30531\nlet yieldCurrent = msg.payload[1];\n\nlet TotalYieldwH = (yieldCycle * yieldCycleValue) + yieldCurrent;\nlet TotalYield = TotalYieldwH / 1000;\n\nlet _msg = {\n payload:[]\n};\n\n_msg.payload=\n {\n\t\t\ttotalyield: TotalYield,\n\t}\n\n\nreturn _msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":610,"y":240,"wires":[["a9bd353f.98f3e8"]]},{"id":"f71a60ca.d7212","type":"modbus-getter","z":"62ce5a0a.b63c84","name":"Temp","showStatusActivities":false,"showErrors":false,"logIOActivities":false,"unitid":"","dataType":"HoldingRegister","adr":"30953","quantity":"26","server":"52972228.7643ac","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":330,"y":180,"wires":[["6f7c8e2e.43af7"],[]]},{"id":"6f7c8e2e.43af7","type":"function","z":"62ce5a0a.b63c84","name":"extract buffer data","func":"let InternalTemperature = msg.payload[1] /10; // 30953\nlet _msg = {\n payload: []\n};\n\n_msg.payload=\n {\n\t\t\ttemperature: InternalTemperature,\n\t}\n\n\nreturn _msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":610,"y":180,"wires":[["a9bd353f.98f3e8"]]},{"id":"8929b5c8.b262d8","type":"function","z":"62ce5a0a.b63c84","name":"Filter","func":"inputjson = JSON.parse(msg.payload);\n\nvar _fields = {};\nfor(var item in inputjson){\n _fields[item] = inputjson[item];\n}\n\nmsg.payload = [\n {\n measurement: \"energy\",\n fields: _fields,\n timestamp: new Date(),\n tags:{\n\t\t device: \"SMA_1.5\",\n\t\t },\n },\n ];\nreturn msg;\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":830,"y":180,"wires":[["58de0f7f.12831"]]},{"id":"6ec279cb.d7c2c8","type":"json","z":"62ce5a0a.b63c84","name":"","property":"payload","action":"str","pretty":false,"x":930,"y":120,"wires":[["8929b5c8.b262d8"]]},{"id":"58de0f7f.12831","type":"switch","z":"62ce5a0a.b63c84","name":"","property":"payload[0].fields.dc_voltage1","propertyType":"msg","rules":[{"t":"neq","v":"0","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":970,"y":180,"wires":[["3e935461.987dcc","bc4ab9bb.e40498","4933d170.8e558"]]},{"id":"a9bd353f.98f3e8","type":"join","z":"62ce5a0a.b63c84","name":"","mode":"custom","build":"merged","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"5","count":"","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":790,"y":120,"wires":[["6ec279cb.d7c2c8"]]},{"id":"74a8279d.a8ddd8","type":"join","z":"62ce5a0a.b63c84","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"2","count":"10","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":890,"y":500,"wires":[["3fad7313.ed243c"]]},{"id":"56adeb56.e99494","type":"change","z":"62ce5a0a.b63c84","name":"V1","rules":[{"t":"move","p":"payload[0].fields.totalyield","pt":"msg","to":"payload","tot":"msg"},{"t":"set","p":"topic","pt":"msg","to":"v1","tot":"str"},{"t":"set","p":"payload","pt":"msg","to":"$string($number(payload)*1000)","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":710,"y":500,"wires":[["74a8279d.a8ddd8"]]},{"id":"db1435f2.48bc18","type":"change","z":"62ce5a0a.b63c84","name":"V2","rules":[{"t":"move","p":"payload[0].fields.ac_power_tot","pt":"msg","to":"payload","tot":"msg"},{"t":"set","p":"topic","pt":"msg","to":"v2","tot":"str"},{"t":"set","p":"payload","pt":"msg","to":"$string(payload)","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":710,"y":540,"wires":[["74a8279d.a8ddd8"]]},{"id":"8c638404.27d508","type":"change","z":"62ce5a0a.b63c84","name":"V5","rules":[{"t":"move","p":"payload[0].fields.temperature","pt":"msg","to":"payload","tot":"msg"},{"t":"set","p":"topic","pt":"msg","to":"v5","tot":"str"},{"t":"set","p":"payload","pt":"msg","to":"$string(payload)","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":710,"y":580,"wires":[["74a8279d.a8ddd8"]]},{"id":"3a58c4db.24649c","type":"change","z":"62ce5a0a.b63c84","name":"V6","rules":[{"t":"move","p":"payload[0].fields.ac_voltage1","pt":"msg","to":"payload","tot":"msg"},{"t":"set","p":"topic","pt":"msg","to":"v6","tot":"str"},{"t":"set","p":"payload","pt":"msg","to":"$string(payload)","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":710,"y":620,"wires":[[]]},{"id":"3fad7313.ed243c","type":"function","z":"62ce5a0a.b63c84","name":"Set API key here 1","func":"msg.action = msg.payload;\nmsg.headers = { \n 'X-Pvoutput-Apikey': '3f349abf32d37b1665b7506a1a4536607818890c',\n 'X-Pvoutput-SystemId': '84232',\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":970,"y":560,"wires":[["17f3e224.f4ba4e"]]},{"id":"17f3e224.f4ba4e","type":"function","z":"62ce5a0a.b63c84","name":"Set up data","func":"msg.action = msg.payload;\n\nmsg.url = \"http://pvoutput.org/service/r2/addstatus.jsp\";\n\n\n\nreturn msg;\n\n","outputs":1,"noerr":0,"x":970,"y":620,"wires":[["d7d901ff.3730c"]]},{"id":"d7d901ff.3730c","type":"http request","z":"62ce5a0a.b63c84","name":"Post","method":"POST","ret":"txt","paytoqs":false,"url":"","tls":"","persist":false,"proxy":"","authType":"","x":970,"y":680,"wires":[["a9ec0ed3.e32e4"]]},{"id":"a9ec0ed3.e32e4","type":"debug","z":"62ce5a0a.b63c84","name":"headercheck","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":970,"y":740,"wires":[]},{"id":"f44abf15.0ad35","type":"moment","z":"62ce5a0a.b63c84","name":"Date","topic":"d","input":"","inputType":"date","inTz":"Europe/Amsterdam","adjAmount":0,"adjType":"days","adjDir":"add","format":"YYYYMMDD","locale":"C","output":"payload","outputType":"msg","outTz":"Europe/Amsterdam","x":710,"y":420,"wires":[["74a8279d.a8ddd8"]]},{"id":"dca80a1.ca748f8","type":"moment","z":"62ce5a0a.b63c84","name":"Time","topic":"t","input":"","inputType":"date","inTz":"Europe/Amsterdam","adjAmount":0,"adjType":"days","adjDir":"add","format":"HH:mm","locale":"C","output":"payload","outputType":"msg","outTz":"Europe/Amsterdam","x":710,"y":460,"wires":[["74a8279d.a8ddd8"]]},{"id":"e6041e3f.22b67","type":"change","z":"62ce5a0a.b63c84","name":"C1","rules":[{"t":"set","p":"topic","pt":"msg","to":"c1","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":710,"y":820,"wires":[["74a8279d.a8ddd8"]]},{"id":"ecedfa0e.593498","type":"change","z":"62ce5a0a.b63c84","name":"Set Cumulative Flag","rules":[{"t":"set","p":"payload","pt":"msg","to":"1","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":520,"y":820,"wires":[["e6041e3f.22b67"]]},{"id":"c66b4d99.3eee7","type":"change","z":"62ce5a0a.b63c84","name":"V7","rules":[{"t":"move","p":"payload[0].fields.dc_voltage1","pt":"msg","to":"payload","tot":"msg"},{"t":"set","p":"topic","pt":"msg","to":"v7","tot":"str"},{"t":"set","p":"payload","pt":"msg","to":"$string(payload)","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":710,"y":660,"wires":[["74a8279d.a8ddd8"]]},{"id":"e4b8cf9c.98222","type":"change","z":"62ce5a0a.b63c84","name":"V8","rules":[{"t":"move","p":"payload[0].fields.dc_voltage2","pt":"msg","to":"payload","tot":"msg"},{"t":"set","p":"topic","pt":"msg","to":"v8","tot":"str"},{"t":"set","p":"payload","pt":"msg","to":"$string(payload)","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":710,"y":700,"wires":[[]]},{"id":"d221e60.d5f7f18","type":"change","z":"62ce5a0a.b63c84","name":"V9","rules":[{"t":"move","p":"payload[0].fields.dc_power1","pt":"msg","to":"payload","tot":"msg"},{"t":"set","p":"topic","pt":"msg","to":"v9","tot":"str"},{"t":"set","p":"payload","pt":"msg","to":"$string(payload)","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":710,"y":740,"wires":[["74a8279d.a8ddd8"]]},{"id":"3dac5d5.7ce6ea2","type":"change","z":"62ce5a0a.b63c84","name":"V10","rules":[{"t":"move","p":"payload[0].fields.dc_power2","pt":"msg","to":"payload","tot":"msg"},{"t":"set","p":"topic","pt":"msg","to":"v10","tot":"str"},{"t":"set","p":"payload","pt":"msg","to":"$string(payload)","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":710,"y":780,"wires":[[]]},{"id":"3e935461.987dcc","type":"delay","z":"62ce5a0a.b63c84","name":"","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"minute","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":true,"outputs":1,"x":410,"y":420,"wires":[["f44abf15.0ad35","dca80a1.ca748f8","56adeb56.e99494","db1435f2.48bc18","8c638404.27d508","c66b4d99.3eee7","d221e60.d5f7f18","ecedfa0e.593498"]]},{"id":"355b4a10.f02ec6","type":"comment","z":"62ce5a0a.b63c84","name":"change api key and system pvoutput","info":"","x":1260,"y":540,"wires":[]},{"id":"9f30992a.51d4c8","type":"comment","z":"62ce5a0a.b63c84","name":"change influxdb database","info":"","x":1330,"y":280,"wires":[]},{"id":"89ca1847.b972b8","type":"comment","z":"62ce5a0a.b63c84","name":" and connect to function block","info":"","x":1360,"y":320,"wires":[]},{"id":"9855b215.c870e","type":"mqtt out","z":"62ce5a0a.b63c84","name":"","topic":"","qos":"","retain":"","broker":"f935c11c.41462","x":1410,"y":180,"wires":[]},{"id":"f9cf1cf6.c8779","type":"join","z":"62ce5a0a.b63c84","name":"","mode":"custom","build":"merged","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"4","count":"12","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":1290,"y":180,"wires":[["9855b215.c870e"]]},{"id":"bc4ab9bb.e40498","type":"change","z":"62ce5a0a.b63c84","name":"move to msg","rules":[{"t":"move","p":"payload[0].fields","pt":"msg","to":"payload","tot":"msg"},{"t":"set","p":"topic","pt":"msg","to":"sma_1.5","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1150,"y":180,"wires":[["f9cf1cf6.c8779"]]},{"id":"6381fc4c.a575d4","type":"mqtt in","z":"62ce5a0a.b63c84","name":"","topic":"sma_1.5","qos":"2","datatype":"json","broker":"f935c11c.41462","nl":false,"rap":true,"rh":0,"inputs":0,"x":1260,"y":100,"wires":[["661fcb74.43a324"]]},{"id":"661fcb74.43a324","type":"debug","z":"62ce5a0a.b63c84","name":"Debug","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1410,"y":100,"wires":[]},{"id":"f64dfb15.62a3f8","type":"modbus-getter","z":"62ce5a0a.b63c84","name":"Earthleakage","showStatusActivities":false,"showErrors":false,"logIOActivities":false,"unitid":"3","dataType":"HoldingRegister","adr":"31247","quantity":"2","server":"52972228.7643ac","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":350,"y":300,"wires":[["247fb092.72a43"],[]]},{"id":"247fb092.72a43","type":"function","z":"62ce5a0a.b63c84","name":"extract buffer data","func":"let Earthleakage = msg.payload[1] / 1000; // 30225\n\nlet _msg = {\n payload: []\n};\n\n_msg.payload=\n {\n\t\t\tearthleakage: Earthleakage,\n\t}\n\n\nreturn _msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":610,"y":300,"wires":[["a9bd353f.98f3e8"]]},{"id":"3bd705a5.57d53a","type":"api-current-state","z":"62ce5a0a.b63c84","name":"","server":"f6a89d2d.4c4c1","version":2,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","entity_id":"sensor.daily_sma_1_5","state_type":"num","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":430,"y":360,"wires":[["f84312ab.c93f2"]]},{"id":"f84312ab.c93f2","type":"function","z":"62ce5a0a.b63c84","name":"extract buffer data","func":"let Todayyield = msg.payload; // 30225\n\nlet _msg = {\n payload: []\n};\n\n_msg.payload=\n {\n\t\t\ttodayyield: Todayyield,\n\t}\n\n\nreturn _msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":710,"y":360,"wires":[["a9bd353f.98f3e8"]]},{"id":"8e2b0bb1.be0588","type":"influxdb","hostname":"127.0.0.1","port":"8086","protocol":"http","database":"energy","name":"","usetls":false,"tls":"f584311e.90983","influxdbVersion":"1.x","url":"","rejectUnauthorized":false},{"id":"52972228.7643ac","type":"modbus-client","name":"SMA 1.5","clienttype":"tcp","bufferCommands":true,"stateLogEnabled":true,"queueLogEnabled":false,"tcpHost":"192.168.2.104","tcpPort":"502","tcpType":"DEFAULT","serialPort":"/dev/ttyUSB","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"100","unit_id":3,"commandDelay":1,"clientTimeout":1000,"reconnectOnTimeout":true,"reconnectTimeout":2000,"parallelUnitIdsAllowed":true},{"id":"f935c11c.41462","type":"mqtt-broker","name":"MQTT","broker":"127.0.0.1","port":"1883","clientid":"","usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"sessionExpiry":""},{"id":"f6a89d2d.4c4c1","type":"server","name":"Home Assistant","version":2,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30},{"id":"f584311e.90983","type":"tls-config","name":"local-tls","cert":"","key":"","ca":"","certname":"","keyname":"","caname":"","verifyservercert":false}]