Notify When Dehumidifier Full

So, I want to notify myself to empty the dehumidifier when it is full. Presently, there are some rules for the outlet that make it turn on and off the dehumidifier as I wish; this functionality works excellent.

The general idea is that if power < 20w, it means the dehumidifier is being told by Hubitat that it should be on, but it isn't running, so it must be full. The problem is that it is unpredictable, and will go into some weird power states where it's drawing like 1-15w randomly for a few minutes.

My current "problematic" solution:
Trigger:

  • Power < 20

Rule:

  • Wait 5m
  • If power < 20w AND the outlet is still trying to be on (to deal with getting a notification pointlessly after it is off)
    --- notify cellphone
  • End If

It works perfectly, except it triggers over and over every time power fluctuates. So, if the dehumidifier IS full, it sits at around 3w and does nothing; it's great IF the power is consistent. However, maybe it's losing it's mind and drawing 4.8w, 2.1w, 17.6w, 1w, 17w ... or "at idle (full) it's drawing 3.1w, 3.2w, 3.0w, 3.1w, etc etc. In those scenarios, each time power changes it runs the rule, and waits (so, potentially hundreds of notifications). If the tank IS full, I'll get all the reports after 5m of the power reporting.

Unless there's another way, I want to do this:
Trigger: Power < 20w

Rule:

  • Pause this rule (but, for this instance, keep running)
  • Wait 5m
  • If power < 20w AND the dehumidifier is still trying to be on
    --- notify cellphone
  • End If
  • Re-enable rule <-- this option does not seem to be available for the current rule

I thought of using a local variable instead, so:

Rule:

  • If "is_running" = false then
    --- Set variable "is_running" = True
    --- Wait 5m
    --- If power < 20w AND the dehumidifier is still trying to be on
    ----- notify cellphone
    --- End If
    --- Set variable "is_running" = False
  • End If

It's a bit cleaner, but still results in the trigger executing a bunch of times for no reason, though it eliminates the duplicate notifications, and potentially a bunch of pointless processing. Does it end up mattering? Not sure, but I'd rather have clean rules, and never run into issues, rather than go back and fix piles of rules because I programmed them like poo.

As you've probably noticed, any trigger that matches will cancel an in-progress "Wait" (regardless of what actions may or may not run as a result of that trigger based on conditionals, for example). Maybe it would work better to approach this from another angle, triggering on the power being relatively high, then waiting for it to come down, possibly indicating that the tank is full:

Trigger: Power > 20 (or whatever value works well for you...you could probably go a lot higher here)

Actions:

Wait for event: Power < 20
Cancel Delayed Actions
Delay 0:05:00 (cancelable)
// Check if dehumidifier is still "trying to be on" here?
Notify "Tank full"

I'm fudging a bit on that "check if dehumidifier is still 'trying to be on'" thing because I'm not sure how you're actually doing that (or if you have any good ideas). If you need to get something figured out for that, I'd consider what you have available that might be an indicator of that (above a specific power level, maybe?).

That being said, your pause/resume-rule idea could also work in general, except that the resumption would have to be done from a different rule (a rule that is paused, by definition, cannot run any actions of its own).

2 Likes

just get an aeotec/ecolink water sensor and put the probe inside the tank at the appropriate height.

same as a water leak

3 Likes

Without having read all the detail from this post, am wondering whether one of the laundry monitor apps based on energy monitoring outlets might do what you want, the one I use includes a "power must be below a threshold for X readings" style logic.

This the app:

I don’t know how often it gets full. But mine was very often. In that case, you probably should invest a bit more, using a tube or garden hose to drain the water to sump pit or even change to a dehumidifier with built-in pump.

This is a good idea if I wanted more battery powered devices. I hate battery powered stuff, and try to avoid it as much as possible. I may see if I can pull 3v off the logic board or something. Maybe I can just wire a sensor to the "full" light.

The issue with that type of app is that the dehumidifier will randomly draw no power for like 4 minutes. Maybe 9? It is honestly completely random.

I think I may have figured it out now, as I haven't gotten a false positive in a while.

1 Like

One with a pump would be good. I don't like the gravity fed hose ones, because they're inevitably draining to something that is re-humidifying the room.

My dehumidifier dies every couple years, and they give me a new one. This time I'm going to fight for my money back I think, as this is the 5th one I believe. Then I can order something better with a pump.

I think I might try this when I get back to my PC. I think this will have the same "problem" I have now, where the rule triggers continuously, but maybe Hubitat doesn't much care.

I also need to see if there's a difference between full, and "off for no reason, and I'll turn back on eventually". Like, maybe "full" draws between 1.6 and 1.8w ... But "logic board is losing its mind" draws 0.2-1.3w.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.