After recently investing in a Profilux 4, I was more disappointed than ever that a lot of the great features around pump and lighting control become redundant unless you use GHL supported equipment (Either GHL made or 0-10v compatible) which is becoming less and less available. It seems a common theme that manufacturers are creating their own walled gardens, especially when it comes to Ecotech & AI.
Having a combination of Ecotech and AI equipment running my tank, I wanted to see what I could do to bridge the capabilities of the Profilux with the functionality of the Ecotech and AI equipment.
My plan: Build a device that acts as a bridge between Profilux and Mobius (Ecotech/AI's BLE Application). The device will use Bluetooth to communicate with each Mobius device and TCP Websockets to communicate with the Profilux 4. This is similar to the VorTech controller by GHL, but on steroids.
Here's a breakdown of how each function might work.
Return Pump (Ecotech Vectra M2)
1. Set up a Stream group in the Profilux.
2. Set the "Mode" to "Permanent"
3 Set the "Wave mode" to "No waves"
4 Assign a pump to the Stream group
5. Set the "Minimum %" to what you'd like to use in feed mode
6. Set "Maximum %" to your desired speed
7 Change "Behavior during feed pause" to "At minimum"
You'll end up with something like this
With the stream group set up, it is now possible for the Bridge Device to poll the "State %" using the Profilux TCP Websocket.
The Bridge Device will then use a BLE connection to the Vectra to periodically set the pump speed based on the "State %" in the Profilux.
Wave makers (Nero 5)
This works almost the same as the set up for the return pump, except you change the Stream Group settings to your desired set up and assign additional pumps.
It would look something like this:
Lights (Hydra 64)
Set up an "Illumination Channel" corresponding to each LED color available for the Hydra.
Just like the pumps, the % of each Illumination Channel can now be polled from the Profilux TCP Websocket and the Bridge Device can use BLE to update the brightness channels of each LED. The caveat here is that Profilux goes from 0-100, where as the Hydra allows you to "boost" channels past 100%. This may require an offset type setting in the Bridge Device to allow for boosting channels. In my case, I never run any channel past 100% anyway.
What are some use cases for a set up like this?
- Single pane of glass control. Set up and control everything from the Profilux.
- Use all of the features from the Profilux.
- Power outage control. Although the Vectra has this built in, the Nero's do not. In the event of a power loss, the Profilux can automatically decrease the speed of the Nero's.
- Feed mode can act on all devices (slow return pump and wave makers with a single click (or even a hardware button using a digital input - think of having a button on the side of your cabinet to press)).
- Data. I love data and will be including an export to Prometheus/Grafana for all of the useful data points (Sorry GHL, your graphing is terrible in Profilux). This opens up the potential of having a fully custom dashboard on a tablet in your cabinet.
- Integration with Home Assistant. Want to change the color of a light when an alarm condition is met? How about use Google Assistant to start your feed mode?
Where am I up to so far?
- Basic framework built that runs on an ESP32 based board
- Successfully polling the Profilux for states of the various outputs (speed %, light %, etc) using TCP Websocket
- Scanning, identifying and connecting to Mobius devices (Vectra, Hydra & Nero) over BLE
- Setting pump speed of Vectra via BLE
Where to from now?
So far I've proven that I can connect and communicate with both systems which is a great start. My initial set up is going to be bare bones and only suitable for my environment, but as I progress I plan to release something that will be suitable for anyone using Ecotech/AI products with a Profilux.
Watch this thread for more updates.
Having a combination of Ecotech and AI equipment running my tank, I wanted to see what I could do to bridge the capabilities of the Profilux with the functionality of the Ecotech and AI equipment.
My plan: Build a device that acts as a bridge between Profilux and Mobius (Ecotech/AI's BLE Application). The device will use Bluetooth to communicate with each Mobius device and TCP Websockets to communicate with the Profilux 4. This is similar to the VorTech controller by GHL, but on steroids.
Here's a breakdown of how each function might work.
Return Pump (Ecotech Vectra M2)
1. Set up a Stream group in the Profilux.
2. Set the "Mode" to "Permanent"
3 Set the "Wave mode" to "No waves"
4 Assign a pump to the Stream group
5. Set the "Minimum %" to what you'd like to use in feed mode
6. Set "Maximum %" to your desired speed
7 Change "Behavior during feed pause" to "At minimum"
You'll end up with something like this
With the stream group set up, it is now possible for the Bridge Device to poll the "State %" using the Profilux TCP Websocket.
The Bridge Device will then use a BLE connection to the Vectra to periodically set the pump speed based on the "State %" in the Profilux.
Wave makers (Nero 5)
This works almost the same as the set up for the return pump, except you change the Stream Group settings to your desired set up and assign additional pumps.
It would look something like this:
Lights (Hydra 64)
Set up an "Illumination Channel" corresponding to each LED color available for the Hydra.
Just like the pumps, the % of each Illumination Channel can now be polled from the Profilux TCP Websocket and the Bridge Device can use BLE to update the brightness channels of each LED. The caveat here is that Profilux goes from 0-100, where as the Hydra allows you to "boost" channels past 100%. This may require an offset type setting in the Bridge Device to allow for boosting channels. In my case, I never run any channel past 100% anyway.
What are some use cases for a set up like this?
- Single pane of glass control. Set up and control everything from the Profilux.
- Use all of the features from the Profilux.
- Power outage control. Although the Vectra has this built in, the Nero's do not. In the event of a power loss, the Profilux can automatically decrease the speed of the Nero's.
- Feed mode can act on all devices (slow return pump and wave makers with a single click (or even a hardware button using a digital input - think of having a button on the side of your cabinet to press)).
- Data. I love data and will be including an export to Prometheus/Grafana for all of the useful data points (Sorry GHL, your graphing is terrible in Profilux). This opens up the potential of having a fully custom dashboard on a tablet in your cabinet.
- Integration with Home Assistant. Want to change the color of a light when an alarm condition is met? How about use Google Assistant to start your feed mode?
Where am I up to so far?
- Basic framework built that runs on an ESP32 based board
- Successfully polling the Profilux for states of the various outputs (speed %, light %, etc) using TCP Websocket
- Scanning, identifying and connecting to Mobius devices (Vectra, Hydra & Nero) over BLE
- Setting pump speed of Vectra via BLE
Where to from now?
So far I've proven that I can connect and communicate with both systems which is a great start. My initial set up is going to be bare bones and only suitable for my environment, but as I progress I plan to release something that will be suitable for anyone using Ecotech/AI products with a Profilux.
Watch this thread for more updates.
Last edited: