Flow by Moen 'warning' in Node Red

Thank you @david2 for making the great driver for this device. We have an issue where the device turns off my wife's Sunday 'Beauty' Day shower for 'unusual activity' (it cannot learn Sunday = beauty day!). To fix this as fast as I can, I made a flow that monitors the valve, and if it turns "closed" on Sunday between x-y time it turns back open immediately (need to change so it goes into sleep mode during that time and then wakes up, on 'the list').

This works fine, except every time the device does it's 'leak check' in the middle of the night it throws some info at the node and NR flips out. Below are the logs (I do not have a debug node attached these just com in on their own).

image

Is there a way I can filter these out? I know what they are, and why, but I don't need them. They clutter up logs making it harder to follow other stuff. It is not the end of the world, just figure I would ask if anyone knew of a simple way to filter these. Thanks!

At the very least you can try to use the "catch" node on the node that generates the error and handle it that way. If it is a "catchable" type error..

https://nodered.org/docs/user-guide/handling-errors

2 Likes

technically it is a 'string' so I'm not sure that would work, and I don't think I would want to exclude all 'strings'. I wonder if that could be used to 'catch' a certain 'string'

You can catch a specific node instance in your sequence I thought not every instance.

Maybe I misunderstood I thought it was an actual error in NR not just a return string?

Maybe it would be better called an unhanded return string? If it was a normal return string it would not show up without a debug node right? Sorry not proficient in NR so my terminology is surely off.

So I may be completely missing the point (apologies!!!) - coffee is still settling in..

a particular device node generates an error at a certain time which shows up in the debug?

My thought was you would use the catch node which can trap such errors. The cool thing is you can select a specific node (it even has a click on the node to select option)... and it would end up looking something like this...

This is a quick and crude example of what I was thinking... if you employ the catch node then it will not show up in the debug. You probably don't even need to wire anything to the catch node itself..

edit: it only fires on an error on the selected node. All other potential errors are not trapped.

OK I'll give it a shot but again these are NOT showing up in a debug node. I don't even have a debug node on the page. It is just this.

They do show up on the debug 'log' (right hand column) and they get in the way of my "real" logs.

also notice they have a orange side to them, that is different than any other log which is why I put "error" in quotations. I don't think it is an error as much as it saying "hey I am not sure what to do with this so here".

I think the message shows up in the debug log without a debug node because it is an error condition?

edit: Put a catch node on the "Flow" node.

3 Likes

so from what I read 'errors' in NR should be red on the sides, this being orange, we'll call it a 'warning'

I get the 'warning' on both Flow and pressure nodes (which is why it is so annoying I get like 8 of them), so I added it to all of those nodes. It only happens at 1:50 am so we'll see tomorrow. Sorry to be skeptical, but I think this falls short of the 'error' designation so I'm not 100% sure it will work. I hope to be wrong.

As the error is coming form the hubitat node set, report it back to @fblackburn just like the error message says...

3 Likes

Thanks I was going to ask who it wanted the report sent to or if it could be reported given it is a custom driver.

If you go to the github repo you can file an issue...

1 Like

According the HE documentation, TEXT is not a valid value for dataType

that's being said, I don't have objection to support it
And also improve the warning to add a github link :slight_smile:

FYI the reason to explicitly support each dateType is described in the Feedback about Maker API on Node-RED nodes for hubitat OP

Maybe it should be possible to update this driver to use STRING instead TEXT? (disclaimer: I have never implemented driver) :man_shrugging:

1 Like

I also think the real fix is for the driver to make that value a string... But what do I know?

1 Like

@TechMedX I put an updated version of the driver with the text attributes corrected to use the string datatype to GitHub. Hopefully that solves the error in node?

You may have figured this out already, but the events (opens/closes/etc) are fetched from Moen at the interval set in the driver. The real-time events use something I'm not familiar with and haven't had time to reverse engineer -- possibly Google firebase.

The smallest interval the driver supports is currently 1 minute -- which means that on average the water would be off for 30 seconds before the "open" command would be sent. So, if you're already doing this on a schedule, I'd definitely recommend using sleep modes/buttons.

2 Likes

Yeah I figured that out. Which is why I need to switch to modes, which is high on the list for the weekend. I still needed to clean up the logs, so thank you for this. I'll post once I know it works, or not, in a day or so. Thanks!

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