Puac version 3.2
Last modified:
January 16, 2004
Since Puac version 3.0, the agx format is used to store alarm groups in files. An agx file is a plain text file in XML format, in which the nodes represent the alarm group properties and alarms. Below follows a description of all the elements.
Although Puac version 3.0 and 3.1 produce valid XML files, they cannot read all valid XML files. This should not be a problem, as long as you keep to the conventions below.
A few quick conventions that are used in Puac to keep things clear:
| tag | One tag should be specified. If not present, the default is used. |
| tag? | Tag doesn't need to be present. |
| tag* | Zero or more tags may be present |
| tag- | Tag isn't used anymore |
Each node is of one of the following type:
| string | Any text (with the proper escape codes, of course) |
| number | A number |
| date | A date represented by a string in the format yyyy-mm-dd hh:nn:ss |
| boolean | 0 is false, any other number is true. |
| date unit | A number, corresponding to a date unit. See table below. |
| node | Only contains other xml nodes. |
| 0 | Seconds |
| 1 | Minutes |
| 2 | Hours |
| 3 | Days |
| 4 | Months |
| 5 | Years |
| 6 | Weeks |
An alarm group consists of one node: <algr>. The table lists the possible elements in the alarm group.
| Tag | Short descr. | Type | Default value | Explanation |
| name | name | string | New alarmgroup* | The name of the alarm group. *Default value depends on language. |
| stat | state | boolean | true | The state of the alarm group (on = true, off = false) |
| chsi | changed since import | boolean | false* | Indicates if the alarm group has changed since importing or creating it. *When importing an alarm group, the value used in the program is always set to false. |
| colr | color | number | 0 | The color of the alarm group. |
| tmpl | template alarm | node | The template alarm for the ag. If not specified or empty, the default template will be used. | |
| sync? | synchronization plug-in | string | Specifies which synchronization plug-in to use. Empty string, or node not present causes the alarm group to be normal. | |
| sett? | synchronization settings | node | The settings of the synchronization plug-in. | |
| type- | type | number | 0 | The type of alarm group. |
| tyst- | settings for type | node | The settings for this type of alarm group. For normal ags, the template alarm used to be stored here as a <al> node. | |
| alrm* | alarms | node | The alarms in the alarm group. See the table below for a specification. |
| Tag | Short descr. | Type | Default value | Explanation |
| name | name | string | New alarm* | The name of the alarm. *Default value depends on language. |
| stat | state | boolean | true | The state of the alarm (on = true, off = false) |
| datk | once, periodically | number | 0 | The sounding scheme of the alarm. 0 for once, 1 for periodically. |
| perl | period length | number | 1 | The length of the period for a periodical alarm. |
| peru | period unit | date unit | days | The unit of the period length. |
| oncd | once date | date | 9999-12-31 00:00:00 | The date on which to sound the alarm if sounding it once. |
| nexd | include date (periodical) | date | 9999-12-31 00:00:00 | The date to include when shounding the alarm periodically. |
| actp | restrictions | number | 0 |
The restrictions of the alarm that are effective (only when sounding
periodically). Add to get the number: |
| stad | start date | date | 9999-12-31 00:00:00 | Start date of period in which periodical alarm should sound. |
| endd | end date | date | 9999-12-31 00:00:00 | End date of period in which periodical alarm should sound. |
| wkds | weekdays | number | 0 | Specifies the weekdays on which the alarm sounds. Add the numbers to get
the weekdays number. 1 = Sunday, 2 = Monday, 4 = Tuesday, 8 = Wednesday, 16 = Thursday, 32 = Friday, 64 = Saturday. |
| adva | advanced expression | string | The advanced restriction of a periodical alarm. | |
| adda | add amount | number | 0 | Amount of time to add to the sounding time. |
| addu | add unit | date unit | seconds | Unit of the add amount. |
| acti* | action | node | The actions of this alarm. See the table below for a specification. | |
| saia | sound after inactive | boolean | true | Specifies if the alarm should be sounded if the program has been inactive. |
| snoz | is snoozing | boolean | false | Indicates if the alarm is snoozing. |
| snod | snooze date | date | 9999-12-31 00:00:00 | The date on which the alarm should sound when it is snoozing. |
| Tag | Short descr. | Type | Default value | Explanation |
| acid | action id | number | 1 | The id of the action. The built-in actions all have an id. There is a separate id for a plug-in action. See the table below for a list of all built-in actions. |
| plug | plug-in name | string | This is the name of the plug-in that will be used if this action is a plug-in action. The plug-in name will contain the library name and the plug-in name separated by a '*'. So for example: PuacExtension*ShortPopup | |
| sett | action settings | node | The settings for this action. The contents of this node depends on the action. |
| ID | Action | Settings |
| 0 | empty action | |
| 1 | Display message | <s> string: message <i> boolean: display snooze option |
|
2 |
Speak message | <s> string: message |
| 3 | Display and speak message | <s> string: message <i> boolean: display snooze option |
| 4 | Open file | <s> string: file path |
| 5 | Start program | <s> string: program path |
| 6 | Open website | <s> string: website url |
| 7 | Play sound once |
<s> string: sound file path |
| 8 | Play sound repeatedly | <s> string: sound file path <i> boolean: display stop button <i> number: repetition mode (number of times, forever, chiming hours) <i> number: number of times <i> number: restart mode (every x seconds, when sound ends) <i> number: sound period length |
| 9 | Tell the time | <s> string: message in time teller format |
| 10 | Tell how long until an event | <s> string: message in time teller format <d> date: reference date |
| 11 | Tell how long since an event | <s> string: message in time teller format <d> date: reference date |
| 12 | Start screensaver | |
| 13 | Shutdown computer | |
| 14 | Reboot computer | |
| 15 | Logoff from Windows |