82
22.
23.
-- get object logs
24.
query
=
'SELECT src, address, datahex, logtime, eventtype FROM objectlog WHERE
logtime>= ? ORDER BY id DESC'
25.
for
_, row
inipairs
(
db:getall
(
query, logtime
))
do
26.
object
=
objects
[
tonumber
(
row.address
)]
27.
28.
-- found matching object and event type is group write
29.
if
object
and
row.eventtype
==
'write'
then
30.
datatype
=
object.datatype
31.
32.
-- check that object datatype is set
33.
if
datatype
then
34.
-- decode data
35.
data
=
knxdatatype.decode
(
row.datahex, datatype
)
36.
37.
-- remove null chars from char/string datatype
38.
if
datatype
==
dt.char
or
datatype
==
dt.
stringthen
39.
data
=
data:
gsub
(
'%z+'
,
''
)
40.
-- date to DD.MM.YYYY
41.
elseif
datatype
==
dt.
datethen
42.
data
=
string.format
(
'%.2d.%.2d.%.2d'
, data.day, data.month, data.year
)
43.
-- time to HH:MM:SS
44.
elseif
datatype
==
dt.
timethen
45.
data
=
string.format
(
'%.2d:%.2d:%.2d'
, data.hour, data.minute,
data.second
)
46.
end
47.
else
48.
data
=
''
49.
end
50.
51.
-- format csv row
52.
logdate
=
os.date
(
'%Y.%m.%d %H:%M:%S'
, row.logtime
)
53.
csv
=
string.format
(
'%q,%q,%q,%q'
, logdate, knxlib.decodega
(
row.address
)
,
object.name,
tostring
(
data
))
54.
55.
-- add to buffer
56.
table.insert
(
buffer, csv
)
57.
end
58.
end
59.
60.
-- upload to ftp only when there's data in buffer
61.
if
#buffer
>
1
then
62.
result, err
=
socket.ftp.put
(
ftpfile,
table.concat
(
buffer,
'
\r\n
'
))
63.
end
64.
65.
-- error while uploading
Содержание LogicMachine3 Re:actor
Страница 10: ...10 Terminal connection schemes KNX TP...
Страница 12: ...12 24V power supply...
Страница 13: ...13 Analog inputs e g reed contact...
Страница 14: ...14 Analog inputs 0 10V...
Страница 15: ...15 Digital output...
Страница 16: ...16 Resistive sensor input...
Страница 17: ...17 Analog output...
Страница 26: ...26 Make sure that bus status is Online press button in ETS...
Страница 35: ...35 o Then minimize side bar by pressing on left arrow icon to make the map more visible...
Страница 83: ...83 66 if err then 67 alert FTP upload failed s err 68 end...
Страница 107: ...107...
Страница 108: ...108 1 14 Help Documentation for scripting syntaxes is displayed in Help tab...
Страница 122: ...122 4 16 Running processes System running processes can be seen in Status Running processes window...
Страница 126: ...126 Datapoints can be shown also in a way of table which can be later exported as CSV file...
Страница 141: ...141...