Maybe this will help you?
Resident script, run every 60 seconds
i thought creaded by 'Erwin van der Zwart'
15/0/1 11.3 byte date
15/0/2 10.3 byte time / day
32/1/0 250 byte string
Resident script, run every 60 seconds
Code:
---------------------- sent to virtual object for visualisation-------------------------------------------
addresstimewithoutseconds = '32/1/0' --'Time, and day [Wiser] Visualisation'
now = os.date('*t')
-- system week day starts from sunday, convert it to knx format
wday = now.wday == 1 and 7 or now.wday - 1
-- time table
time = {
day = wday,
hour = now.hour,
minute = now.min,
second = now.sec,
}
-- date table
date = {
day = now.day,
month = now.month,
year = now.year,
}
onlyhourandseconds = string.format("%02d", now.hour) .. ":" .. string.format("%02d", now.min)
old_value_onlyhourandseconds = grp.getvalue(addresstimewithoutseconds)
if old_value_onlyhourandseconds ~= onlyhourandseconds then
grp.write(addresstimewithoutseconds, onlyhourandseconds)
---------------------- sent to KNX bus-------------------------------------------
-- run only on the full hour
min = os.date('*t').min
if min == 24 then -- only sent when it is 24 minutes, not every minute
-- write to bus
grp.write('15/0/2', time, dt.time) -- 'Time, and day [Wiser]'
grp.update('15/0/1', date, dt.date) -- 'Datum' Only when date changed
end
end
i thought creaded by 'Erwin van der Zwart'
15/0/1 11.3 byte date
15/0/2 10.3 byte time / day
32/1/0 250 byte string