This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm that you accept these cookies being set.

Filtering info from loop
#1
I'm trying to do scheduled scan of a tag weekly to ultimately send me an email with a report if something is wrong. However, I'm seeing that some info is left out. Logically I can see why, but I'm having some trouble fixing the logic for myself to see the solution...

First edition of script:

Code:
ecgFail = grp.tag('ecgFailure')

total = 0

for index, value in ipairs(ecgFail) do
 if value.data == true then
   total = total + 1
   name = value.name
 end
end
log('Found '..total..' ECG(s) with failure. Id´s: '..name)

Output in the log: 

Code:
* string: Found 2 ECG(s) with failure. Id´s: L5 - DALI ECG 3, Failure Status

As you can see I'm missing the name of the second ECG with failure. Any suggestions?
Reply
#2
The log for individual errors should be in the loop.
------------------------------
Ctrl+F5
Reply
#3
(25.07.2018, 14:08)Daniel. Wrote: The log for individual errors should be in the loop.

Yeah, I figured that might be the solution. However, the end goal is to get them all neatly listed in an email. Wouldn't that just do the count wrong then? I understand I don't need the count, but its fun to learn something new in the process Wink
Reply
#4
Hi
Try something like that

Code:
ecgFail = grp.tag('ecgFailure')

total = 0
buffer = { 'Name' }
for index, value in ipairs(ecgFail) do
 if value.data == true then
   total = total + 1
   name = value.name
 end
 
buffer[ #buffer + 1 ] = table.concat({
 name,
}, ',')
end
csv = string.char(0xEF, 0xBB, 0xBF) .. table.concat(buffer, '\r\n')
res, err = mailattach('someone@example.com', 'Report', 'CSV file attached', 'report.csv', csv, 'text/csv')

log('Found '..total..' ECG(s) with failure. Id´s: '..name)

Use email function from here
https://forum.logicmachine.net/showthrea...94#pid1994

BR
------------------------------
Ctrl+F5
Reply


Forum Jump: