Custom Home Assistant integration for FloLogic Connect and G-Connect devices.
The integration connects to the FloLogic cloud service used by the mobile app and exposes valve status, flow telemetry, alert states, selected settings, and valve mode control in Home Assistant.
- UI-based setup with FloLogic email and password
- Cloud polling with configurable polling interval
- Optional persistent SignalR session for pushed valve updates
- Automatic reconnect when the persistent session is interrupted
- Valve mode control:
home,away,bypass,shutoff,disabled - Flow elapsed time and estimated shutoff countdown
- Advance shutoff warning
- Grouped trouble sensors for water-off, warning/alert, and critical fault states
- Read-only notification setting sensors
- Service actions for supported FloLogic settings
- Multi-valve accounts: every controllable valve gets its own device and entities
- Open HACS in Home Assistant.
- Add
https://github.com/technorat2/flologic_HAas a custom repository. - Select repository type
Integration. - Install the FloLogic integration.
- Restart Home Assistant.
- Go to Settings -> Devices & services -> Add integration.
- Search for FloLogic and complete setup.
- Copy
custom_components/flologicinto your Home Assistantcustom_componentsdirectory. - Restart Home Assistant.
- Add the integration from Settings -> Devices & services.
During setup, enter your FloLogic account email and password.
Advanced fields are available for non-standard deployments:
- Hub URL
- Device name
- Device code
- Device token
Most users should leave the advanced fields unchanged.
If the account has more than one valve, setup asks which valves this Home Assistant install monitors. Pick only the valves installed at this site; each home should run its own install with its own selection. No valve is preselected when the account has multiple valves. Select several only when this installation is responsible for all of them.
After setup, open the integration options to configure cloud behavior:
- Polling interval in seconds: Defaults to
60; minimum is1. - Keep cloud session alive: Keeps one SignalR websocket open, listens for pushed valve updates, and reconnects automatically if the connection closes.
- Monitored valves: Which valves this install tracks. New valves on the account are never added automatically; widen the selection here when a valve is added to this site. Changing the selection reloads the integration. Missing valves can remain selected; reopen the options form to refresh discovery.
Existing installations preserve their registered valves when selection is first migrated, including valves temporarily missing from the cloud. If no registered valves can be identified, a repair notice asks you to select them in options; no valves are added automatically.
Discovery reads the account inventory, while detailed polling requests scheduler and notification data only for selected valves.
Polling remains active when persistent mode is enabled. It acts as a fallback in case pushed updates are delayed or missed.
- Mode
- Flow state
- Current flow
- Temperature
- Battery
- Signal strength
- Flow sensitivity
- Home flow limit
- Away flow limit
- Bypass time
- Auto Away
- Low temperature alert
- Low temperature shutoff
- Pre-alert notice
- No-flow notice
- Shutoff countdown
- Flow started at
- Flow elapsed
- Active scheduled mode changes
- Notification history count
- Last update source
- Online
- Advance shutoff warning
- Water-off event
- Warning or alert event
- Critical fault event
- Notification setting flags
The grouped trouble sensors expose the raw FloLogic mode and active decoded mode flags as attributes.
- Valve mode
The integration registers these service actions under the flologic domain:
flologic.set_flow_sensitivityflologic.set_home_limitflologic.set_away_limitflologic.set_bypass_timeflologic.set_auto_awayflologic.set_temp_alertflologic.set_temp_shutoffflologic.set_pre_alert_noticeflologic.set_no_flow_notice
Every action accepts the same optional targeting fields: valve_id
(FloLogic valve id or uuid), device_id (Home Assistant device id), or
entity_id (one or more FloLogic entities, whose valves are controlled).
Give at most one of them. valve_uuid is also accepted as an alias for
valve_id. Empty or conflicting targets are rejected.
- With exactly one loaded valve across all configured accounts, the target may be omitted.
- With multiple valves, an explicit target is required. Actions never fan out to valves the caller did not name: an unknown or missing target is a validation error, not a broadcast.
- Targets resolve across all loaded accounts. If a cloud valve ID matches
more than one account, use
device_idorentity_idto identify its owner. - If several valves are targeted via
entity_idand some fail, the failure is logged with the affected valves; if all fail, the action raises.
FloLogic can notify users before continuous flow reaches the automatic shutoff limit. This integration exposes that behavior with:
Shutoff countdown: estimated seconds until automatic shutoff while water is flowing.Advance shutoff warning: turns on when the countdown is inside the configured pre-alert window and the FloLogic notification setting is enabled.
The estimate uses FloLogic valve state, flow state, lastNewFlow, mode-specific flow limits, and preAlertNoticeInterval. Once Home Assistant learns that water is flowing, elapsed time and countdown entities tick locally each second without creating additional FloLogic cloud requests.
- This integration uses FloLogic cloud services and requires internet access.
- Notification history may be empty if the FloLogic service returns no history for the account.
- Notification setting toggles are exposed read-only.
- Scheduler entries are exposed for visibility, but schedule editing is not implemented.
- Delete the FloLogic integration from Settings -> Devices & services.
- Restart Home Assistant.
- If manually installed, remove
custom_components/flologic.
Open issues at:
https://github.com/technorat2/flologic_HA/issues
Tests use the real Home Assistant harness with mocked cloud clients. With Python
3.14, install requirements_test.txt into a virtual environment and run
python -m pytest -q. CI runs the same suite, Ruff, and Python/JSON checks.