== timeutils.lua == This is a standard Lua module. To install it on Vera, upload to `/usr/lib/lua/`. To use it, start your code with {{{ require "timeutils" luup.timezone = -5 -- replace with your timezone }}} ('''Note:''' currently it seems UI3 doesn't store the configured timezone in the `luup` table. When this issue gets resolved, we should get rid of that manual timezone setting. '''`timeutils.lastmidnight ([time])`''' Returns the timestamp of the last midnight equal or preceding the given `time`. If no `time` is given, assumes current time. '''`timeutils.dayseconds ([time])`''' Returns the number of seconds since the last midnight to the given `time`. If no `time` is given, assumes current time. '''`timeutils.to_secs (timestring)`''' Converts a string of the form `"hh:mm:ss am|pm"` to the number of seconds. Together with `dayseconds()` it lets you write code of the form: {{{ if timeutils.dayseconds() < timeutils.to_secs ("09:30 pm") then return false end }}} '''`timeutils.localtoUTC ([time] [, timezone])`''' Returns the 'date table' (same as returned by `os.date('*t', time)`) of the UTC time corresponding to the given `time`. If no `time` is given, assumes current time. If no `timezone` is given, assumes Vera's configured timezone. '''`timeutils.degrees (x [, ...])`''' Transforms one or more numbers expressing an angles in degrees into strings with degrees, minutes and seconds. For example: {{{ timeutils.degrees (23.2323) => 23°13'56.28" }}} '''`timeutils.sun_position ([time] [, place])`''' Returns sun's altitude and azimuth, in degrees, for the given `time` and `place`. If no `time` is given, assumes current time. The `place` parameter, if given, must be a table with `latitude`, `longitude` and `timezone` fields. If no `place` is given, uses the global `luup` table, which should have those fields. '''`timeutils.is_dark ([time] [, place])`''' Returns a boolean indicating if the sun is below the horizon.