[{"id":"c2a41e2a673aa431","type":"tab","label":"SMA 10.0 Modbus logging","disabled":false,"info":""},{"id":"ad0c97302d5711a7","type":"function","z":"c2a41e2a673aa431","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":"","x":510,"y":120,"wires":[["287661a2b3a72589"]]},{"id":"19a145cf6ab984e5","type":"influxdb batch","z":"c2a41e2a673aa431","influxdb":"a0b0c36c.f222b","precision":"","retentionPolicy":"","name":"","database":"","retentionPolicyV18Flux":"","org":"","bucket":"","x":1260,"y":240,"wires":[]},{"id":"bb6d8051a51b24cf","type":"modbus-getter","z":"c2a41e2a673aa431","name":"DC1 - AC","showStatusActivities":false,"showErrors":true,"logIOActivities":false,"unitid":"3","dataType":"HoldingRegister","adr":"30769","quantity":"36","server":"2948ce6fd8672ea9","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":280,"y":120,"wires":[["ad0c97302d5711a7"],[]]},{"id":"2969d96fae487185","type":"inject","z":"c2a41e2a673aa431","name":"Inject","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"15","crontab":"","once":true,"onceDelay":"7","topic":"","payload":"","payloadType":"date","x":110,"y":120,"wires":[["bb6d8051a51b24cf","40ac625183ee18be","3953ab994cb32b93","01c14fdae3e1b5ee","f87becdefd3af59d"]]},{"id":"40ac625183ee18be","type":"modbus-getter","z":"c2a41e2a673aa431","name":"Yield","showStatusActivities":false,"showErrors":true,"logIOActivities":false,"unitid":"3","dataType":"HoldingRegister","adr":"30529","quantity":"4","server":"2948ce6fd8672ea9","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":270,"y":240,"wires":[["dc6e91529c62e64c"],[]]},{"id":"dc6e91529c62e64c","type":"function","z":"c2a41e2a673aa431","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":"","x":510,"y":240,"wires":[["287661a2b3a72589"]]},{"id":"3953ab994cb32b93","type":"modbus-getter","z":"c2a41e2a673aa431","name":"Temp - DC2 - AC","showStatusActivities":false,"showErrors":true,"logIOActivities":false,"unitid":"","dataType":"HoldingRegister","adr":"30953","quantity":"26","server":"2948ce6fd8672ea9","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":310,"y":180,"wires":[["7920acf3e0f2e9de"],[]]},{"id":"7920acf3e0f2e9de","type":"function","z":"c2a41e2a673aa431","name":"extract buffer data","func":"let DCCurrent2 = msg.payload[5] / 1000; // 30957\nlet DCVoltage2 = msg.payload[7] / 100; // 30959\nlet DCPower2 = msg.payload[9]; // 30961\nlet InternalTemperature = msg.payload[1] /10; // 30953\nlet _msg = {\n payload: []\n};\n\n_msg.payload=\n {\n\t\t\tdc_current2: DCCurrent2,\n\t\t\tdc_voltage2: DCVoltage2,\n\t\t\tdc_power2: DCPower2,\n\t\t\ttemperature: InternalTemperature,\n\t}\n\n\nreturn _msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":510,"y":180,"wires":[["287661a2b3a72589"]]},{"id":"129c3190f4f3ef42","type":"function","z":"c2a41e2a673aa431","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_10.0\",\n\t\t },\n },\n ];\nreturn msg;\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":770,"y":180,"wires":[["72b64f7baffc1b1e","87d7a788edcf27e6"]]},{"id":"6f354d88cd781ba7","type":"json","z":"c2a41e2a673aa431","name":"","property":"payload","action":"str","pretty":false,"x":870,"y":120,"wires":[["129c3190f4f3ef42"]]},{"id":"72b64f7baffc1b1e","type":"switch","z":"c2a41e2a673aa431","name":"","property":"payload[0].fields.dc_voltage1","propertyType":"msg","rules":[{"t":"neq","v":"0","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":910,"y":180,"wires":[["90e44e57588ca081","c189cab7b62d51c3","19a145cf6ab984e5"]]},{"id":"287661a2b3a72589","type":"join","z":"c2a41e2a673aa431","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":730,"y":120,"wires":[["6f354d88cd781ba7"]]},{"id":"fd9f0247602034c6","type":"join","z":"c2a41e2a673aa431","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"2","count":"11","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":870,"y":540,"wires":[["3c726ee983728226"]]},{"id":"1ec45c85574a5410","type":"change","z":"c2a41e2a673aa431","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":690,"y":540,"wires":[["fd9f0247602034c6"]]},{"id":"400a7a30caa6bbb5","type":"change","z":"c2a41e2a673aa431","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":690,"y":580,"wires":[["fd9f0247602034c6"]]},{"id":"8a46548a04234309","type":"change","z":"c2a41e2a673aa431","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":690,"y":620,"wires":[["fd9f0247602034c6"]]},{"id":"154b0da45d5c654f","type":"change","z":"c2a41e2a673aa431","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":690,"y":660,"wires":[["fd9f0247602034c6"]]},{"id":"3c726ee983728226","type":"function","z":"c2a41e2a673aa431","name":"Set PVoutput API key here 1","func":"msg.action = msg.payload;\nmsg.headers = { \n 'X-Pvoutput-Apikey': 'b7e91b230a211c97101b4cbff7758d1b680e1f6c',\n 'X-Pvoutput-SystemId': '31393',\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":980,"y":600,"wires":[["e027eea8a8a6c979"]]},{"id":"e027eea8a8a6c979","type":"function","z":"c2a41e2a673aa431","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":950,"y":660,"wires":[["46bf45cc7833071b"]]},{"id":"46bf45cc7833071b","type":"http request","z":"c2a41e2a673aa431","name":"Post","method":"POST","ret":"txt","paytoqs":false,"url":"","tls":"","persist":false,"proxy":"","authType":"","x":950,"y":720,"wires":[["5f728c1ee833fde9"]]},{"id":"5f728c1ee833fde9","type":"debug","z":"c2a41e2a673aa431","name":"headercheck","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":950,"y":780,"wires":[]},{"id":"8ba0b372b880086c","type":"moment","z":"c2a41e2a673aa431","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":690,"y":460,"wires":[["fd9f0247602034c6"]]},{"id":"1e883b51a7bfb220","type":"moment","z":"c2a41e2a673aa431","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":690,"y":500,"wires":[["fd9f0247602034c6"]]},{"id":"e66eb68ccec38888","type":"change","z":"c2a41e2a673aa431","name":"C1","rules":[{"t":"set","p":"topic","pt":"msg","to":"c1","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":690,"y":860,"wires":[["fd9f0247602034c6"]]},{"id":"e8f4e36d5635207c","type":"change","z":"c2a41e2a673aa431","name":"Set Cumulative Flag","rules":[{"t":"set","p":"payload","pt":"msg","to":"1","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":500,"y":860,"wires":[["e66eb68ccec38888"]]},{"id":"3b8f0170d2b27ccb","type":"change","z":"c2a41e2a673aa431","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":690,"y":700,"wires":[["fd9f0247602034c6"]]},{"id":"2aaee5e3752c47a6","type":"change","z":"c2a41e2a673aa431","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":690,"y":740,"wires":[["fd9f0247602034c6"]]},{"id":"d9c980ac767b20fe","type":"change","z":"c2a41e2a673aa431","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":690,"y":780,"wires":[["fd9f0247602034c6"]]},{"id":"72b6922da2e3cfe8","type":"change","z":"c2a41e2a673aa431","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":690,"y":820,"wires":[["fd9f0247602034c6"]]},{"id":"90e44e57588ca081","type":"delay","z":"c2a41e2a673aa431","name":"","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"minute","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":true,"allowrate":false,"outputs":1,"x":390,"y":460,"wires":[["8ba0b372b880086c","1e883b51a7bfb220","1ec45c85574a5410","400a7a30caa6bbb5","8a46548a04234309","3b8f0170d2b27ccb","2aaee5e3752c47a6","d9c980ac767b20fe","72b6922da2e3cfe8","e8f4e36d5635207c","154b0da45d5c654f"]]},{"id":"93f7593568c47a6b","type":"comment","z":"c2a41e2a673aa431","name":"change api key and system","info":"","x":1210,"y":600,"wires":[]},{"id":"a10aa105ebfa5e74","type":"comment","z":"c2a41e2a673aa431","name":"change influxdb database","info":"","x":1250,"y":280,"wires":[]},{"id":"fb194394780e461b","type":"comment","z":"c2a41e2a673aa431","name":" and connect to function block","info":"","x":1280,"y":320,"wires":[]},{"id":"cfb1b6b74b322463","type":"mqtt out","z":"c2a41e2a673aa431","name":"","topic":"","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"f935c11c.41462","x":1330,"y":180,"wires":[]},{"id":"cdaed63e22dd7310","type":"join","z":"c2a41e2a673aa431","name":"","mode":"custom","build":"merged","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"4","count":"15","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":1210,"y":180,"wires":[["cfb1b6b74b322463"]]},{"id":"c189cab7b62d51c3","type":"change","z":"c2a41e2a673aa431","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_10.0","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1070,"y":180,"wires":[["cdaed63e22dd7310"]]},{"id":"092b5f942a03619c","type":"mqtt in","z":"c2a41e2a673aa431","name":"","topic":"sma_10.0","qos":"2","datatype":"json","broker":"f935c11c.41462","nl":false,"rap":false,"inputs":0,"x":1060,"y":80,"wires":[["77bfd1ab3b2eebc5"]]},{"id":"77bfd1ab3b2eebc5","type":"debug","z":"c2a41e2a673aa431","name":"Debug","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1210,"y":80,"wires":[]},{"id":"01c14fdae3e1b5ee","type":"modbus-getter","z":"c2a41e2a673aa431","name":"Earthleakage","showStatusActivities":false,"showErrors":true,"logIOActivities":false,"unitid":"3","dataType":"HoldingRegister","adr":"31247","quantity":"2","server":"2948ce6fd8672ea9","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":290,"y":300,"wires":[["de9ebe02e078b2cd"],[]]},{"id":"de9ebe02e078b2cd","type":"function","z":"c2a41e2a673aa431","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":"","x":510,"y":300,"wires":[["287661a2b3a72589"]]},{"id":"f87becdefd3af59d","type":"api-current-state","z":"c2a41e2a673aa431","name":"","server":"871b27b3b6de84ae","version":3,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","entity_id":"sensor.daily_sma_10_0","state_type":"num","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":0,"forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":370,"y":360,"wires":[["1a64e52054bc7119"]]},{"id":"1a64e52054bc7119","type":"function","z":"c2a41e2a673aa431","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":"","x":650,"y":360,"wires":[["287661a2b3a72589"]]},{"id":"87d7a788edcf27e6","type":"debug","z":"c2a41e2a673aa431","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":890,"y":40,"wires":[]},{"id":"a0b0c36c.f222b","type":"influxdb","hostname":"127.0.0.1","port":"8086","protocol":"http","database":"energy","name":"","usetls":false,"tls":"","influxdbVersion":"1.x","url":"","rejectUnauthorized":false},{"id":"2948ce6fd8672ea9","type":"modbus-client","name":"SMA 10.0","clienttype":"tcp","bufferCommands":true,"stateLogEnabled":true,"queueLogEnabled":false,"tcpHost":"192.168.2.100","tcpPort":"502","tcpType":"DEFAULT","serialPort":"/dev/ttyUSB","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"100","serialAsciiResponseStartDelimiter":"","unit_id":"3","commandDelay":"100","clientTimeout":"1000","reconnectOnTimeout":true,"reconnectTimeout":"2000","parallelUnitIdsAllowed":true},{"id":"f935c11c.41462","type":"mqtt-broker","name":"MQTT","broker":"core-mosquitto","port":"1883","clientid":"","autoConnect":true,"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":"871b27b3b6de84ae","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}]