code: def run_script(self, script_id, params=None):
          
          # I p1 script id
          # I p2 0
          # I p3 params * 4 (0-10 params)
          # (optional) extension
          # I[] params
          if params is not None:
              ext = bytearray()
              for p in params:
                  ext.extend(struct.pack("I", p))
              nump = len(params)
              extents = [ext]
          else:
              nump = 0
              extents = []
          res = yield from self._pigpio_aio_command_ext(_PI_CMD_PROCR, script_id,
                                                        0, nump * 4, extents)
          return _u2i(res)
docs: Runs a stored script.
  
          script_id:= id of stored script.
           params:= up to 10 parameters required by the script.
  
          ...
          s = pi.run_script(sid, [par1, par2])
  
          s = pi.run_script(sid)
  
          s = pi.run_script(sid, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
          ...