This object is in archive! 

What do you use to "Debug" of "Log" actions from your Rules ?

olivier34 shared this question 4 years ago
Need Answer

Hello,

I am looking for tips and "best practices" to debug my rules on the zipato. Sometimes I need to check "step by step" the execution of actions in rules.


Since I have not found any "debug" function in the box, I am using "HTTP requests" in rules to send log information to Prowl. I have added "HTTP requests" at almost every important steps in each rules so that I can use prowl to undersand when a rule is executed and which action in rules are executed after some logical test (like If-then-else)


Do you have suggestions on a more clever way to "Log" actions in Rules ?


thanks in advance

Comments (9)

photo
1

Yes, it will be nice a tool for that. I am waiting for the answer.


Fabrice

photo
1

I use messages to myselfe to contol the actions

photo
1

I use google drive.

I built a form with some text filed, with that data pushed to a sheet. I call the URL (from rules) that form use to push the data to the sheet.. so I have data logged to a sheet.

essentially in a rule I place an http puzzle, Post, to the url

https://docs.google.com/forms/d/[long-letter-number-character-ID]/formResponse

with body

entry.1486166907=data2log&entry.717851296=data2log&entry.123456789

where entry.123456789 are the ids of the form's textboxes.

You can build a form with many fileds as you need.

Date and time are automatically registered in the sheet.


Sorry.. bad english.. I attach a PDF where I explain that. I wrote it in Italian for the Italian community but the text can be translated with google translator.


hope this helps.

photo
1

Simone, Andreas, Thanks for your contribution.


Simone, do you manage to log values ? for example value of a temperature ?

photo
1

Oliver, I can include sensors value in my http calls (advanced feature, I don't know if currently available for everyone without paying) .. So if I have a module with some blank fields I can submit sensors values to it.


Try to translate the document I attached above with Google translator.. Probably all become more clear.

photo
photo
1

You could also try using virtual switches. Insert state changes into your rules to track when they've been executed - the event log will show the changes. Unfortunately, in my experience, this doesn't seem to work all the time - no answer from Zipato about whether the problem is with the switch states not always changing, or the logging of the changes.

photo
1

Hello david, I initially used virtual switches and "zipato logs" but it rapidly turned that it was not sufficient :

- States not always changing (you mentionned it...)

- I needed to many "virtual switches" to include a log mechanism in rules...

photo
1

Now that Zipato team released the 1.0 software, ahas anyone seen andy "debug" option for rules ?

photo
1

I kind of re-open this topic to check if, with new versions and firmwares there may be more clever / easier way to "debug" rules than filling up rules with HTTP requests to send information.


Thanks for insights and advices from community

photo
1

I can see from my earlier comment that the virtual test switches didn't always seem to "fire". Well, now they do, reliably. So I have a set of 10 test switches that I scatter in my code when I need to follow in detail which parts of the rule executed.

Also, I have 12 virtual meters that I use as "variable inspectors". I use a rule to dump all my variables into those meters so I can see their values. This happens every ten minutes, but if I need to follow the activity in a rule in detail, I can call the rule to dump the variable values when a specific value changes. I also send the main values for temperature, rain, humidity, cooling/heating on/off etc. to a Google Sheet every ten minutes, which helps enormously because you have a clear overview.


To debug a problem, the process is still pretty tedious. I pick through the log, using the values from the variable inspectors, rule trigger switches and device values, and create a timeline to follow what happened in what order. I end up with something like this:


22:30:15 South side temperature 29.7

22:20:21 North side temperature 28.4

22:30:21 North side temperature 28.2

22:36:50 Tado temp 27.07

22:38:19 CoolingAvailable 0 <----------------------------- No cooling because Tado temp lower than south & north side temp

22:40:21 North side temperature 27.9

22:50:21 North side temperature 27.8

22:56:50 Tado temp 27.06

23:00:21 North side temperature 27.5

23:00:55 OpenLRBlinds set to 1

23:01:22 SCon_OpenLRBlinds switch toggled


Very time consuming, yes...