Unofficial Home Assistant integration for Vivosun GrowHub lighting, fans, humidifiers, heaters, cameras, and climate telemetry.
Why This Integration? ◆ Quick Start ◆ Installation ◆ What It Exposes ◆ Runtime Model ◆ Troubleshooting
This integration connects a Vivosun GrowHub account to Home Assistant and exposes supported devices as native light, fan, humidifier, climate, camera, sensor, and binary_sensor entities.
What is working:
- UI config flow with credential validation
- Multi-device support within one config entry
- Grow light control with correct minimum brightness handling
- Circulation fan control with 10-step mapping and
natural_windpreset - Duct fan control with 10-step mapping and auto-threshold service
- AeroStream humidifier support
- AeroFlux heater support
- GrowCam camera support with optional LAN IP setup
- Climate telemetry polling for inside/outside temperature, humidity, and VPD
- Grow plan sensors: active stage name, light schedule, and read-only recipe schedules for fan, humidifier, dehumidifier, drip irrigation, heater, and air conditioner
- Redacted diagnostics export
What this integration is not:
- It is not an official Vivosun integration
- It does not offer local/offline control
- It still depends on the Vivosun cloud, AWS IoT, and valid device credentials
Verified working:
- GrowHub
E42A - GrowHub
E42 - GrowHub
E25
Supported Home Assistant version:
2026.3.0or newer
Notes:
- The integration has been tested against current Home Assistant releases, not older 2024-era builds
- Older Home Assistant versions may partially work, but they are not a supported target for this repository
Likely compatible but not yet confirmed:
- GrowHub
E42A+
- Copy
custom_components/vivosun_growhubto your Home Assistantconfig/custom_componentsfolder. - Restart Home Assistant.
- Add the integration via
Settings -> Devices & Services.
- Add this repository as a custom repository in HACS with type
Integration. - Install
Vivosun GrowHub. - Restart Home Assistant.
- Add the integration from the UI.
- Home Assistant with support for custom integrations
- A Vivosun account with at least one GrowHub device
- Outbound internet access from Home Assistant to the Vivosun API and AWS IoT endpoints
The config flow asks for:
emailpassword
The options flow currently exposes:
temp_unit:celsiusorfahrenheitcamera_ip: optional GrowCam LAN IP, if one is present on the account
light.growhub_<device>_grow_light- Brightness maps to the GrowHub light level
- Values between
1and24are clamped to25because the device enforces a minimum on-state brightness
fan.growhub_<device>_circulation_fanfan.growhub_<device>_duct_fan
Fan behavior is device-accurate rather than linear:
- Both fans expose a 10-step speed model in Home Assistant
- The underlying device uses non-linear shadow values
- Plain
turn_ondefaults to the lowest safe level, not maximum speed - The circulation fan also exposes
natural_windas a preset mode
humidifier.growhub_<device>_humidifier- Exposes AeroStream humidifier state and mode
climate.growhub_<device>_heater- Exposes AeroFlux heater state, mode, and target control
camera.growhub_<device>_camera- Uses the optional
camera_ipsetting and LAN credentials from the account payload to build the RTSP stream URL
Enabled by default:
- Inside Temperature
- Inside Humidity
- Inside VPD
- Outside Temperature
- Outside Humidity
- Outside VPD
Disabled by default:
- Core Temperature
- WiFi Signal
binary_sensor.growhub_<device>_connected
vivosun_growhub.set_duct_fan_auto_threshold
Fields:
field: threshold key such astMin,tMax,hMin,hMax,vpdMin,vpdMaxvalue: integer ornullto clear the threshold
This integration is hybrid.
Used for:
- light control
- fan control
- reported device state
- connection state
The working control/state path is the classic unnamed AWS IoT shadow:
$aws/things/{thing}/shadow/get$aws/things/{thing}/shadow/update- corresponding
accepted,documents, anddeltatopics
Used for:
- climate telemetry
- current sensor snapshots
Climate telemetry is fetched from:
POST /iot/data/getPointLog
The coordinator polls recent samples and uses the newest point-log row as the current climate snapshot.
For implementation details, see docs/ARCHITECTURE.md.
Check:
- Home Assistant can reach the Vivosun API and AWS IoT websocket endpoint
- the account has at least one GrowHub device
- the device appears online in the Vivosun app
- if you use GrowCam, the optional LAN IP is configured correctly
The fans are not percentage-native devices. Home Assistant percentages are mapped onto the GrowHub's discrete app levels. If you expect strict linear percentages, the device will appear inconsistent.
If you enable a GrowHub recipe or plan in the Vivosun app, the device may ignore manual control requests from Home Assistant while that plan is active. The entities can still appear available, but the device may not respond to manual light or fan changes until plan mode is disabled in the Vivosun app.
Climate telemetry comes from REST polling, not from the MQTT shadow. After startup or reload, give the integration one poll cycle to populate the sensors.
Use Download diagnostics on the integration device page. Sensitive fields are redacted before export.
MIT.
VIVOSUN and related marks belong to their respective owners. This project is unofficial and uses vendor names only to identify device compatibility.