Contact
Tell us what it has to do
One email, read by the project lead whose team would write the code. You will get a written scope and a fixed price, or an honest reason not to proceed.
Or check who you would be talking to first: linkedin.com/in/usamaiqbal0304.
Make the first email useful
Four things that get you a real answer
What the system is
The stack, the protocol or the platform the work has to live inside. For building automation that means the Niagara version and whether the estate is mixed, because it decides what a module can be stamped to; for a device or a web system it is whatever is already running.
What it runs on
A controller, a server, a browser, a phone, or somebody else's cloud. It decides what can be built at all — a JACE is not a PC, and a gateway is not either.
What it has to do
In your words. A paragraph is plenty. What exists now, what should be true afterwards, and what currently prevents it.
What is in the way now
The constraint you already know about: a signing or verification mode, a locked-down network, a release window, a version nobody can move off. If you do not know, say that — it is a one-line check and not a problem either way.
What happens next
No sales process
A reply within one business day, normally with questions rather than a price — a price before the scope is understood is a guess wearing a number. The working day here is UTC+5, which is the whole of the response-time answer rather than the marketing half of it: what you own when the job ends sets out that commitment in writing, along with who owns the programming and what a portable export contains.
Then a short call if it needs one, a written specification, and a fixed price against it. The specification is yours to keep regardless of whether you proceed, and it is detailed enough to take to somebody else.
If the right answer is a stock Niagara feature, a configuration change, or a product somebody else already sells, you will be told that. It is a small market and a reputation for straight answers is worth more than one project.
Enquiring for a client of yours? That is a normal way for this work to arrive. It goes out under your name, your client is never contacted except through you, and the specification belongs to whoever commissions it — the three promises in full.
Not sure it is even a module? A good share of what gets specified as "we need a custom driver" is a tagging problem, a poll-rate problem or a stock feature nobody found — and saying so costs you nothing and costs us a job we would rather not have sold you. Describe the symptom rather than the solution and you will get a better answer.
Or, before any of that
Send a module list instead
If the question is Niagara 5
rather than a build, there is a first step that costs nothing. A listing of a
station's modules folder is enough — the jars or a station backup
work just as well — and what comes back is a table, one row per module, with a
plain verdict. No charge, and it obliges nothing. Not having a list yet is the
normal case, and saying so is a perfectly good way to start.