Time Tools

Login or Register to see price!

A powerful Dash OS Plugin which allows you to conduct time-based queries within any macro.  This allows you to have your system behave differently based on the current time, day, month, etc.  You can also create custom timers to check how long it has been since various events.  A must-have for all Automation Systems!

Sold by: Dash OS
SKU: time-tools. Category: .

Product Description

One of the key concepts of Home Automation is that your system should, in a sense, be “aware.”  It should know things, it should intelligently decide what it should be doing based on the current situation.  As we give the system more intelligence, it is capable of appropriately determining the proper actions to take.

Enter Time Tools, a collection of commands and resources that provide your system with time-based intelligence.  With this toolset you can easily trigger various actions to occur based on the time of the day, the day of the month, the current month, and more.

Available TCL Commands

  • Create / Check Custom Timer – See the “Custom Timers” section below for more information.
  • Return Seconds Since Last Query – Returns the seconds since any command has been made into a URC Integer Variable
  • Return Month – Returns the Current Month into a URC Integer Variable
  • Return Day of Week – Returns the day of the week into a URC Integer Variable
  • AM or PM – Returns AM or PM based on the current time
  • Time (12HR) – Returns the current 12-Hour time as a URC Integer Variable (7:38 PM would return 738)
  • Time (24HR) – Returns the current 24-Hour time as a URC Integer Variable (7:38 PM would return 1938)
  • Time Range – Returns 1 into a URC Integer Variable if it is currently between the specified time range, otherwise it returns 0.

Time Tools Time Range Home Automation Example

Custom Timers

One of the more powerful features of Time Tools is the ability to “time” the distance between various events within your system.  For example; you could easily check if a minute has passed since the doors were last locked or unlocked, how long a home has been unoccupied, or a multitude of other tasks with very little programming required.

You can create an unlimited number of different timers in your system and check the distance between those events with a single command.  You can reset the timers back to 0 just as easily to streamline the programming for these types of events.

For more information and a detailed explanation of how any of these features are used, be sure to check out the Feature Tour!

Dash App Documentation Overview

This page will guide you through the installation, configuration, and programming of the specified Dash App.  You can navigate to various sections of the documentation by using the menu to the left.  New information is always being added to Dash’s Documentation so be sure to check back often to discover new ways to utilize your apps!

Download App:

Driver Location:

My > IP Database > AUX > Dash Apps > Time Tools

Driver File:

Dash – Time Tools.csd

Dash OS Update History

Whenever an update is available for a Dash App, a log of the major changes in the version will be provided below.  This does not necessarily reflect every change that was made as some minor changes may have been made that are undocumented, but it should reflect any changes that affect the operation of the Dash App.

Version 2.2

    • Timezone: If the Timezone is left blank, Dash Servers can provide the data using the address provided during setup.  Note that it is recommended that you use Dash Cloud Logging to determine the proper Timezone (or check this documentation) so that an active internet connection is not required for your system to work properly.


Download & Import the Dash App

In order for the Dash App to become recognized by the URC Programming Software we will need to import the provided TCM File into the Software.  Once this has been done properly the Dash App should show up in the “Add Other Devices” programming step in the “Accelerator Location” provided on the overview tab.

Import TCM

In your Programming Software locate the “Import TCM Files” button in the File tab of the top menu toolbar.  Click it to open the Windows File Browsing window.  Browse to the TCM file you wish to import and select it.

Import Dialog

Based on the Dash App / Module you are importing, a dialog similar to the belowwill appear.  This window indicates what interfaces are supported by the TCM File you selected.  System Plugins may only show “Driver” and “Base Station Files” when no User Interface is provided by the module.


After Importing your TCM File it is always safe to quickly restart your Accelerator Software to make sure your changes are properly made.  While this isn’t required every time, it is a good step to make sure everything is changed as needed.


Confirm that the Dash App was successfully imported.  You can do this by navigating to the driver where the Dash App is installed (see Overview Tab) and making sure a checkbox is provided for “8. Select 2-Way Modules for Network Remotes / Keypads”

Dash App "Network Setup"

This Dash App does not require that a specific IP Address is setup for it to operate.  However, it should be assigned an “Instance ID.”  When a module does not require a specific IP Address be setup, you can assign any IP Address to the Dash App that is unique from any other device in the list. Your IP Address will be used as an “Instance ID” which will separate it from any other Dash Apps or URC Modules you have setup.  This ID is helpful when you want to create jumps to the Dash App in multiple rooms / areas of your programming. In the example below we have added two Dash Apps, “System Monitor” and “Time Tools.”  Each has been given a unique value “” and “”  If they were assigned the same value the Dash App would result in an error and would not start up properly.

Dash App Parameters

Properly configuring the Dash App Parameters in your Automation Programming Software is important in order to make the App work as you want it to.  These Parameters will be used each time the App starts up to configure how the App will operate.  Below we will go over each available parameter.


Set the Timezone that should be used by the system.  If this is not specified Time Tools will try to connect with Dash’s Servers and will attempt to use the provided address of your project to determine the local timezone.  You can use the pre-defined options Central, East, West or use any of the Timezones specified in the “Valid Timezones” tab on the left.

Disable WAN=

If this is set to “Yes” the module will make no attempt to communicate over the internet.  This is useful for limiting internet use for rate-limited internet services.

Valid Timezones

Below you will find the valid Timezones that can be used for the Timezone parameter in your program.

 :Africa/Abidjan                     :Africa/Accra
 :Africa/Addis_Ababa                 :Africa/Algiers
 :Africa/Asmera                      :Africa/Bamako
 :Africa/Bangui                      :Africa/Banjul
 :Africa/Bissau                      :Africa/Blantyre
 :Africa/Brazzaville                 :Africa/Bujumbura
 :Africa/Cairo                       :Africa/Casablanca
 :Africa/Ceuta                       :Africa/Conakry
 :Africa/Dakar                       :Africa/Dar_es_Salaam
 :Africa/Djibouti                    :Africa/Douala
 :Africa/El_Aaiun                    :Africa/Freetown
 :Africa/Gaborone                    :Africa/Harare
 :Africa/Johannesburg                :Africa/Kampala
 :Africa/Khartoum                    :Africa/Kigali
 :Africa/Kinshasa                    :Africa/Lagos
 :Africa/Libreville                  :Africa/Lome
 :Africa/Luanda                      :Africa/Lubumbashi
 :Africa/Lusaka                      :Africa/Malabo
 :Africa/Maputo                      :Africa/Maseru
 :Africa/Mbabane                     :Africa/Mogadishu
 :Africa/Monrovia                    :Africa/Nairobi
 :Africa/Ndjamena                    :Africa/Niamey
 :Africa/Nouakchott                  :Africa/Ouagadougou
 :Africa/Porto-Novo                  :Africa/Sao_Tome
 :Africa/Timbuktu                    :Africa/Tripoli
 :Africa/Tunis                       :Africa/Windhoek
 :America/Adak                       :America/Anchorage
 :America/Anguilla                   :America/Antigua
 :America/Araguaina                  :America/Argentina/Buenos_Aires
 :America/Argentina/Catamarca        :America/Argentina/ComodRivadavia
 :America/Argentina/Cordoba          :America/Argentina/Jujuy
 :America/Argentina/La_Rioja         :America/Argentina/Mendoza
 :America/Argentina/Rio_Gallegos     :America/Argentina/San_Juan
 :America/Argentina/Tucuman          :America/Argentina/Ushuaia
 :America/Aruba                      :America/Asuncion
 :America/Atka                       :America/Bahia
 :America/Barbados                   :America/Belem
 :America/Belize                     :America/Boa_Vista
 :America/Bogota                     :America/Boise
 :America/Buenos_Aires               :America/Cambridge_Bay
 :America/Campo_Grande               :America/Cancun
 :America/Caracas                    :America/Catamarca
 :America/Cayenne                    :America/Cayman
 :America/Chicago                    :America/Chihuahua
 :America/Coral_Harbour              :America/Cordoba
 :America/Costa_Rica                 :America/Cuiaba
 :America/Curacao                    :America/Danmarkshavn
 :America/Dawson                     :America/Dawson_Creek
 :America/Denver                     :America/Detroit
 :America/Dominica                   :America/Edmonton
 :America/Eirunepe                   :America/El_Salvador
 :America/Ensenada                   :America/Fortaleza
 :America/Fort_Wayne                 :America/Glace_Bay
 :America/Godthab                    :America/Goose_Bay
 :America/Grand_Turk                 :America/Grenada
 :America/Guadeloupe                 :America/Guatemala
 :America/Guayaquil                  :America/Guyana
 :America/Halifax                    :America/Havana
 :America/Hermosillo                 :America/Indiana/Indianapolis
 :America/Indiana/Knox               :America/Indiana/Marengo
 :America/Indiana/Vevay              :America/Indianapolis
 :America/Inuvik                     :America/Iqaluit
 :America/Jamaica                    :America/Jujuy
 :America/Juneau                     :America/Kentucky/Louisville
 :America/Kentucky/Monticello        :America/Knox_IN
 :America/La_Paz                     :America/Lima
 :America/Los_Angeles                :America/Louisville
 :America/Maceio                     :America/Managua
 :America/Manaus                     :America/Martinique
 :America/Mazatlan                   :America/Mendoza
 :America/Menominee                  :America/Merida
 :America/Mexico_City                :America/Miquelon
 :America/Monterrey                  :America/Montevideo
 :America/Montreal                   :America/Montserrat
 :America/Nassau                     :America/New_York
 :America/Nipigon                    :America/Nome
 :America/Noronha                    :America/North_Dakota/Center
 :America/Panama                     :America/Pangnirtung
 :America/Paramaribo                 :America/Phoenix
 :America/Port-au-Prince             :America/Porto_Acre
 :America/Porto_Velho                :America/Port_of_Spain
 :America/Puerto_Rico                :America/Rainy_River
 :America/Rankin_Inlet               :America/Recife
 :America/Regina                     :America/Rio_Branco
 :America/Rosario                    :America/Santiago
 :America/Santo_Domingo              :America/Sao_Paulo
 :America/Scoresbysund               :America/Shiprock
 :America/St_Johns                   :America/St_Kitts
 :America/St_Lucia                   :America/St_Thomas
 :America/St_Vincent                 :America/Swift_Current
 :America/Tegucigalpa                :America/Thule
 :America/Thunder_Bay                :America/Tijuana
 :America/Toronto                    :America/Tortola
 :America/Vancouver                  :America/Virgin
 :America/Whitehorse                 :America/Winnipeg
 :America/Yakutat                    :America/Yellowknife
 :Antarctica/Casey                   :Antarctica/Davis
 :Antarctica/DumontDUrville          :Antarctica/Mawson
 :Antarctica/McMurdo                 :Antarctica/Palmer
 :Antarctica/Rothera                 :Antarctica/South_Pole
 :Antarctica/Syowa                   :Antarctica/Vostok
 :Arctic/Longyearbyen                :Asia/Aden
 :Asia/Almaty                        :Asia/Amman
 :Asia/Anadyr                        :Asia/Aqtau
 :Asia/Aqtobe                        :Asia/Ashgabat
 :Asia/Ashkhabad                     :Asia/Baghdad
 :Asia/Bahrain                       :Asia/Baku
 :Asia/Bangkok                       :Asia/Beirut
 :Asia/Bishkek                       :Asia/Brunei
 :Asia/Calcutta                      :Asia/Choibalsan
 :Asia/Chongqing                     :Asia/Chungking
 :Asia/Colombo                       :Asia/Dacca
 :Asia/Damascus                      :Asia/Dhaka
 :Asia/Dili                          :Asia/Dubai
 :Asia/Dushanbe                      :Asia/Gaza
 :Asia/Harbin                        :Asia/Hong_Kong
 :Asia/Hovd                          :Asia/Irkutsk
 :Asia/Istanbul                      :Asia/Jakarta
 :Asia/Jayapura                      :Asia/Jerusalem
 :Asia/Kabul                         :Asia/Kamchatka
 :Asia/Karachi                       :Asia/Kashgar
 :Asia/Katmandu                      :Asia/Krasnoyarsk
 :Asia/Kuala_Lumpur                  :Asia/Kuching
 :Asia/Kuwait                        :Asia/Macao
 :Asia/Macau                         :Asia/Magadan
 :Asia/Makassar                      :Asia/Manila
 :Asia/Muscat                        :Asia/Nicosia
 :Asia/Novosibirsk                   :Asia/Omsk
 :Asia/Oral                          :Asia/Phnom_Penh
 :Asia/Pontianak                     :Asia/Pyongyang
 :Asia/Qatar                         :Asia/Qyzylorda
 :Asia/Rangoon                       :Asia/Riyadh
 :Asia/Saigon                        :Asia/Sakhalin
 :Asia/Samarkand                     :Asia/Seoul
 :Asia/Shanghai                      :Asia/Singapore
 :Asia/Taipei                        :Asia/Tashkent
 :Asia/Tbilisi                       :Asia/Tehran
 :Asia/Tel_Aviv                      :Asia/Thimbu
 :Asia/Thimphu                       :Asia/Tokyo
 :Asia/Ujung_Pandang                 :Asia/Ulaanbaatar
 :Asia/Ulan_Bator                    :Asia/Urumqi
 :Asia/Vientiane                     :Asia/Vladivostok
 :Asia/Yakutsk                       :Asia/Yekaterinburg
 :Asia/Yerevan                       :Atlantic/Azores
 :Atlantic/Bermuda                   :Atlantic/Canary
 :Atlantic/Cape_Verde                :Atlantic/Faeroe
 :Atlantic/Jan_Mayen                 :Atlantic/Madeira
 :Atlantic/Reykjavik                 :Atlantic/South_Georgia
 :Atlantic/Stanley                   :Atlantic/St_Helena
 :Australia/ACT                      :Australia/Adelaide
 :Australia/Brisbane                 :Australia/Broken_Hill
 :Australia/Canberra                 :Australia/Currie
 :Australia/Darwin                   :Australia/Hobart
 :Australia/LHI                      :Australia/Lindeman
 :Australia/Lord_Howe                :Australia/Melbourne
 :Australia/North                    :Australia/NSW
 :Australia/Perth                    :Australia/Queensland
 :Australia/South                    :Australia/Sydney
 :Australia/Tasmania                 :Australia/Victoria
 :Australia/West                     :Australia/Yancowinna
 :Brazil/Acre                        :Brazil/DeNoronha
 :Brazil/East                        :Brazil/West
 :Canada/Atlantic                    :Canada/Central
 :Canada/East-Saskatchewan           :Canada/Eastern
 :Canada/Mountain                    :Canada/Newfoundland
 :Canada/Pacific                     :Canada/Saskatchewan
 :Canada/Yukon                       :CET
 :Chile/Continental                  :Chile/EasterIsland
 :CST6CDT                            :Cuba
 :EET                                :Egypt
 :Eire                               :EST
 :EST5EDT                            :Etc/GMT
 :Etc/GMT+0                          :Etc/GMT+1
 :Etc/GMT+10                         :Etc/GMT+11
 :Etc/GMT+12                         :Etc/GMT+2
 :Etc/GMT+3                          :Etc/GMT+4
 :Etc/GMT+5                          :Etc/GMT+6
 :Etc/GMT+7                          :Etc/GMT+8
 :Etc/GMT+9                          :Etc/GMT-0
 :Etc/GMT-1                          :Etc/GMT-10
 :Etc/GMT-11                         :Etc/GMT-12
 :Etc/GMT-13                         :Etc/GMT-14
 :Etc/GMT-2                          :Etc/GMT-3
 :Etc/GMT-4                          :Etc/GMT-5
 :Etc/GMT-6                          :Etc/GMT-7
 :Etc/GMT-8                          :Etc/GMT-9
 :Etc/GMT0                           :Etc/Greenwich
 :Etc/UCT                            :Etc/Universal
 :Etc/UTC                            :Etc/Zulu
 :Europe/Amsterdam                   :Europe/Andorra
 :Europe/Athens                      :Europe/Belfast
 :Europe/Belgrade                    :Europe/Berlin
 :Europe/Bratislava                  :Europe/Brussels
 :Europe/Bucharest                   :Europe/Budapest
 :Europe/Chisinau                    :Europe/Copenhagen
 :Europe/Dublin                      :Europe/Gibraltar
 :Europe/Helsinki                    :Europe/Istanbul
 :Europe/Kaliningrad                 :Europe/Kiev
 :Europe/Lisbon                      :Europe/Ljubljana
 :Europe/London                      :Europe/Luxembourg
 :Europe/Madrid                      :Europe/Malta
 :Europe/Mariehamn                   :Europe/Minsk
 :Europe/Monaco                      :Europe/Moscow
 :Europe/Nicosia                     :Europe/Oslo
 :Europe/Paris                       :Europe/Prague
 :Europe/Riga                        :Europe/Rome
 :Europe/Samara                      :Europe/San_Marino
 :Europe/Sarajevo                    :Europe/Simferopol
 :Europe/Skopje                      :Europe/Sofia
 :Europe/Stockholm                   :Europe/Tallinn
 :Europe/Tirane                      :Europe/Tiraspol
 :Europe/Uzhgorod                    :Europe/Vaduz
 :Europe/Vatican                     :Europe/Vienna
 :Europe/Vilnius                     :Europe/Warsaw
 :Europe/Zagreb                      :Europe/Zaporozhye
 :Europe/Zurich                      :GB
 :GB-Eire                            :GMT
 :GMT+0                              :GMT-0
 :GMT0                               :Greenwich
 :Hongkong                           :HST
 :Iceland                            :Indian/Antananarivo
 :Indian/Chagos                      :Indian/Christmas
 :Indian/Cocos                       :Indian/Comoro
 :Indian/Kerguelen                   :Indian/Mahe
 :Indian/Maldives                    :Indian/Mauritius
 :Indian/Mayotte                     :Indian/Reunion
 :Iran                               :Israel
 :Jamaica                            :Japan
 :Kwajalein                          :Libya
 :MET                                :Mexico/BajaNorte
 :Mexico/BajaSur                     :Mexico/General
 :MST                                :MST7MDT
 :Navajo                             :NZ
 :NZ-CHAT                            :Pacific/Apia
 :Pacific/Auckland                   :Pacific/Chatham
 :Pacific/Easter                     :Pacific/Efate
 :Pacific/Enderbury                  :Pacific/Fakaofo
 :Pacific/Fiji                       :Pacific/Funafuti
 :Pacific/Galapagos                  :Pacific/Gambier
 :Pacific/Guadalcanal                :Pacific/Guam
 :Pacific/Honolulu                   :Pacific/Johnston
 :Pacific/Kiritimati                 :Pacific/Kosrae
 :Pacific/Kwajalein                  :Pacific/Majuro
 :Pacific/Marquesas                  :Pacific/Midway
 :Pacific/Nauru                      :Pacific/Niue
 :Pacific/Norfolk                    :Pacific/Noumea
 :Pacific/Pago_Pago                  :Pacific/Palau
 :Pacific/Pitcairn                   :Pacific/Ponape
 :Pacific/Port_Moresby               :Pacific/Rarotonga
 :Pacific/Saipan                     :Pacific/Samoa
 :Pacific/Tahiti                     :Pacific/Tarawa
 :Pacific/Tongatapu                  :Pacific/Truk
 :Pacific/Wake                       :Pacific/Wallis
 :Pacific/Yap                        :Poland
 :Portugal                           :PRC
 :PST8PDT                            :ROC
 :ROK                                :Singapore
 :SystemV/AST4                       :SystemV/AST4ADT
 :SystemV/CST6                       :SystemV/CST6CDT
 :SystemV/EST5                       :SystemV/EST5EDT
 :SystemV/HST10                      :SystemV/MST7
 :SystemV/MST7MDT                    :SystemV/PST8
 :SystemV/PST8PDT                    :SystemV/YST9
 :SystemV/YST9YDT                    :Turkey
 :UCT                                :Universal
 :US/Alaska                          :US/Aleutian
 :US/Arizona                         :US/Central
 :US/East-Indiana                    :US/Eastern
 :US/Hawaii                          :US/Indiana-Starke
 :US/Michigan                        :US/Mountain
 :US/Pacific                         :US/Pacific-New
 :US/Samoa                           :UTC
 :W-SU                               :WET

Dash App Feature Tour / Walkthroughs

Welcome to the Dash App Feature Tour!   This page will go over the features available to you when using the Dash App within your Dash OS-powered systems.  These tours may include specific programming guides, file examples, drivers, or simply detailed explanations of the features listed on the Product Description tab.  Use the tabs to the left to select a feature that you would like to learn more about!  Enjoy!

Dash App Tour File

Getting the 24-Hour Time

Getting the 24-Hour Time is one of the most common commands that is used with Time Tools (either this or “Time Range” depending on what you want to do with the time).  Essentially you will be sending a TCL Command that will query the current time from Time Tools.  Time Tools will respond with the proper time into the variable you select within the “Save The Result” section of your TCL Command.

If you look at the TCL Command that we have created to the right, you can see that we have selected to query the 24-hour time and will be saving the response into our Integer Variable “Time.”  You must first create an Integer Variable that you will be saving your result into.

Lets analyze a simple macro which will query the time and respond on the User Interface with a text respond of either “It is AFTER 10 AM!” or “It is BEFORE 10 AM!” based upon the time that the user presses the button.

Macro Triggered at 10:38 AM

Macro Triggered at 1:25 AM

If you would like to see the final result, you can download the Example file from the “Overview” tab and take a look at the 24-Hour Time Example.  There are also video walkthroughs available on the Video Tab that will show this process being completed.

Step 1

First we need to create an Integer Variable that will hold the value of the Current Time after our query is complete.  We create a new variable using the  icon within the URC Macro Programming Toolbar and selecting “Add New” from the resulting window.

We select “Integer” for the type of variable we want to create and assign it a default value of -1.  We use this default value as we know the actual time will never be -1.  This way we can use an IF/ELSE asking if the value is -1 to know if for any reason our time was not properly updated if we want to (but this step is not necessary).

Once you have created the variable you can exit out of the window.  At this time we do not need to set the variables value, we just need it to be created for us.

Step 2

Our next step will be to create the command in the macro of our choice that will query the time from Time Tools.  This is done through URC’s TCL Command Feature.  Open the TCL Command Window by selecting the  icon from your Macro Toolbar.  This should bring up a window that will allow you to select Time Tools (if it was properly imported & installed onto your system).

We can name our command whatever we’d like, but it should be descriptive of what the command is being used for.  In this case, we will use “Check The Time (24-Hour).”  We will then select “Time Tools” from the “Available Devices” dropdown and choose the “Time (24 HR)” command from the “Available Command” drop-down.

Step 3

Using the “Result” section at the bottom of the TCL Command Window, we can select to “Save the Result.”  Selecting this box will allow us to save the response (in this case, the 24-Hour Time) that the selected module provides into a URC Variable of your choice (it must be an integer variable in this case).

In our example, we are saving the result into the “Time” variable we created in the earlier steps.  Once you have done this you can press “OK” to save your command.  You should then see a new command added to your Macro with the name you specified.

Step 4

Now we know that the variable “Time” is going to be the current time.  If it is currently 1:00 AM, by the next step (no delay required) in the macro after the command takes place, my variable will be “100”.  If it were 11 PM, it would be “2300” and so-on.

In order for my macro to do different things based on what time it is, we would have to use an IF/ELSE (or multiple IF/ELSE) statements.  Below you can see our IF/ELSE Statement which will send an different Text String to the User Interface if it is before or after 10 AM.  It’s that Easy!

Note: The 2 Second Delay is added at the end so that our selected Text String will show up for 2 Seconds before the button text reverts to its normal state.

Video Walkthrough

Video Quality: Use the Cog Wheel in the Video to increase the quality to 1080P for the Best Results.

Video Walkthrough: Get The 24-Hour Time

Time Tools w/ Dash Cloud Logging


  1. Barney

    (verified owner):

    Would be helpful if there was sound on the instructional video and and/or an easier way to print out the instructions.

Add a review