CLI for the VMflow vending machine fleet — auth, device RPC over MQTT, sales, and telemetry.
npm install -g vmflow-clivmflow-cli auth login # opens the browser to sign in, no tokens to copy/paste
vmflow-cli auth status
vmflow-cli auth logout
vmflow-cli auth token # print a valid access token, for scriptingLogin runs a tiny local login page on localhost; email/password never
leave your machine except over HTTPS straight to Supabase. Credentials are
stored in ~/.config/vmflow-cli/credentials.json (refreshed automatically).
vmflow-cli device list
vmflow-cli device info <subdomain> # live snapshot: state, last sale, heap, uptime
vmflow-cli device echo <subdomain> # liveness / round-trip probe
vmflow-cli device credit <subdomain> <amount>
vmflow-cli device buzzer <subdomain> # physically locate a machine
vmflow-cli device ota <subdomain> [tag]
vmflow-cli device dex <subdomain>
vmflow-cli device oos <subdomain>
vmflow-cli device restart <subdomain>
vmflow-cli device health # info-sweep every device, flags anomaliesinfo/ota/dex/oos/buzzer/restart sign and publish an MQTT RPC
directly to the device (the device passkey is fetched over the authenticated
Supabase REST API, never entered manually). Add -w/--wait to any of the
fire-and-forget commands to wait for the device's confirmation.
vmflow-cli sales list
vmflow-cli metrics paxcounterAll defaults point at the public VMflow endpoints; override via env vars if you run your own instance:
| Variable | Default |
|---|---|
VMFLOW_SUPABASE_URL |
https://supabase.vmflow.xyz |
VMFLOW_ANON_KEY |
(public anon key) |
VMFLOW_MQTT_URL |
mqtt://mqtt.vmflow.xyz |
ISC