I have an Ikea Vindstyrka air quality monitor with a flow to turn on/off my Philips air cleaner when PM 2.5 becomes less than 50ug/m3. However, the problem is that the monitor bounces around a bit when the air is clean (varying between 5-10). Every time that it updates (eg, from 6 to 7), the flow is triggering to turn off the air cleaner. Normally not a problem to have something off turn off again, except that the air cleaner plays a tune everytime it is told to turn off, even it if is already off.
I would think that this should only trigger if the threshold value is breached, but instead it is triggering every time.
Oh right, I misunderstood (I thought it had to turn on, not off, which does make more sense ), but the same applies: your flow should only trigger when the value drops from a value above 10 to a value below 10. It should not trigger when the value goes from 6 to 7.
However, since you’re saying that it bounces around, it may well bounce between 8 and (say) 12, which would trigger the flow every time the value drops below the 10 mcg/m3 value.
Probably the easiest solution is to add an AND card that checks if the air purifier is actually on. That would prevent it from continuing if it’s already off.
That would be a good idea, but unfortunately it is not available…
Sitting and watching the display, I can see it moving from 6 to 7 to 6, etc. Each time that it increments or decrements, the air cleaner dings.
I suppose I can plug it into a power meter and trigger on the wattage draw (eg, less than 10 ug/m3 and power > 10w.) Not pretty, but could work.
I have it turning on as well when the ug goes above 10. Strangely that seems to work. The problem really seems to be when it is below the threshold, it just keep sending repeated turn off commands.
First of all, thank you very much for trying to help. I very much appreciate it! I’ve been a home assistant user for many years and this is my first foray into Homey, so the terms and screens are a bit different.
I think that there might be some confusion here- on the Philips Air cleaner, the dim level (as shown in the screenshot below) is actually for the light on the air cleaner. It has nothing to do with if the air cleaner is running or not. That is controlled with the fan speed setting (manual or automatic based upon pollution level), as shown below.
I guess you have put the tones in the flow to simulate what the air cleaner is doing?
Exactly. I don’t have an air cleaner so for testing the principle I let Homey sound two different sounds. For the same reason I took a random variable in the first flow. Just to see what happens when the logic card is true or false.
It proved that the second flow is only running when the variable ‘Philips Air Cleaner is on’ is really changed.
I think that the problem here is actually with the vindstryka integration, not the Philips Air Cleaner. Is there any way to debug flows? After all, it is the Vindstryka if statement that is continuing to trigger the flow even though the number is not changing.
You seem to have good knowledge around this. Perhaps a different way forward would be to store the pollution level as a variable, and then a different flow based upon that variable?
Just a FYI. After reading your thread I tested this with both my VindStyrka devices. I could not reproduce your issue. Whenever PM 2.5 gets below a threshold it only reports it once. The card is not triggered again and again like you describe.
What firmware version does your Vindstyrka use. Mine are both 1.0.11.
If I understand correctly your flow sends somehow a off signal to the aircleaner when the value varies around 6/7. But the aircleaner is already off. That is not really a problem for the aircleaner. But it is annoying because the aircleaner beeps every time it receives a signal.
Imagine my thermometer is your ikea sensor and the temperature is the air quality. And spot 1 is your aircleaner.
Let’s sy the temperature is 5 and thus the spot 1 is off. When the temperature rises or drops 1 degree the temperature is still below 10 and an off-command is send to spot 1. And spot 1 beeps.
My workaround is to send only once an off-command.
Let’s say the temperature drops below 9 degrees. Then the logic-card ‘temperature is lower then 9’ is true and variable ‘Philips Aircleaner is on’ is changed to NO
And thus the third row is triggered and spot 1 is turned off. 1 beep.
Now the temperature drops even further so the second row is triggered again. But because the variable ‘Philips Aircleaner is on’ is allready NO the variable is not changed. So the third row is not triggered. So no command to spot 1 and no beep.
Variable ‘Philips Aircleaner is on’ will only change when the temperature rises above 11 degrees Then the tip row wil flow though.
I set up a flow to log the PM2.5 reading to a google sheet every time it changes. Constantly bounces up and down +/-1, but no false reading (eg, 5, 6, 20, 4, 5)
I made a simple flow to write a message on the timeline when the PM 2.5 comes below 5. I got the message on the timeline only once and not repeatedly. So for me the when card functions normal.