The account is sent its own username, password and the link to the portal as soon as it is created, which is why the address is needed. That email is the only place the password can ever be read — the portal keeps a hash of it and cannot show it again, only replace it. No two accounts may share an address, so that a login always arrives somewhere it can be told apart.
Click a username to choose which pages that account may open. Every column sorts (click its heading) and filters (the boxes underneath). Editing a company, email, WhatsApp or Telegram box saves it as soon as you click away.
Only Admin grants any authority. User and Client say who somebody is — ParyAI's own people, or the organisations the portal is for — and neither outranks the other: what each account may open is the page list beside it.
Passwords are stored as bcrypt hashes and can never be read back - only replaced. You cannot delete the account you are signed in with, and you cannot take away your own admin rights — which is also what stops the last administrator disappearing.
Telegram will not let the bot write to anyone who has not written to it first, and the id it needs is a number nobody can guess. Ask each person to open the bot and send /start — or add the bot to your operations group and send any message there — then press the button below and assign the chat to their account.
Pick a data file and the device label is filled in from the file itself, which is the part that is easy to get wrong. Coordinates come from your KMZ or from Google Maps (right-click a point → copy coordinates).
| Site | Type | Shows | Device label | Data file | Readings | Last reading | Actions |
|---|
Fetch now reads that site's file immediately instead of waiting for the 5-minute schedule. On a newly added site this is the historical backfill, so it may take a few seconds.
Sites with more than one flow meter show a labelled line each on the map. Where the device names its meters in the column headers (“Dharwad Line FM1”) the name is picked up automatically; otherwise type it here. A name you type is kept and never overwritten by the 5-minute ingestion.
Daily Flow from chooses which number a day’s water is taken from, for this meter:
1 count = is what one step of that meter’s totalizer is worth in m³, and it is normally 1. A device can be reconfigured to count in something else without saying so — Savdatti’s Hubli line has counted in tenths of a m³ since 1 September, ten times the water its own flow meter reports passing — and this is where you say so. It converts counts into water, so it changes every calculated flow and nothing else: the totalizer reading itself still shows the device’s own number, and nothing stored is altered, so putting it back to 1 restores every figure exactly.
On the totalizer basis the day is measured reading by reading, and a movement larger than the meter’s own flow rate could deliver in the time is not counted as water — a counter that is reset, replaced or rescaled jumps by more than a year’s flow, and that jump is not water. The figure then says “counter jumped”. A meter whose counter disagrees with its own flow rate on every reading is left blank rather than shown as zero, which would read as “no water used”.
Changing this re-reads the whole history, not just today: charts, Data Table cells and downloads all follow immediately.
| Site | Meter | Name | Source | Daily Flow from | 1 count = |
|---|
| File | Device label in file | Size |
|---|
Files present on the server that no site points at yet.
An alert watches one of two things. A reading crosses a limit — one parameter on one flow meter, told when it goes past the limit and again when it comes back. Or no data arrives at all — the whole device has stopped sending, which no limit can catch, because a site that has gone quiet reports no low reading; it reports nothing.
Readings arrive every five minutes, but a single problem only sends one message — plus a reminder every so often if you ask for one.
Each alert can go out by email, Telegram, WhatsApp, or any combination. A person is only reached on a channel their account has an address for, which is set under Users.
The devices send every five minutes, so one missed reading is normal. 30 minutes is six missed in a row.
How often to write again while it is still wrong. Decimals are fine — 0.5 is every 30 minutes, 0.25 every 15. Leave it blank to be told once when it breaks and once when it recovers.
Everyone ticked here is told on every channel above that their account has an address for. Accounts with no address at all cannot be picked — add one in the Users tab.
| Name | Watching | Condition | Sends to | By | Status | Actions |
|---|
Tick the readings this plant should show. Anything left unticked disappears from the plant’s own pages for everyone — the map, the Detailed View, the trend charts and every download. Calculated Daily Flow is in the list too, one entry per flow meter.
The Data Table is the exception. Every reading a plant sends can still be placed in it, ticked or not — that grid is built cell by cell by an admin, so unticking a reading to tidy up a plant’s pages must not put it out of reach there. In the cell picker an unticked reading is marked “not on the plant’s own pages”.
The portal works out what each reading is, and which heading it belongs under, from the column name in the data file. That is right often enough to be worth doing and wrong often enough to need fixing — a panel that labels a channel “TRIP FB” while sending a minute counter down it cannot be read correctly by any rule. Make the headings you want and drag readings into them, and click a reading's name to correct that too. Anything you have not moved waits under “Not in a heading” and keeps whatever the portal worked out for it. Tick map on a reading to put it on the map pin — on a pumping station that is how you show which pumps are running rather than a flow figure. What you say here wins everywhere: the map, the Detailed View, the Data Table and every download.
Four slots: two in the blue header bar and two in a strip along the bottom of every page. The footer strip only appears once a logo is in it. PNG with a transparent background looks best. Each version of GRID has its own set — one client's branding on another client's portal would be worse than none.