← Back to Settings

GHL ProfiLux Cloud Setup Internal beta

ReefMind imports GHL ProfiLux probe readings through myGHL as a read-only telemetry source. The integration is intentionally limited to measurement reads while ReefMind validates real customer devices, timestamps, and myGHL rate limits.

Status before customer rollout

Internal beta only: do not link a customer GHL account until ReefMind support confirms the device, read-only share, and measurement fixture for that account. The public onboarding button should remain beta-gated.

Preferred customer access model

GHL's myGHL sharing flow supports granting another myGHL account either VIEW or FULL access to a device. ReefMind should use VIEW only whenever the customer's app/account supports it.

  1. Open the GHL Connect app or myGHL device list.
  2. Open the blue gear/settings icon next to the ProfiLux device connection.
  3. Share/add access for the ReefMind myGHL account provided by support.
  4. Choose VIEW access, not FULL.
  5. Tell support the myGHL device id / display name so ReefMind targets the correct device if multiple controllers are visible.

ReefMind boundary: even if a myGHL account has broader permissions, ReefMind's adapter allowlists read actions only and blocks write-like Handler.ashx actions before any network call.

Fallback credential model

If delegated VIEW sharing cannot be used yet, support may temporarily use a server-side myGHL username/passphrase credential reference for validation. That credential stays server-side in Secret Manager and must not be exposed in browser descriptors, GitHub comments, logs, or test fixtures.

Do not ask a customer to paste full-control myGHL credentials into a general public form. Use a support-assisted beta flow until the delegated VIEW-share path is proven end-to-end.

Sensor mapping behavior

Operational notes

{
  "provider": "ghl",
  "enabled": true,
  "state": "active",
  "externalDeviceId": "myGHL device id",
  "credentialRef": "gcp-secret:reefmind-ghl-token-...",
  "sensorMappings": {
    "device-uuid": {
      "temp_1": { "parameter": "temperature", "label": "Temperature 1", "unit": "C" }
    }
  }
}