Optimize my flow for reusing

Hi i need some help for optimizing a working flow.

I made a flow that checks my domoticz service by checking responce from a zwave device
when it responces its ok, if not, i send a pushover message and restart the service

I like to have one node with all my parameters for this flow with:

  • ip-adress for the server to check (see post command)
  • idx for device to check (see injector and post command)
  • server desciption used in my functions
[{"id":"fb288bbc.6c7198","type":"tab","label":"servicecheck","disabled":false,"info":""},{"id":"20a68681.94848a","type":"inject","z":"fb288bbc.6c7198","name":"Check zwave device klink","topic":"1855","payload":"1855","payloadType":"str","repeat":"3600","crontab":"","once":false,"onceDelay":"","x":160,"y":180,"wires":[["fea7544a.53c218"]]},{"id":"fea7544a.53c218","type":"http request","z":"fb288bbc.6c7198","name":"post json naar dom","method":"POST","ret":"obj","paytoqs":false,"url":"http://192.168.20.35:82/json.htm?type=devices&rid={{payload}}","tls":"","persist":false,"proxy":"","authType":"","x":410,"y":180,"wires":[["622a11d0.2c49a"]]},{"id":"6f975bd7.345dc4","type":"debug","z":"fb288bbc.6c7198","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":1290,"y":280,"wires":[]},{"id":"622a11d0.2c49a","type":"switch","z":"fb288bbc.6c7198","name":"check zwave","property":"payload.result[0].Status","propertyType":"msg","rules":[{"t":"eq","v":"On","vt":"str"},{"t":"eq","v":"Off","vt":"str"},{"t":"else"}],"checkall":"false","repair":false,"outputs":3,"x":630,"y":180,"wires":[["3b3a3109.583eee"],["3b3a3109.583eee"],["3b3bfa6d.d23166","5644d612.e21c78"]]},{"id":"3b3bfa6d.d23166","type":"exec","z":"fb288bbc.6c7198","command":" sudo /home/pi/herstartdom.sh","addpay":true,"append":"","useSpawn":"false","timer":"","oldrc":false,"name":"herstart domoticz en clean zwave cache","x":1160,"y":120,"wires":[["6f975bd7.345dc4"],["6f975bd7.345dc4"],["6f975bd7.345dc4"]]},{"id":"4f9f7e2d.cdd29","type":"pushover","z":"fb288bbc.6c7198","name":"Klink domoticz service herstart","device":"pvkmobiel","title":"Klink domoticz service herstart","priority":"2","sound":"","url":"","url_title":"","html":false,"x":1170,"y":340,"wires":[]},{"id":"7e669e16.05d98","type":"comment","z":"fb288bbc.6c7198","name":"adjust idx for device to check","info":"","x":140,"y":140,"wires":[]},{"id":"4c0f04fc.a1e93c","type":"comment","z":"fb288bbc.6c7198","name":"Adjust ip-adress","info":"","x":400,"y":140,"wires":[]},{"id":"b66fcd08.562db","type":"comment","z":"fb288bbc.6c7198","name":"pushover codes","info":"","x":1120,"y":380,"wires":[]},{"id":"e9370426.c62a88","type":"inject","z":"fb288bbc.6c7198","name":"herstart domoticz","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":640,"y":80,"wires":[["3b3bfa6d.d23166"]]},{"id":"5644d612.e21c78","type":"function","z":"fb288bbc.6c7198","name":"Server uit","func":"var payload = {\nidx: msg.topic,\ndomoticz: 'UIT',\nserver: \"Domoticz klink\"\n};\nmsg.payload = payload;\nreturn msg;","outputs":1,"noerr":0,"x":780,"y":340,"wires":[["6f975bd7.345dc4","4f9f7e2d.cdd29"]],"info":"if ( msg.payload === true )\n{waarde = \"On\"}\nelse \n{waarde = \"Off\"}\n\nvar uservar = '[{\"obj\": \"' + msg.topic + '\",\"act\":\"' + waarde + '\"}]';\n\nmsg.payload = {\"value\": uservar};\nmsg.payload.command = \"setuservariable\";\nmsg.payload.idx = 13;\n\nreturn msg\n\n\ndeze variant riep daarna ook json conversie aan"},{"id":"3b3a3109.583eee","type":"function","z":"fb288bbc.6c7198","name":"Server aan","func":"var payload = {\nidx: msg.topic,\ndomoticz: 'AAN',\nserver: \"Domoticz klink\"\n};\nmsg.payload = payload;\nreturn msg;","outputs":1,"noerr":0,"x":790,"y":280,"wires":[["6f975bd7.345dc4"]],"info":"if ( msg.payload === true )\n{waarde = \"On\"}\nelse \n{waarde = \"Off\"}\n\nvar uservar = '[{\"obj\": \"' + msg.topic + '\",\"act\":\"' + waarde + '\"}]';\n\nmsg.payload = {\"value\": uservar};\nmsg.payload.command = \"setuservariable\";\nmsg.payload.idx = 13;\n\nreturn msg\n\n\ndeze variant riep daarna ook json conversie aan"},{"id":"61f271a8.41f99","type":"comment","z":"fb288bbc.6c7198","name":"adjust server","info":"","x":810,"y":240,"wires":[]}]

Maybe look at creating a subflow to encapsulate this capability - you can set "environment" properties (just for the subflow) that can be used to set your parameters.

thanks!
I know how to make a subflow. So environment vars much do the trick..
I hope i can use them in the post url commandline

@dceejay
Is it possible to set a var like msg.ipadress = '192.168.20.1'
pass this to the subflow and to use this in the url part of a http request node ?
How do i refer to this var in the url?
I know i can use {{payload}} in the url

Have you tried {{ipadress}}?

Note this is a particular feature of the HTTP Request node's URL field. It isn't something you can do generally.

i have a function with
msg.ipadress = '192.168.20.1',
msg.devid = 1002
return msg;

and a http request node with url
http://{{ipadress}}/json.htm?type=devices&rid={{devid}}

the devid part works, but the ipadress part not

think i got it...

http://{{{ipadress}}}/json.htm?type=devices&rid={{devid}}

extra brackets