FS Series SQLite v1.0

EasyIO FS Series SQLite (History) User Guide

1

FS Series SQLite v1.0

Document Change Log

th 11 Jan 2020 Created for FS Series ONLY.

2

FS Series SQLite v1.0

Disclaimer

Confidentiality Notice The information contained in this document is confidential information of EasyIO Holdings Pte Ltd. Such information and the software described herein, is furnished under a license agreement and may be used only in accordance with that agreement. The information contained in this document is provided solely for use by EasyIO Holdings Pte Ltd employees, licensees, and system owners; and, except as permitted under the below copyright notice, is not to be released to, or reproduced for, anyone else. While every effort has been made to assure the accuracy of this document, EasyIO Holdings Pte Ltd is not responsible for damages of any kind, including without limitation consequential damages, arising from the application of the information contained herein. Information and specifications published here are current as of the date of this publication and are subject to change without notice. The latest product specifications can be found by contacting our corporate headquarters or support channel.

Trademark Notice

EasyIO logo are registered trademarks of EasyIO Holdings Pte Ltd.

CPT Tool is by Online Tools Inc.

BACnet and ASHRAE are registered trademarks of American Society of Heating, Refrigerating and Air- Conditioning Engineers. All other product names and services, mentioned in this publication, that are known to be trademarks, registered trademarks, or service marks are the property of their respective owners.

Copyright and Patent Notice This document may not, in whole or in part, be copied, photocopied, reproduced, translated, or reduced to any electronic medium or machine-readable form without prior written consent from EasyIO Holdings Pte Ltd

Copyright © 2019 EasyIO Holdings Pte Ltd. All rights reserved

Disclaimer The material in this manual is for information purposes only. The contents and the product it describes are subject to change without notice. EasyIO Holdings Pte Ltd makes no representations or warranties with respect to this manual. In no event shall EasyIO Holdings Pte Ltd be liable for any damages, direct or incidental, arising out of or related to the use of this manual.

EasyIO Holdings Pte Ltd 101, Cecil Street #09-07 Tong Eng Building Singapore 069533

Worldwide and Asia Pacific Support : [email protected] Americas Support : [email protected] Europe Support : [email protected]

3

FS Series SQLite v1.0

Federal Communication Commission Interference Statement This equipment has been tested and found to comply with the limits for a Class B digital device, pursuant to Part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference in a residential installation. This equipment generates, uses, and can radiate radio frequency energy and, if not installed and used in accordance with the instructions, may cause harmful interference to radio communications. However, there is no guarantee that interference will not occur in a particular installation. If this equipment does cause harmful interference to radio or television reception, which can be determined by turning the equipment off and on, the user is encouraged to try to correct the interference by one or more of the following measures: • Reorient or relocate the receiving antenna. • Increase the separation between the equipment and receiver. • Connect the equipment into an outlet on a circuit different from that to which the receiver is connected. • Consult the dealer or an experienced radio/TV technician for help. Caution: Any changes or modifications not expressly approved by the party responsible for compliance could void the user's authority to operate this equipment.

FCC Caution This device complies with Part 15 of the FCC Rules. Operation is subject to the following two conditions: (1) This device may not cause harmful interference, and (2) this device must accept any interference received, including interference that may cause undesired operation.

FCC Radiation Exposure Statement This equipment complies with FCC radiation exposure limits set forth for an uncontrolled environment. This equipment should be installed and operated with minimum distance 20cm between the radiator & your body. RF Exposure: A distance of 20 cm shall be maintained between the antenna and users, and the transmitter module may not be co-located with any other transmitter or antenna.

4

FS Series SQLite v1.0

Table of Contents Introduction ...... 6 Prerequisites ...... 6 SQL Service Limitation ...... 6 Memory Size Calculation ...... 6 SQL Lite Service ...... 7 SQL Function Blocks ...... 12 SQL administrator page ...... 14 SQL Exporter ...... 15 SQL Exporter with email attachment ...... 19 Generate Authentication Key (Auth_key) ...... 22 Data Exporter Troubleshooting ...... 24 SQL History Chart in CPT graphics ...... 25 Time Zone Appendix ...... 29 Technical Support ...... 37

5

FS Series SQLite v1.0

Introduction EasyIO FS Series comes with a built in SQL Lite engine. The SQL Lite engine is capable of storing historical data in to tables and columns. These history is created using easyioFGSQL kit.

Prerequisites

1. CPT Tool dated 6th Dec 2019 or later. 2. For FS Series, firmware has to be V3.0b51b or later.

SQL Service Limitation Below tabulate the SQL service limitation. This is just a recommendation which will enable users to NOT overload an FS Series controller. More tables and columns will results CPU higher loading which will cause the controller and control logics to run slower.

Number of Table + SQL Number of Points for each Total records for each Functions objects table (columns) column (rows) 50 32 100,000

If COV history is required, do not configure the COV differential to a low value depending to type of real time value. For example, if temperature value is trended, do not set the COV different to 0.1 as this will also overload the CPU.

Memory Size Calculation There is no metric for calculating memory size for a history data table. Below is what EasyIO have tested and it is just an estimation.

Number of Table Number of Column (Values) Total records Size on Disk 1 1 1000 40 KB 1 10 1000 132 KB 1 1 100,000 5,100 KB 1 32 100,000 27,000 KB

6

FS Series SQLite v1.0

SQL Lite Service

The architecture of the SQL kit is deployed as shown below in Step 2. The SQL service object can be dropped anywhere in the Sedona app tree. Our recommendation is to create a separate folder and identified as you require.

SQL Service

SQL Table

SQL object (Column or Value)

**Tech Tips** It is important to make sure the EasyIO FS controller Real Time Clock (RTC) is sync to local date and time and time zone before proceeding to configure the SQL service in the EasyIO FG Series controller.

To sync the controller on board RTC, double click the time object in the service folder. Using the graphical interface set the time. Make sure the timezone is set accordingly as well.

Another option to perform time sync is using the built in NTP service. This feature can be access via web browser > Plug In > Date and time config. If the Time Server is the internet , make sure controller has internet connection.

7

FS Series SQLite v1.0

Step 1 Connect to the controller with CPT Tool. Default login credentials are as below; IP address : 192.168.10.12 Username : admin Password :

Manage kits to install easyioFGSQL into your controller.

Step 2 Choose easyioFGSQL from library. Drag & drop the SQLLite3Service into your App. The object can be dropped in the EasyIO folder or a new folder can be created for the SQL service. In the example below, the object is dropped into a new folder named “SQL”.

Step 3 Double click the SQLlite3 to access the property sheet. The name is auto created. It is “easyio.db” and is not editable. For FS Series the database is stored in the on board flash memory.

Step 4 Drag and drop the SQLTable object into the SQLlite3 service. This will create a table in the SQL Lite database. You can have multiple tables in the SQL database up to 50 tables.

8

FS Series SQLite v1.0

Step 5 Click the table object to access property sheet. Enable the table. Configure the record type either Interval or COV. If Interval record type is selected, configure the interval period. Configure the max record lines. Maximum of 100,000 records can be stored. Give the table a name. Max character allowed is 31. ***Tips*** DO NOT name the table “history ” to avoid issue in dashboard. DO NOT use SPACE. You can use camelCase as word separator.

Step 6 Drag and drop the SQL object (column object) to create a column in the table. There are 3 types of SQL object supported which is Boolean, Float and Integer. Multiple columns can be created in a single table object. A maximum columns per table is up to 32 columns.

Give the column a name. Maximum character allowed is 31. In this exercise, column is named as Value1. If the Column name is valid, the “Column Ready” status will display true. ***Tips*** DO NOT use SPACE. You can use camelCase as word separator. Step 8 You can create multiple table and column by drag and drop more tables and columns under the SQL service. 9

FS Series SQLite v1.0

***Note*** You can have up to 50 tables You can have up to 32 columns (value) in each table

Step 9 Make a link from any object within the Sedona apps to the SQL object t for history trending. In the exercise below a Ramp object is linked to the SqlFloat object.

Step 10 If the configurations are properly done, the IsReady property of the table will display true. At the status property it will display error messages if configuration is invalid. Make the correction according to the error messages.

10

FS Series SQLite v1.0

Step 11 Right click at the table (each table) object > Action > Sync Structure.

The actions will create the table in the SQL database and start the history trending. The “Table Name” property will display the table name given if update table is successful. Current record property will display a number =>0 instead of -1 if trending has started.

Step 12 The SQL Service will start to trend into the SQL Database.

11

FS Series SQLite v1.0

SQL Function Blocks

In later easyioFGSQL kit it has an object called SQLFunc. This object is a very powerful object where it runs a handful of SQL query into the SQL database.

The architecture of the SQL functions is part of the SQL Service object. It has to be a child of the SQL Service. An error message will display if the object is dropped under an invalid parent.

SQL Service

SQL Function object

Assuming the SQL configurations are done according to above “Configuring the SQL” to run the SQL query is simple as drag and drop the SQLFunc object under the SQL service object.

Step 1 Drag and drop the SQLFunc object under the SQL service object. Users can have multiple SQLFunc object under the SQL service parent. A limit of 50 SQLFunc objects are allowed including the SQL table objects.

Step2 Click at the SqlFunc object and configure the property of the query. Enable the object by setting to true. Debug property is for internal use. Leave it as false.

The “Is Ready” property will display as true if the object is ready for query.

12

FS Series SQLite v1.0

Step 3 Configure the Table name and Column name. These properties are case sensitive. It has to exactly the same as what been created previously in configuring the SQL object. The tableName and columnName is the actual name in the SQL db itself. It is not the Sedona object name.

Step 4 Configure the query time period.

Last Read property displays the most recent query execution time. Interval is the time period for the object to execute the query. A 15 minutes interval means that the object will execute the query every 15mins. If interval is selected weekStartDay, startDate, startTime and other properties has no meaning. They will be ignored.

Configure either Time Range property or custom time range. If Time Range = custom, custom time range properties are enable. Configure the start and end date and time. Date string format is DD/MM/YY. Wildcard is not allow in the date string property, example 29/05/**.

Time range format is in 24 hours format, 0000-2359 An error message will display at the status property if the date and time property is not configure correctly.

Step 5 Choose the SQL function from the drop down menu.

Function Remarks Total Summation of all the data according to time period selection Average Average of all the data according to the time period selection Count Total records count according to the time period selection Min Minimum Value according to the time period selection Max Maximum Value according to the time period selection Delta Difference between the first data and the last data according to the time period selection

Step 6 The SQL function object will start to execute the query once all the properties are set correctly.

13

FS Series SQLite v1.0

SQL administrator page Every EasyIO FG series and FS series controller has a SQL administrator page to manage the database. Note : In order to view this page a full deployment is required.

Simply perform a full deploy via CPT tool.

Launch the web browser and put in the below URL at the address bar. http://DEVICE_IP/sdcard/phpliteadmin.php username : admin password : hellocpt

**Tech Tips** By default the password for the SQL admin page is hellocpt. The SQL admin page is using the CPT web graphics admin user password. If you have change the CPT graphics admin user password please use that password.

If CPT 27th Feb 2017 is being used to perform a full deployment, you can access the SQL Lite administrator page via the CPT graphics utilities shortcut menu.

Login as admin and navigate to the utilities tab. Select DB Manager option. CPT will automatically login and launch the SQL Lite administrator page.

14

FS Series SQLite v1.0

SQL Exporter Every EasyIO FS series come built in with a SQL database exporter. Data exporter is a tool for user to extract data from the SQL database. Users can run the query directly in any web browser or creating a macro in an excel sheet.

Below are basics scripts and explanations.

General script http://DEVICE_IP/sdcard/cpt/app/data_exporter.?table=TableNameHere&PARAM=VALUE&auth_key=xxxx

Where;

1. Device IP = IP address of the EasyIO FG controller , example 192.168.10.11 2. PARAM = parameter field (refer to table below) 3. VALUE = value field (refer to table below) 4. If multiple parameters and values are required insert ‘&’ without the quote. 5. The parameter auth_key=xxx is a compulsory parameter. Failure to input the auth_key as part of the query will result an error. Refer below parameter format and also creating Auth_Key.

For parameters options refer to below table.

Parameters (PARAM field) Values / Option (VALUE field) table Table name. Case sensitive. Table name is referring to the table created in the Sedona apps under the SQL service. A required field. columns Data column name that is created under the SQL table object. Case sensitive. If not specify will return all data (all columns). format Data format. Valid options are : csv, html, json. If not specify will return default format which is html. file If specify “1” or “true”, exporter will trigger an automatic download process. If not specify results will be render in web browser. save_to_local Specify the file name, exporter will trigger an automatic download process and save the file into the EasyIO FG micro SD card.

Example : save_to_local=abc, where abc is the file name The exporter will automatically trigger a download to the micro SD card and name the file as abc.csv or whichever format is specified. last_n_row Last N records from particular table. Value has to be a valid integer value.

Example : last_n_row=100 Gives you the last 100 records from the time the query is called. dt_tz Exporter will return the data according to the time zone specify.

15

FS Series SQLite v1.0

Refer to appendix for all time zone format. Copy the time zone required and paste into the query.

Example : dt_tz=Asia/Kuala_Lumpur Exporter will return the date time column to match with the time zone Asia Kuala Lumpur , GMT +8. If not specify, exporter will return UTC time zone. dt_period Exporter will only export data within the specify time period. Options are as tabulated below. 1. today 2. yesterday 3. last_24hr 4. week_to_date 5. last week 6. month_to_date 7. last_month 8. year_to_date 9. last_year If not specify exporter will return all data. dt_after Exporter will only export data after the specify time (including) to the last latest record.

Format for the time period is : YYYYMMDDhhmmss

Where YYYY = year , 4 digits. MM = month , range between 1 to 12 DD = date , range between 1 to 31 hh = hour , range between 00 to 23 (24 hours format) mm = minute , range between 00 to 59 ss = second , range between 00 to 59

Example : 20140529133000 will return 13:30:00, 29th May 2014 dt_before Exporter will only export data before the specify time (including) to the last oldest record.

Format for the time period is : YYYYMMDDhhmmss

Where YYYY = year , 4 digits. MM = month , range between 1 to 12 DD = date , range between 1 to 31 hh = hour , range between 00 to 23 (24 hours format) mm = minute , range between 00 to 59 ss = second , range between 00 to 59

Example : 20140529133000 will return 13:30:00, 29th May 2014 true_text replace any boolean column in TRUE value with given text TRUE value by default is 1

example : true_text= On

16

FS Series SQLite v1.0

this parameter will search for any value that is true and will replace with On when displaying the results. false_text replace any boolean column in FALSE value with given text TRUE value by default is 0

example : false_text= Off this parameter will search for any value that is true and will replace with Off when displaying the results. null_text replace any boolean column in NULL value with given text

example : null_text= Null this parameter will search for any value that is true and will replace with Null when displaying the results. auth_key To increase security and prevent irresponsible spamming auth_key is require for each query. This parameter is a compulsory parameter if CPT 16th Dec 2016 is used to deploy graphics.

This auth_key is created within the CPT graphics. Graphics deployed with CPT dated 16th Dec 2016 or later is compulsory to include the auth_key when query the SQL database.

auth_key=XXXX where the XXXX is unique code generated by each EasyIO FG controller.

SQL exporter examples

Example 01 http://192.168.10.11/sdcard/cpt/app/data_exporter.php?table=Test&auth_key=abcdef12345 This command line when entered in the browser will return all the data from the table Test. If table consist of 6 columns, it will return 6 columns and data are from oldest to newest. Time zone is UTC time zone.

Example 02 http://192.168.10.11/sdcard/cpt/app/data_exporter.php?table=Test&column=Float&auth_key=abcdef12345 This command line will return all the data from the table Test but only 1 column which is the Float column. Data are from oldest to newest. Time zone is UTC time zone.

Example 03 http://192.168.10.11/sdcard/cpt/app/data_exporter.php?table=Test&columns=dt,Float&auth_key=abcdef1234 5 This command line will return all the data from the table Test with 2 columns which is the dt (dateTime) column and Float column (data column). Data are from the oldest to newest. Time zone is UTC time zone.

Example 04 http://192.168.10.11/sdcard/cpt/app/data_exporter.php?table=Test&columns=dt,Float&dt_period=yesterday& auth_key=abcdef12345 This command line will return all the data from the table Test with 2 columns which is the dt (dateTime) column and Float column (data column). Data period is yesterday 0000 hrs to 2359 hrs.

17

FS Series SQLite v1.0

Time zone is UTC time zone. Example 05 http://192.168.10.11/sdcard/cpt/app/data_exporter.php?table=Test&columns=dt,Float&dt_period=yesterday& dt_tz=Asia/Kuala_Lumpur&auth_key=abcdef12345 This command line will return all the data from the table Test with 2 columns which is the dt (dateTime) column and Float column (data column). Data period is yesterday 0000 hrs to 2359 hrs. Time zone is Kuala Lumpur time zone. The exporter will automatically convert the UTC time and display the time zone selected.

Example 06 http://192.168.10.11/sdcard/cpt/app/data_exporter.php?table=Test&columns=dt,Float&dt_period=yesterday& dt_tz=Asia/Kuala_Lumpur&format=csv&file=true&auth_key=abcdef12345 This command line will return all the data from the table Test with 2 columns which is the dt (dateTime) column and Float column (data column). Data period is yesterday 0000 hrs to 2359 hrs. Time zone is Kuala Lumpur time zone. The exporter will automatically convert the UTC time and display the time zone selected. The exporter will trigger an automatic download the query results and convert it to comma separated value (csv) file. The CSV file will be named “data_20140529.csv” displaying the date, 29th May 2014.

18

FS Series SQLite v1.0

SQL Exporter with email attachment EasyIO FG+ series controller with build 46 firmware has a feature where user can email a comma separated value (*.csv) file with the build in data exporter.

Prerequisites for this feature to run properly are as below,

1. Email feature enabled in FS Series. To enable the email feature, please refer to EasyIO FS Email Service user guide. 2. For FS Series controller firmware build b51b. 3. Internet connection available for EasyIO FS controller.

Step 1 Make sure the email service is configured according to the EasyIO FG Series Email service use guide. Make sure the firmware (build 51b firmware or later) and the easyioFGMail kit (1.0.45.51.33 or later) is installed.

Step 2 Drag and drop attachment object into the Sedona apps. The object can live freely within the apps. The object is not necessary to be in the same folder as the SMTP service.

Step 3 Configure the attachment object with the export criteria. Each attachment object will only perform successfully if the exporter URL is correct. The exporter URL is simplified for this object. The minimum requirement for the attachment to work is as below, where an auth_key and save_to_local and format=csv is compulsory. auth_key=abcdefghi&save_to_local=abc&format=csv¶m1=value¶m2=value

Additional parameters can be added to specify table, column or date and time to the string above. Below is an example of the URL used in an attachment object.

19

FS Series SQLite v1.0

Example of query parameter in the queryParams : auth_key=abcdefghi&save_to_local&format=csv&table=Table01&last_n_row=30

Note that only partial of the query is required as compare to web browser URL query. In the example above the URL will perform a CSV file download to the SD card storage containing data from Table01 with only the last 30 records.

**Tech Tip** To make sure the email with attachment works properly, it is best to test the URL query in web browser so that it triggers a save of csv file format. If the URL works in web browser, then it will work in email attachment object.

Image below shows the required URL for email attachment.

20

FS Series SQLite v1.0

Step 4 User can either choose the trigger option from Trigger only, Daily, Weekly or Monthly.

Trigger Option Remarks

Trigger Only This option is triggered with the Trigger property or action trigger.

Daily This option will automatically trigger every day at 11.59PM This option will automatically triggered end of the week depends to the weekStartDay property. Weekly If weekStartDay = Sunday, email will perform on Saturday at 11.59PM If weekStartDay = Monday, email will perform on Sunday at 11.59PM Monthly This option will automaticall triggered on the last calendar day at 11.59PM

Step 5 The comma separated value file is saved to the SD card. The file will be overwritten every time this query is perform. Optionally user can customized the email body at the emailMsg property.

Step 6 The attachment email will be in a XXX.csv.gz where XXX.csv is the file name and the extension is a linux zip file *.gz. Use any extractor to extract the data.

21

FS Series SQLite v1.0

Generate Authentication Key (Auth_key) As mention in our earlier chapter, graphics deployed with CPT dated 27th Feb 2017 or later will have a function to create auth_key. This auth_key is used for SQL query to minimize network traffic spamming and increase the security of unauthorized login. To generate a new key, make sure a full deploy of CPT graphics is done. If an older CPT graphics is deployed but you wish to have the auth_key parameter for increased security, please do another full deploy with the latest CPT.

Step 1 Make sure latest CPT is used to perform a full deploy the graphics. Minimum version of CPT required is 16th Dec 2016 release.

Step 2 Assuming the CPT graphics are deployed, login to the controller via browser with the controller IP address. If the default IP address is used then it should be 192.168.10.11

Step 3 At the login page, put in username = admin and password = hellocpt Only admin user can create or edit the key strings. This is for security purpose.

Step 4 Once login go to manage account.

Step 5 Click manage at the AuthKey column at the pop up window.

22

FS Series SQLite v1.0

Step 6 Select the expiry date and put a note to your new Auth Key for reference purpose. Click create. The system will automatically generate a 16 characters consist of alphabet and number key. This key is unique and cannot be used across other controller.

Step 7 Copy the key generated to be used with the SQL data exporter query.

Example of data exporter query with auth_key parameter. http://192.168.10.12/sdcard/cpt/app/data_exporter.php?table=Test&auth_key=abcdef12345 where

192.168.10.12 = the controller IP address Table=Test = table name in the SQL Lite database, test. Auth_key=abcdef12345 = abcdef12345 is the auth_key generated via the auth_key menu.

***Notes*** Auth_key is COMPULSORY when graphics is deploy with 16th Dec 2016 or later CPT Tools.

23

FS Series SQLite v1.0

Data Exporter Troubleshooting

Query return a help guide Whenever a query DOES NOT match the database or parameters a help guide is return in the web browser. Usually there is a typo in the query. The query does not check alphabet capitalization. Upper case and lower case does not matter.

The help guide is also a reference table tabulating all query parameters supported.

Auth Key error If an invalid auth key is used the exporter will return an error saying that the auth key is invalid. Please make sure the auth key is correct. You can obtain the auth key via CPT account management. A good practice is copy and paste to avoid typo.

24

FS Series SQLite v1.0

SQL History Chart in CPT graphics

SQL Lite table data can be display in CPT web graphics. This feature only available with CPT graphics. Assuming you already know CPT graphics with a couple steps you are able to display data stored in SQL Lite to chart form in no time.

Each history chart can display up to 4 data in a time. Each data must retrieve from the same table.

Step 1 Make sure all the SQL tables and columns are configure properly according to above chapter.

Step 2 In the CPT graphic page drag and drop a historyLineChart widget.

Step 3 Click the history line chart widget to display the properties. Put in the table name and column name. **Note that the table name property is the SQL table name and NOT the table object name. ** **Note that the colNameOfLine1 property is the SQL column name and NOT the column object name. **

Insert the table name in this property.

Insert the column name in this property.

25

FS Series SQLite v1.0

The property labelOfLine1 is the display label name in the history chart when view in web browser.

Step 4 Remember to perform a full deploy or deploy for every changes made.

26

FS Series SQLite v1.0

Step 5 To view the History Chart login to the controller web.

X-axis scale is automatically scaled according data min and max value. Y-axis scale is automatically scaled according to the date time filter option. Several time range options are provided for filtering purpose.

27

FS Series SQLite v1.0

Step 6 The chart can be zoom in by click and drag the require time range.

28

FS Series SQLite v1.0

Time Zone Appendix To use the time zone string, copy the ID and paste into the query. Example, copy this “Africa/Abidjan” without the quotes and paste into the query as below. http://192.168.10.11/sdcard/cpt/app/data_exporter.php?table=Test&columns=dt,Float&dt_period=yesterday&dt _tz=Africa/Abidjan

ID STD ABBR STD NAME GMT offset Africa/Abidjan GMT GMT +00:00:00 Africa/Accra GMT GMT +00:00:00 Africa/Addis_Ababa EAT EAT +03:00:00 Africa/Algiers CET CET +01:00:00 Africa/Asmera EAT EAT +03:00:00 Africa/Bamako GMT GMT +00:00:00 Africa/Bangui WAT WAT +01:00:00 Africa/Banjul GMT GMT +00:00:00 Africa/Bissau GMT GMT +00:00:00 Africa/Blantyre CAT CAT +02:00:00 Africa/Brazzaville WAT WAT +01:00:00 Africa/Bujumbura CAT CAT +02:00:00 Africa/Cairo EET EET +02:00:00 Africa/Casablanca WET WET +00:00:00 Africa/Ceuta CET CET +01:00:00 Africa/Conakry GMT GMT +00:00:00 Africa/Dakar GMT GMT +00:00:00 Africa/Dar_es_Salaam EAT EAT +03:00:00 Africa/Djibouti EAT EAT +03:00:00 Africa/Douala WAT WAT +01:00:00 Africa/El_Aaiun WET WET +00:00:00 Africa/Freetown GMT GMT +00:00:00 Africa/Gaborone CAT CAT +02:00:00 Africa/Harare CAT CAT +02:00:00 Africa/Johannesburg SAST SAST +02:00:00 Africa/Kampala EAT EAT +03:00:00 Africa/Khartoum EAT EAT +03:00:00 Africa/Kigali CAT CAT +02:00:00 Africa/Kinshasa WAT WAT +01:00:00 Africa/Lagos WAT WAT +01:00:00 Africa/Libreville WAT WAT +01:00:00 Africa/Lome GMT GMT +00:00:00 Africa/Luanda WAT WAT +01:00:00 Africa/Lubumbashi CAT CAT +02:00:00 Africa/Lusaka CAT CAT +02:00:00 Africa/Malabo WAT WAT +01:00:00 Africa/Maputo CAT CAT +02:00:00

29

FS Series SQLite v1.0

Africa/Maseru SAST SAST +02:00:00 Africa/Mbabane SAST SAST +02:00:00 Africa/Mogadishu EAT EAT +03:00:00 Africa/Monrovia GMT GMT +00:00:00 Africa/Nairobi EAT EAT +03:00:00 Africa/Ndjamena WAT WAT +01:00:00 Africa/Niamey WAT WAT +01:00:00 Africa/Nouakchott GMT GMT +00:00:00 Africa/Ouagadougou GMT GMT +00:00:00 Africa/Porto-Novo WAT WAT +01:00:00 Africa/Sao_Tome GMT GMT +00:00:00 Africa/Timbuktu GMT GMT +00:00:00 Africa/Tripoli EET EET +02:00:00 Africa/Tunis CET CET +01:00:00 Africa/Windhoek WAT WAT +01:00:00 America/Adak HAST HAST -10:00:00 America/Anchorage AKST AKST -09:00:00 America/Anguilla AST AST -04:00:00 America/Antigua AST AST -04:00:00 America/Araguaina BRT BRT -03:00:00 America/Aruba AST AST -04:00:00 America/Asuncion PYT PYT -04:00:00 America/Barbados AST AST -04:00:00 America/Belem BRT BRT -03:00:00 America/Belize CST CST -06:00:00 America/Boa_Vista AMT AMT -04:00:00 America/Bogota COT COT -05:00:00 America/Boise MST MST -07:00:00 America/Buenos_Aires ART ART -03:00:00 America/Cambridge_Bay MST MST -07:00:00 America/Cancun CST CST -06:00:00 America/Caracas VET VET -04:00:00 America/Catamarca ART ART -03:00:00 America/Cayenne GFT GFT -03:00:00 America/Cayman EST EST -05:00:00 America/Chicago CST Central Standard -06:00:00 Time America/Chihuahua MST MST -07:00:00 America/Cordoba ART ART -03:00:00 America/Costa_Rica CST CST -06:00:00 America/Cuiaba AMT AMT -04:00:00 America/Curacao AST AST -04:00:00 America/Danmarkshavn GMT GMT +00:00:00 America/Dawson PST PST -08:00:00 America/Dawson_Creek MST MST -07:00:00 America/Denver MST Mountain Standard -07:00:00

30

FS Series SQLite v1.0

Time America/Detroit EST EST -05:00:00 America/Dominica AST AST -04:00:00 America/Edmonton MST MST -07:00:00 America/Eirunepe ACT ACT -05:00:00 America/El_Salvador CST CST -06:00:00 America/Fortaleza BRT BRT -03:00:00 America/Glace_Bay AST AST -04:00:00 America/Godthab WGT WGT -03:00:00 America/Goose_Bay AST AST -04:00:00 America/Grand_Turk EST EST -05:00:00 America/Grenada AST AST -04:00:00 America/Guadeloupe AST AST -04:00:00 America/Guatemala CST CST -06:00:00 America/Guayaquil ECT ECT -05:00:00 America/Guyana GYT GYT -04:00:00 America/Halifax AST AST -04:00:00 America/Havana CST CST -05:00:00 America/Hermosillo MST MST -07:00:00 America/Indiana/Indianapolis EST EST -05:00:00 America/Indiana/Knox EST EST -05:00:00 America/Indiana/Marengo EST EST -05:00:00 America/Indiana/Vevay EST EST -05:00:00 America/Indianapolis EST EST -05:00:00 America/Inuvik MST MST -07:00:00 America/Iqaluit EST EST -05:00:00 America/Jamaica EST EST -05:00:00 America/Jujuy ART ART -03:00:00 America/Juneau AKST AKST -09:00:00 America/Kentucky/Louisville EST EST -05:00:00 America/Kentucky/Monticello EST EST -05:00:00 America/La_Paz BOT BOT -04:00:00 America/Lima PET PET -05:00:00 America/Los_Angeles PST Pacific Standard -08:00:00 Time America/Louisville EST EST -05:00:00 America/Maceio BRT BRT -03:00:00 America/Managua CST CST -06:00:00 America/Manaus AMT AMT -04:00:00 America/Martinique AST AST -04:00:00 America/Mazatlan MST MST -07:00:00 America/Mendoza ART ART -03:00:00 America/Menominee CST CST -06:00:00 America/Merida CST CST -06:00:00 America/Mexico_City CST CST -06:00:00 America/Miquelon PMST PMST -03:00:00

31

FS Series SQLite v1.0

America/Monterrey CST CST -06:00:00 America/Montevideo UYT UYT -03:00:00 America/Montreal EST EST -05:00:00 America/Montserrat AST AST -04:00:00 America/Nassau EST EST -05:00:00 America/New_York EST Eastern Standard -05:00:00 Time America/Nipigon EST EST -05:00:00 America/Nome AKST AKST -09:00:00 America/Noronha FNT FNT -02:00:00 America/North_Dakota/Center CST CST -06:00:00 America/Panama EST EST -05:00:00 America/Pangnirtung EST EST -05:00:00 America/Paramaribo SRT SRT -03:00:00 America/Phoenix MST Mountain Standard -07:00:00 Time America/Port-au-Prince EST EST -05:00:00 America/Port_of_Spain AST AST -04:00:00 America/Porto_Velho AMT AMT -04:00:00 America/Puerto_Rico AST AST -04:00:00 America/Rainy_River CST CST -06:00:00 America/Rankin_Inlet CST CST -06:00:00 America/Recife BRT BRT -03:00:00 America/Regina CST CST -06:00:00 America/Rio_Branco ACT ACT -05:00:00 America/Rosario ART ART -03:00:00 America/Santiago CLT CLT -04:00:00 America/Santo_Domingo AST AST -04:00:00 America/Sao_Paulo BRT BRT -03:00:00 America/Scoresbysund EGT EGT -01:00:00 America/Shiprock MST MST -07:00:00 America/St_Johns NST NST -03:30:00 America/St_Kitts AST AST -04:00:00 America/St_Lucia AST AST -04:00:00 America/St_Thomas AST AST -04:00:00 America/St_Vincent AST AST -04:00:00 America/Swift_Current CST CST -06:00:00 America/Tegucigalpa CST CST -06:00:00 America/Thule AST AST -04:00:00 America/Thunder_Bay EST EST -05:00:00 America/Tijuana PST PST -08:00:00 America/Tortola AST AST -04:00:00 America/Vancouver PST PST -08:00:00 America/Whitehorse PST PST -08:00:00 America/Winnipeg CST CST -06:00:00 America/Yakutat AKST AKST -09:00:00

32

FS Series SQLite v1.0

America/Yellowknife MST MST -07:00:00 Antarctica/Casey WST WST +08:00:00 Antarctica/Davis DAVT DAVT +07:00:00 Antarctica/DumontDUrville DDUT DDUT +10:00:00 Antarctica/Mawson MAWT MAWT +06:00:00 Antarctica/McMurdo NZST NZST +12:00:00 Antarctica/Palmer CLT CLT -04:00:00 Antarctica/South_Pole NZST NZST +12:00:00 Antarctica/Syowa SYOT SYOT +03:00:00 Antarctica/Vostok VOST VOST +06:00:00 Arctic/Longyearbyen CET CET +01:00:00 Asia/Aden AST AST +03:00:00 Asia/Almaty ALMT ALMT +06:00:00 Asia/Amman EET EET +02:00:00 Asia/Anadyr ANAT ANAT +12:00:00 Asia/Aqtau AQTT AQTT +04:00:00 Asia/Aqtobe AQTT AQTT +05:00:00 Asia/Ashgabat TMT TMT +05:00:00 Asia/Baghdad AST AST +03:00:00 Asia/Bahrain AST AST +03:00:00 Asia/Baku AZT AZT +04:00:00 Asia/Bangkok ICT ICT +07:00:00 Asia/Beirut EET EET +02:00:00 Asia/Bishkek KGT KGT +05:00:00 Asia/Brunei BNT BNT +08:00:00 Asia/Calcutta IST IST +05:30:00 Asia/Choibalsan CHOT CHOT +09:00:00 Asia/Chongqing CST CST +08:00:00 Asia/Colombo LKT LKT +06:00:00 Asia/Damascus EET EET +02:00:00 Asia/Dhaka BDT BDT +06:00:00 Asia/Dili TPT TPT +09:00:00 Asia/Dubai GST GST +04:00:00 Asia/Dushanbe TJT TJT +05:00:00 Asia/Gaza EET EET +02:00:00 Asia/Harbin CST CST +08:00:00 Asia/Hong_Kong HKT HKT +08:00:00 Asia/Hovd HOVT HOVT +07:00:00 Asia/Irkutsk IRKT IRKT +08:00:00 Asia/Istanbul EET EET +02:00:00 Asia/Jakarta WIT WIT +07:00:00 Asia/Jayapura EIT EIT +09:00:00 Asia/Jerusalem IST IST +02:00:00 Asia/Kabul AFT AFT +04:30:00 Asia/Kamchatka PETT PETT +12:00:00 Asia/Karachi PKT PKT +05:00:00 33

FS Series SQLite v1.0

Asia/Kashgar CST CST +08:00:00 Asia/Katmandu NPT NPT +05:45:00 Asia/Krasnoyarsk KRAT KRAT +07:00:00 Asia/Kuala_Lumpur MYT MYT +08:00:00 Asia/Kuching MYT MYT +08:00:00 Asia/Kuwait AST AST +03:00:00 Asia/Macao CST CST +08:00:00 Asia/Macau CST CST +08:00:00 Asia/Magadan MAGT MAGT +11:00:00 Asia/Makassar CIT CIT +08:00:00 Asia/Manila PHT PHT +08:00:00 Asia/Muscat GST GST +04:00:00 Asia/Nicosia EET EET +02:00:00 Asia/Novosibirsk NOVT NOVT +06:00:00 Asia/Omsk OMST OMST +06:00:00 Asia/Oral WST WST +05:00:00 Asia/Phnom_Penh ICT ICT +07:00:00 Asia/Pontianak WIT WIT +07:00:00 Asia/Pyongyang KST KST +09:00:00 Asia/Qyzylorda KST KST +06:00:00 Asia/Qatar AST AST +03:00:00 Asia/Rangoon MMT MMT +06:30:00 Asia/Riyadh AST AST +03:00:00 Asia/Saigon ICT ICT +07:00:00 Asia/Sakhalin SAKT SAKT +10:00:00 Asia/Samarkand UZT UZT +05:00:00 Asia/Seoul KST KST +09:00:00 Asia/Shanghai CST CST +08:00:00 Asia/Singapore SGT SGT +08:00:00 Asia/Taipei CST CST +08:00:00 Asia/Tashkent UZT UZT +05:00:00 Asia/Tbilisi GET GET +04:00:00 Asia/Tehran IRT IRT +03:30:00 Asia/Thimphu BTT BTT +06:00:00 Asia/Tokyo JST JST +09:00:00 Asia/Ujung_Pandang CIT CIT +08:00:00 Asia/Ulaanbaatar ULAT ULAT +08:00:00 Asia/Urumqi CST CST +08:00:00 Asia/Vientiane ICT ICT +07:00:00 Asia/Vladivostok VLAT VLAT +10:00:00 Asia/Yakutsk YAKT YAKT +09:00:00 Asia/Yekaterinburg YEKT YEKT +05:00:00 Asia/Yerevan AMT AMT +04:00:00 Atlantic/Azores AZOT AZOT -01:00:00 Atlantic/Bermuda AST AST -04:00:00 Atlantic/Canary WET WET +00:00:00 34

FS Series SQLite v1.0

Atlantic/Cape_Verde CVT CVT -01:00:00 Atlantic/Faeroe WET WET +00:00:00 Atlantic/Jan_Mayen CET CET +01:00:00 Atlantic/Madeira WET WET +00:00:00 Atlantic/Reykjavik GMT GMT +00:00:00 Atlantic/South_Georgia GST GST -02:00:00 Atlantic/St_Helena GMT GMT +00:00:00 Atlantic/Stanley FKT FKT -04:00:00 Australia/Adelaide CST CST +09:30:00 Australia/Brisbane EST EST +10:00:00 Australia/Broken_Hill CST CST +09:30:00 Australia/Darwin CST CST +09:30:00 Australia/Eucla CWST CWST +08:45:00 Australia/Hobart EST EST +10:00:00 Australia/Lindeman EST EST +10:00:00 Australia/Lord_Howe LHST LHST +10:30:00 Australia/Melbourne EST EST +10:00:00 Australia/Perth WST WST +08:00:00 Australia/Sydney EST EST +10:00:00 Europe/Amsterdam CET CET +01:00:00 Europe/Andorra CET CET +01:00:00 Europe/Athens EET EET +02:00:00 Europe/Belfast GMT GMT +00:00:00 Europe/Belgrade CET CET +01:00:00 Europe/Berlin CET CET +01:00:00 Europe/Bratislava CET CET +01:00:00 Europe/Brussels CET CET +01:00:00 Europe/Bucharest EET EET +02:00:00 Europe/Budapest CET CET +01:00:00 Europe/Chisinau EET EET +02:00:00 Europe/Copenhagen CET CET +01:00:00 Europe/Dublin GMT GMT +00:00:00 Europe/Gibraltar CET CET +01:00:00 Europe/Helsinki EET EET +02:00:00 Europe/Istanbul EET EET +02:00:00 Europe/Kaliningrad EET EET +02:00:00 Europe/Kiev EET EET +02:00:00 Europe/Lisbon WET WET +00:00:00 Europe/Ljubljana CET CET +01:00:00 Europe/London GMT GMT +00:00:00 Europe/Luxembourg CET CET +01:00:00 Europe/Madrid CET CET +01:00:00 Europe/Malta CET CET +01:00:00 Europe/Minsk EET EET +02:00:00 Europe/Monaco CET CET +01:00:00 Europe/Moscow MSK MSK +03:00:00 35

FS Series SQLite v1.0

Europe/Nicosia EET EET +02:00:00 Europe/Oslo CET CET +01:00:00 Europe/Paris CET CET +01:00:00 Europe/Prague CET CET +01:00:00 Europe/Riga EET EET +02:00:00 Europe/Rome CET CET +01:00:00 Europe/Samara SAMT SAMT +04:00:00 Europe/San_Marino CET CET +01:00:00 Europe/Sarajevo CET CET +01:00:00 Europe/Simferopol EET EET +02:00:00 Europe/Skopje CET CET +01:00:00 Europe/Sofia EET EET +02:00:00 Europe/Stockholm CET CET +01:00:00 Europe/Tallinn EET EET +02:00:00 Europe/Tirane CET CET +01:00:00 Europe/Uzhgorod EET EET +02:00:00 Europe/Vaduz CET CET +01:00:00 Europe/Vatican CET CET +01:00:00 Europe/Vienna CET CET +01:00:00 Europe/Vilnius EET EET +02:00:00 Europe/Warsaw CET CET +01:00:00 Europe/Zagreb CET CET +01:00:00 Europe/Zaporozhye EET EET +02:00:00 Europe/Zurich CET CET +01:00:00 Indian/Antananarivo EAT EAT +03:00:00 Indian/Chagos IOT IOT +06:00:00 Indian/Christmas CXT CXT +07:00:00 Indian/Cocos CCT CCT +06:30:00 Indian/Comoro EAT EAT +03:00:00 Indian/Kerguelen TFT TFT +05:00:00 Indian/Mahe SCT SCT +04:00:00 Indian/Maldives MVT MVT +05:00:00 Indian/Mauritius MUT MUT +04:00:00 Indian/Mayotte EAT EAT +03:00:00 Indian/Reunion RET RET +04:00:00 Pacific/Apia WST WST -11:00:00 Pacific/Auckland NZST NZST +12:00:00 Pacific/Chatham CHAST CHAST +12:45:00 Pacific/Easter EAST EAST -06:00:00 Pacific/Efate VUT VUT +11:00:00 Pacific/Enderbury PHOT PHOT +13:00:00 Pacific/Fakaofo TKT TKT -10:00:00 Pacific/Fiji FJT FJT +12:00:00 Pacific/Funafuti TVT TVT +12:00:00 Pacific/Galapagos GALT GALT -06:00:00 Pacific/Gambier GAMT GAMT -09:00:00 36

FS Series SQLite v1.0

Pacific/Guadalcanal SBT SBT +11:00:00 Pacific/Guam ChST ChST +10:00:00 Pacific/Honolulu HST HST -10:00:00 Pacific/Johnston HST HST -10:00:00 Pacific/Kiritimati LINT LINT +14:00:00 Pacific/Kosrae KOST KOST +11:00:00 Pacific/Kwajalein MHT MHT +12:00:00 Pacific/Majuro MHT MHT +12:00:00 Pacific/Marquesas MART MART -09:30:00 Pacific/Midway SST SST -11:00:00 Pacific/Nauru NRT NRT +12:00:00 Pacific/Niue NUT NUT -11:00:00 Pacific/Norfolk NFT NFT +11:30:00 Pacific/Noumea NCT NCT +11:00:00 Pacific/Pago_Pago SST SST -11:00:00 Pacific/Palau PWT PWT +09:00:00 Pacific/Pitcairn PST PST -08:00:00 Pacific/Ponape PONT PONT +11:00:00 Pacific/Port_Moresby PGT PGT +10:00:00 Pacific/Rarotonga CKT CKT -10:00:00 Pacific/Saipan ChST ChST +10:00:00 Pacific/Tahiti TAHT TAHT -10:00:00 Pacific/Tarawa GILT GILT +12:00:00 Pacific/Tongatapu TOT TOT +13:00:00 Pacific/Truk TRUT TRUT +10:00:00 Pacific/Wake WAKT WAKT +12:00:00 Pacific/Wallis WFT WFT +12:00:00 Pacific/Yap YAPT YAPT +10:00:00

Technical Support

For technical issue, please contact respective region support channel.

Worldwide and Asia Pacific Support : [email protected] Americas Support : [email protected] Europe Support : [email protected]

37