Logs tutorial

Hi, I'm fairly new to HE. I came from ST and used Webcore but generally muddled through in the past. I have no programming knowledge. When a rule didn't work, I just trialed and errored until I figured it out.

Now I'm on HE, I still muddle through but I don't understand what the logs mean. Can anyone give me a summary of what the attached means. I.e. what does skipped mean, what does skipping mean, what does a crossed out line mean and so on.

Thanks in advance :+1:

First, I'm guessing this is intentional, but either by coincidence or because you filtered it (by clicking "app:309" in the logs or the app name at the top of the page, which we can't see in this screenshot), all of these logs are from the same app. The app ID is 309 as you can see in the screenshot, and based on the logs, I assume it's a Rule from Rule Machine. Guessing you know that, but as with SmartThings, the "Logs" will show everything unless you filter it, so you might want to if you are trying to just look at the rule's logs. (And unlike ST, you can do "Past Logs" in case you don't have it open at the time. Yay!)

As for the actual question, the "(skipped)" annotation and the strikethrough both mean the same thing: that action was not executed. The "(skipping)" annotation is something you'll see on a conditional action that evaluates to false (like your "IF Door Sensor Front Door open THEN"), and then all actions inside it will be skipped (but still logged, with this annotation). Since your IF THEN was false, the ELSE half of this conditional will run instead. You can see in the logs that they did--no "(skipped)" or strikethroughs.

Why all of this is happening should be apparent from your rule actions (in this case, you have an IF THEN ... ELSE ... END-IF, so either the IF THEN or ELSE will execute, depending on the evaluation of your conditional). If you aren't sure why things are happening, enabling logging is often a good way to find out why--maybe your conditionals weren't fully thought through (to cover the conditions you wanted), maybe the device is having a problem (reporting an unexpected value so the conditionals don't work as expected--a different issue), or there could be something else you'll figure out.

The above is all pretty much Rule-Machine-specific, by the way. All apps log in their own way and have different options for what they will or won't write to logs. There are pretty standard conventions for device logging (though custom/community code doesn't always follow it), but not so much for apps, so you'll probably see varying log options (or not) in different apps. Sort of like SmartThings, I suppose, except Hubitat users tend to be a bit pickier about them, perhaps since "Past Logs" is limited in space. :slight_smile:

4 Likes

Thanks for taking the time to explain some of this. Appreciated :+1:

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