Pool control with Fibaro Smart Implant


The pool season is approaching and last year I assembled the appropriate hardware to control it:

The core is the Fibaro Smart Implant.
This is used to control the relays for the pool pump and the pump for the solar heating. Connections for three temperature sensors and two solar heating pumps are available and a socket for the pool pump. I also installed two buttons to switch the pumps manually.

What is still missing is the corresponding automation. I imagine the following:

  • The pool pump should run on a timer for a few hours a day. That shouldn’t be a problem.

  • The solar heating pump should only run when the temperature in the hose heating is higher than the water temperature in the pool:

For example:

  • If (temperature of solar hose heater) - (temperature of pool water) > 2°C then turn solar pump on
  • If (temperature of solar hose heater) - (temperature of pool water) < 0.5°C then turn solar pump off

In my opinion, this can still not be mapped using an Automation MeshBot at the moment. Maybe someone at Ezlo can tell me if I should wait for it. Otherwise, this would have to be done via a corresponding LUA script. Unfortunately, I haven’t seen an example of something like this for the Ezlo controllers.


Could you please let us know the name of the devices on the controller you want to configure the scenes with?
We will be attentive.

The only Z-Wave device built in is the Fibaro Smart Implant. Two of the connected temperature sensor values must be compared.

Hi @Odysee ,

Here is what you can do with the existing system to make it work:
We introduced expressions with references to device values.
You can create a new expression with a reference to pool water temp + 2 (difference you want) like this:

and then in the meshbots you can select this expression and compare it with the other sensors value:

This way you don’t have to write a full LUA script. Also we have direct comparison with devices in our roadmap.
Hope this helps.


Hi @Odysee ,

Find more about Expressions: Expressions - help.mios.com

Let us know if you run into any issues at support@ezlo.com, we will be happy to assist.

1 Like

That should help me first. I’ll try that.

1 Like

I’ve tried creating the expression:

But nothing happens, when I click on the create button.

Seems to be fixed. With 1.14.1 i was able to create the expression.

1 Like

Next thing I’m trying is to create the corresponding dashboard. I’m thinking of the following elements showing at this page:

  • temperature of the pool water
  • temperature of the solar heating water
  • temperature of air
  • local weather (US only at the moment?)
  • switch for the pool pump
  • switch for the solar heating pump
  • a tile where the desired maximum temperature of the pool water can be changed

The first six points should be doable (although I am struggling a lot with setting up a dashboard or tiles). As for the last point, I imagine it as follows:

There is a kind of temperature wheel like the thermostats where you set the maximum temperature. This temperature will be taken over in a Variable that can be added in the previously created MeshBot Automatisations.

1 Like

I somehow despair when creating the tiles. Is there any guide how to recreate these standard tiles from the dynamic dashboard?

Is it already possible to transfer a value set via the dashboard to a variable?

Hi @Odysee , we are updating our docs for dynamic dashboards. But will be happy to assist you on creating. I will DM you. For now we don’t support a value set via the dashboard to a variable.

I’ve tried creating an expression for the temperature sensor “Solarwasser”, but it fails with a “wrong params” error:

It’s strange that I’m able to create expressions for the other sensors at the same device (Fibaro Smart Implant).

Hi @Odysee

Thank you for letting us know!
We were able to add the expression for you. We will be attentive in case you experience further issues.


1 Like

Thank you! Seems to work now for all connected temperature sensors.

1 Like

Glad to read.

I just had an idea about the pool project. The pool pump has to run about 4 hours per day to circulate the pool water twice. But this formula only applies at low water temperatures. The higher the water temperature, the longer the pump should run. I have now imagined the following process, which I would like to carry out with Meshbots:

  • Pool pump runs 2 hours in the morning and 2 hours in the evening when water temperature is lower than 20°C
  • Pool pump runs 2.5 hours in the morning and 2.5 hours in the evening when water temperature is between 20°C and 25°C
  • Pool pump runs 3 hours in the morning and 3 hours in the evening when water temperature is between 25°C and 30°C
  • Pool pump runs 3.5 hours in the morning and 3.5 hours in the evening when water temperature is higher than 35°C

That should look like this for example:

So after 7:00 am when the temperature is between 20 and 25°C the pool pump runs for 2.5 hours. Although I’m not quite sure at this point what “between” means. Does it mean 20°C > x > 25°C or does it mean 20°C >= x >= 25°C? What expressions do I have to take so that I don’t trigger any action at exact temperatures like 20.00°C?

Hi @Odysee ,

We are excited to see good use cases of our powerful meshbots !
the between operator in the comparison includes the min and max values so its like minvalue <= x <= maxvalue. You can design your comparisons according to this.

And for your use case, I can recommend another feature which we will be rolling out next monday, Exceptions.
With exceptions you will be able to create additional trigger blocks for each and every action. In your example ;

You will be able to create only one meshbot for all of your temperature comparison cases. That way it will be constructed properly in a single meshbot.
Exceptions wont be a trigger for the meshbot, they will only be conditions for that particular action item to execute.

So stay tuned and we will create a nice use case example together for your automation needs.


1 Like

I’m excited to see what we’ll do with it next week. Would be really cool if we could summarize the many MeshBots.

Until then, however, the individual MeshBots would still have to run. Unfortunately I noticed this morning that the pump was not switched, although all conditions were met:

Any idea why this didn’t fire?

And one more question about the “between”:
If the min and max values are included and there are two conditions:

  • between 20 and 25
  • between 25 and 30
    What happens if the very unlikely event occurs that the value is exectly 25.000?

In the afternoon the scene didn’t run either:

To examine this further I’ve created MeshBots to notify me when the pump is switched on or off:

When I switch the pump off, no notification is sent.
When I switch the pump on I get both notification that the pump is switched on AND off.

Did I miss something in my notification scenes or is this a bug?

Hi @Odysee in that case both cases should be true