Sure, no problem.
Getting data ist the easy part (HTTP request node), parsing is a bit more complicated. I don't use all, just the data I am interested in.
Code: Select all
[{"id":"bfcf1ef4.6b3da","type":"tab","label":"Solvis","disabled":false,"info":""},{"id":"5536b632.9cf8b8","type":"http request","z":"bfcf1ef4.6b3da","name":"Read Solvis data","method":"GET","ret":"txt","paytoqs":false,"url":"192.168.2.8/sc2_val.xml","tls":"","persist":false,"proxy":"","authType":"digest","x":110,"y":120,"wires":[["fcd8cf2c.24b8e","7a2eb9f4.887178"]]},{"id":"960a6f0a.5a777","type":"inject","z":"bfcf1ef4.6b3da","name":"10 Minuten","topic":"","payload":"","payloadType":"date","repeat":"600","crontab":"","once":false,"onceDelay":0.1,"x":130,"y":60,"wires":[["5536b632.9cf8b8"]]},{"id":"fcd8cf2c.24b8e","type":"debug","z":"bfcf1ef4.6b3da","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":350,"y":60,"wires":[]},{"id":"328f6e86.9b4d12","type":"function","z":"bfcf1ef4.6b3da","name":"Aussentemperatur","func":"var results = msg.payload\n\nvar num = parseInt(results.substring(75,77)+results.substring(73,75),16)/10\nif (num > 32767)\n{num = num - 65536\n num = num *-1\n}\n\n\nmsg.payload = num\nreturn msg;","outputs":1,"noerr":0,"x":410,"y":180,"wires":[["919ca55.302d858","a2930263.b2bc5"]]},{"id":"22a2976a.a16a88","type":"function","z":"bfcf1ef4.6b3da","name":"Kollektortemperatur","func":"var results = msg.payload\n\nvar num = parseInt(results.substring(67,69)+results.substring(65,67),16)/10\nif (num > 32767)\n{num = num - 65536\n// num = num *-1\n}\n\n//num = num / 10\n\nmsg.payload = num\nreturn msg;","outputs":1,"noerr":0,"x":410,"y":220,"wires":[["2fff28aa.6e21d8"]]},{"id":"d4a6b429.aaed78","type":"function","z":"bfcf1ef4.6b3da","name":"Solarertrag","func":"var results = msg.payload\nvar energy = parseInt(results.substring(187,189)+results.substring(185,187),16)\n\nvar prev = flow.get(\"energy\")||0\n\nif (prev !== 0)\n{\nvar current = energy - prev\n\n\nmsg.topic = \"energy\"\nmsg.payload = current\n\nreturn msg;\n}","outputs":1,"noerr":0,"x":410,"y":360,"wires":[["a7905f0b.e7a53","64e456e3.c10dc8"]]},{"id":"7a2eb9f4.887178","type":"function","z":"bfcf1ef4.6b3da","name":"Error","func":"if (msg.payload.substring(0, 5)!= \"Error\")\n{\nreturn msg;\n}","outputs":1,"noerr":0,"x":130,"y":260,"wires":[["328f6e86.9b4d12","22a2976a.a16a88","d4a6b429.aaed78","316b870e.25f698","814ff91.6157e08","a6f30dfb.905a7","de211b7f.952fa8","ed2f0c38.d12c7","b2392a38.ccc5d8"]]},{"id":"316b870e.25f698","type":"function","z":"bfcf1ef4.6b3da","name":"Fehlercode","func":"var results = msg.payload\nvar num = parseInt(results.substring(167,169),16)\n\nmsg.payload = num\n\nif (num !== 0)\n{\n msg.payload = {\n \"command\": \"sendnotification\",\n \"subject\": \"Solvis\",\n \"body\": \"Heizung Fehlercode: \" + num.toString(),\n \"priority\": 0}\n\nreturn msg;\n}","outputs":1,"noerr":0,"x":410,"y":120,"wires":[["c9504299.c2f35"]]},{"id":"c9504299.c2f35","type":"mqtt out","z":"bfcf1ef4.6b3da","name":"","topic":"domoticz/in","qos":"","retain":"","broker":"f80d8629.7db0e8","x":1090,"y":340,"wires":[]},{"id":"814ff91.6157e08","type":"function","z":"bfcf1ef4.6b3da","name":"Solarleistung","func":"\nvar results = msg.payload\n\nvar num = parseInt(results.substring(221,223)+results.substring(219,221),16)/10\nvar newmsg = {payload:\"\", topic:\"\"};\nnewmsg.topic = \"Solarleistung\"\nnewmsg.payload = num\n\nvar power = num * 1000 //umrechnen in Watt\n\nmsg.topic = \"power\"\nmsg.payload = power.toString() + \";0.000\"\nreturn [msg, newmsg];","outputs":2,"noerr":0,"x":410,"y":300,"wires":[["a7905f0b.e7a53"],["b3e172e2.1a139"]]},{"id":"919ca55.302d858","type":"function","z":"bfcf1ef4.6b3da","name":"","func":"\n\nmsg.payload = { \n \"idx\" :346,\n \"nvalue\" :0,\n \"svalue\" :msg.payload.toString()\n \n}\nreturn msg;","outputs":1,"noerr":0,"x":670,"y":180,"wires":[["c9504299.c2f35"]]},{"id":"bbf97d5b.3c6d9","type":"debug","z":"bfcf1ef4.6b3da","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":950,"y":780,"wires":[]},{"id":"a7905f0b.e7a53","type":"join","z":"bfcf1ef4.6b3da","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"","count":"2","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":630,"y":300,"wires":[["82c7aa82.2f7408"]]},{"id":"82c7aa82.2f7408","type":"function","z":"bfcf1ef4.6b3da","name":"","func":"var watt = parseInt(msg.payload.power)\n\nvar kw = msg.payload.energy\nkw = kw * 1000\nnode.warn(kw)\nvar sval = watt.toString() + \";\" + kw.toString()\n\nmsg.payload = { \n \"idx\" :345,\n \"nvalue\" :0,\n \"svalue\" :sval\n \n}\nreturn msg;","outputs":1,"noerr":0,"x":760,"y":300,"wires":[["c9504299.c2f35"]]},{"id":"11eca12a.3fdacf","type":"inject","z":"bfcf1ef4.6b3da","name":"00:00 - 06:00 Uhr","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"0 0-5 * * *","once":false,"onceDelay":0.1,"x":430,"y":720,"wires":[["e17ecc48.7f74b"]]},{"id":"e17ecc48.7f74b","type":"http request","z":"bfcf1ef4.6b3da","name":"Read Solvis data","method":"GET","ret":"txt","paytoqs":false,"url":"192.168.2.8/sc2_val.xml","tls":"","persist":false,"proxy":"","authType":"digest","x":690,"y":720,"wires":[["4f7f67d0.ecd8e8"]]},{"id":"834624af.ff1dc8","type":"function","z":"bfcf1ef4.6b3da","name":"Solarertrag täglich","func":"var results = msg.payload\nvar energy = parseInt(results.substring(187,189)+results.substring(185,187),16)\nnode.warn(energy)\nif (energy !== 0)\n{\nflow.set(\"energy\", energy)\n}\n","outputs":1,"noerr":0,"x":1110,"y":720,"wires":[[]]},{"id":"a2930263.b2bc5","type":"ui_gauge","z":"bfcf1ef4.6b3da","name":"","group":"d11d2982.29e7a8","order":1,"width":0,"height":0,"gtype":"donut","title":"Außentemperatur","label":"Grad","format":"{{value}}","min":"-20","max":"45","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":1270,"y":200,"wires":[]},{"id":"2fff28aa.6e21d8","type":"ui_gauge","z":"bfcf1ef4.6b3da","name":"","group":"73178ce2.40eb64","order":2,"width":0,"height":0,"gtype":"gage","title":"Kollektortemperatur","label":"Grad","format":"{{value}}","min":"0","max":"200","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":1270,"y":240,"wires":[]},{"id":"b3e172e2.1a139","type":"ui_gauge","z":"bfcf1ef4.6b3da","name":"","group":"73178ce2.40eb64","order":1,"width":0,"height":0,"gtype":"gage","title":"Solarleistung","label":"KW","format":"{{value}}","min":0,"max":"20","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":1250,"y":300,"wires":[]},{"id":"a6f30dfb.905a7","type":"function","z":"bfcf1ef4.6b3da","name":"Solar Vorlauf","func":"var results = msg.payload\n\nvar num = parseInt(results.substring(55,57)+results.substring(53,55),16)/10\nif (num > 32767)\n{num = num - 65536\n num = num *-1\n}\n\n\nmsg.payload = num\nreturn msg;","outputs":1,"noerr":0,"x":410,"y":420,"wires":[["d00c4739.6cc638"]]},{"id":"de211b7f.952fa8","type":"function","z":"bfcf1ef4.6b3da","name":"Solar Rücklauf","func":"var results = msg.payload\n\nvar num = parseInt(results.substring(59,61)+results.substring(57,59),16)/10\nif (num > 32767)\n{num = num - 65536\n num = num *-1\n}\n\n\nmsg.payload = num\nreturn msg;","outputs":1,"noerr":0,"x":420,"y":460,"wires":[["1ca859dd.bc8ff6"]]},{"id":"d00c4739.6cc638","type":"ui_gauge","z":"bfcf1ef4.6b3da","name":"","group":"d11d2982.29e7a8","order":2,"width":0,"height":0,"gtype":"gage","title":"Solar Vorlauf","label":"Grad","format":"{{value}}","min":"0","max":"150","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":1250,"y":420,"wires":[]},{"id":"1ca859dd.bc8ff6","type":"ui_gauge","z":"bfcf1ef4.6b3da","name":"","group":"d11d2982.29e7a8","order":3,"width":0,"height":0,"gtype":"gage","title":"Solar Rücklauf","label":"Grad","format":"{{value}}","min":"0","max":"100","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":1260,"y":460,"wires":[]},{"id":"ed2f0c38.d12c7","type":"function","z":"bfcf1ef4.6b3da","name":"Puffer unten","func":"var results = msg.payload\n\nvar num = parseInt(results.substring(71,73)+results.substring(69,71),16)/10\nif (num > 32767)\n{num = num - 65536\n num = num *-1\n}\n\n\nmsg.payload = num\nreturn msg;","outputs":1,"noerr":0,"x":410,"y":520,"wires":[["caad8c37.97e06"]]},{"id":"caad8c37.97e06","type":"ui_gauge","z":"bfcf1ef4.6b3da","name":"","group":"d11d2982.29e7a8","order":5,"width":0,"height":0,"gtype":"gage","title":"Puffertemperatur unten","label":"Grad","format":"{{value}}","min":"0","max":"100","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":1290,"y":520,"wires":[]},{"id":"b2392a38.ccc5d8","type":"function","z":"bfcf1ef4.6b3da","name":"Heizung Vorlauf","func":"var results = msg.payload\n\nvar num = parseInt(results.substring(83,85)+results.substring(81,83),16)/10\nif (num > 32767)\n{num = num - 65536\n num = num *-1\n}\n\n\nmsg.payload = num\nreturn msg;","outputs":1,"noerr":0,"x":420,"y":580,"wires":[["e799055a.1de8c8"]]},{"id":"e799055a.1de8c8","type":"ui_gauge","z":"bfcf1ef4.6b3da","name":"","group":"d11d2982.29e7a8","order":4,"width":0,"height":0,"gtype":"gage","title":"Heizung Vorlauf","label":"Grad","format":"{{value}}","min":"0","max":"70","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":1260,"y":580,"wires":[]},{"id":"4f7f67d0.ecd8e8","type":"function","z":"bfcf1ef4.6b3da","name":"Error","func":"var night = flow.get(\"night\")\n\nif (msg.payload.substring(0, 5)!= \"Error\")\n{\n\nreturn msg;\n\n}","outputs":1,"noerr":0,"x":870,"y":720,"wires":[["834624af.ff1dc8"]]},{"id":"64e456e3.c10dc8","type":"debug","z":"bfcf1ef4.6b3da","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":940,"y":120,"wires":[]},{"id":"f80d8629.7db0e8","type":"mqtt-broker","z":"","name":"Controlberry","broker":"192.168.2.40","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"d11d2982.29e7a8","type":"ui_group","z":"","name":"Temperatur","tab":"cdcbf2bf.b1403","order":1,"disp":true,"width":"6","collapse":false},{"id":"73178ce2.40eb64","type":"ui_group","z":"","name":"Solar","tab":"cdcbf2bf.b1403","order":2,"disp":true,"width":"6","collapse":false},{"id":"cdcbf2bf.b1403","type":"ui_tab","z":"","name":"Solvis","icon":"dashboard","disabled":false,"hidden":false}]