Problem with humidity flow,need ideas!

I have a flow for when the humidity increases by 8% the fan turn on . It works perfectly. But randomly the sensors (xiaomi aqara) lose communication with homey, and report 0% humidity, and when they regain communication my flow is activated.

Any ideas how I can prevent it from activating after reporting that 0% humidity?

You could add an additonal condition in the “and” where humidity is NOT 0, since that is unlikely to be a valid humidity.


Dont think that will work, the humidity has just changed (thats what triggered the flow) so it will not be 0 anymore…
But you probably stored the previous value too (you need it to calculate if it increased) so use that tag in the AND

1 Like

I use 2 flows:

when sensor humidity change
Then set number variable humidity(i use better logic)

When number variable humidity increased min by 8
And variable humidity is greater than 50
Them turn on fan

Don’t work. How can i memorice the 0 value to use as condition in ‘‘and’’ condition?

Edit: i will try 2 variables:

when sensor humidity change
Then set number variable humidity 1

2 when var humidity 1 change
And var humidity 1 is not 0 (or less than 30 fe)
Then set var humidity 2

When number variable humidity 2 increased min by 8
Then turn on fan

Can I ask what kind of environment you are measuring?
I guess its a steamroom?
At least humidity >50 is pretty high for a normal room, especially in winter.
And increasing humidity with 8, within two measuring points, that a huge step.

I’m measuring the humidity in the bathroom. In Galicia (Spain) rains a lot. Humidity less than 50% is imposible. Only in very dry summers.

The humidity only increase by 8% when the steam of hot water.

You already do in flow 1…

But this variable will follow the humidity

Try this:
when sensor humidity change
Then set number variable humidity(i use better logic)
But add a delay of 1sec

For the second flow use the humidity not the variable
When sensor humidity increased min by 8
And variable humidity is greater than 50
Then turn on fan

These two flows will run at the same time
When value is 0 only flow1 will run the THEN

When the humidity is measured again the second flow will not run vpbecause the variable is still 0 (and will change 1 second later)

If your humidity sensor has larger interval for measuring you can increase the delay

This should do it in one flow, it is a modified version of mine. Beware that “Luchtvochtigheid” is used of two sensors, but you really can’t tell which is which in the flow. (Actually, one is the local variable, the other is the sensor in the other room). You have to guess which is which :slight_smile:

@FKey ,

1 I think that the delay of 1 second may not work, I don’t know how long it fails when it reports 0.
2 I don’t have that card in the when section, only “the humidity has changed”, that is why I use the variable.

@Edwin_D ,

I just made the flow as you said, the part of turning on the fan works, now I just need to not turn them on when the connection fails. Need to wait…

I see you use the aqara sensors. You use the Aqara & Xiaomi Smart home (Zigbee directly to homey) app or the Mi Homey (wifi&gateway) app?

thanks to both!!

I have the aqara’s linked directly to homey, I do not own the aqara bridge.

The flow I provided should not trigger when the connection fails, because it ignores any case when a humidity value is 0. So if the bathroom reports 0, the flow stops in the and. If the bathroom humidity changes when the other room is 0, the flow stops in the and.

The same should apply if you copy the humidity to a variable - just don’t do that when it is 0, humidity is never 0. It will only do it’s work when both values are correct.

There is a small problem in the case that the other room would come back from 0% humidity to a value that is more than 8% below the bathroom’s humidity. Because as long as the bathroom humidity does’t change, nothing happens. In that (probably rare) case you should consider a similar flow that checks if you need ventilation when the other room’s humidity changes.

The delay is added to prevent that the variable is updated, before it is used by the second flow.
The 2 flows will run at the same time. But you want to prevent that the second flow is using the variable and that variable is just updated a ms before…

1 Like