Table of Contents

Advertisement

Quick Links

ezeio
user manual
Manual version 170314
ezeio
models AAC – AAF
Page 1 of 121

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the AAC and is the answer not in the manual?

Questions and answers

Summary of Contents for Ezeio AAC

  • Page 1 ™ Manual version 170314 ezeio models AAC – AAF ™ Page 1 of 121...
  • Page 2: Ezeio™ User Manual Important Information

    This product is designed for use indoors and only with the supplied AC adapter. Unplug the AC adapter before opening the cover. The ezeio™ is a low voltage device. Never connect high voltage to the inputs or outputs. MicroLAN: Never use connectors or wires designed phone networks to connect MicroLAN devises.
  • Page 3: Registration

    Registration This product is identified by a unique serial number and a registration code on the front of the unit. You will need this information to communicate with the product. When activating the unit, you will also be assigned an account number. Make a note of this important information below Account Number: Serial Number:...
  • Page 4: Table Of Contents

    Creating accounts and users Overview.....................9 Creating a new account...............9 Add an ezeio to an existing account..........10 Adding users to an existing account..........10 Moving or removing an ezeio from an account........10 Connections and installation ™ Things to consider before installing the ezeio .........11 ezeio™...
  • Page 5 Control via SMS (cellphone texting)..........70 Control Commands................71 Server API API access and security..............73 Live status in JSON format via REST API........75 Historical data access in JSON format via REST API......75 Controlling the ezeio ™ via REST API..........76 Spreadsheet integration..............81 Automatic export (push)..............83 Script language Script introduction................88...
  • Page 6 Communication functions...............108 Library functions................111 System events..................114 Specifications ezeio ™ ....................117 Configuration and programming.............118 Server Communication..............118 Warranty Manufacturers warranty statement..........119 Liability disclaimer................119 Standards compliance Applicable standards...............120 Page 6 of 121...
  • Page 7: Introduction

    Introduction Thank you for purchasing the ezeio ™ What is the ezeio ™ The ezeio is a complete solution for monitoring, alarming, control and ™ automation of commercial and industrial equipment. The ezeio hardware connects to sensors, meters, thermostats, VFD’s and ™...
  • Page 8: Model Information

    When configured with a built-in GSM Cellular modem, the ezeio ™ communicate with the Internet via cell service. This requires service from a local cell provider and only GSM systems are supported. The ezeio will ™ use the physical Ethernet path if it is available, but automatically switches to GSM if it can't communicate over Ethernet.
  • Page 9: Creating Accounts And Users Overview

    This ™ allows you to access all of them from a single login. See Add an ezeio to an existing account, page 10. All users on the same account will have access to all the ezeio units on that account.
  • Page 10: Add An Ezeio To An Existing Account

    Moving or removing an ezeio from an account As mentioned above, an ezeio can only be added to an account if it is not already assigned to an account. To remove an ezeio from an account, go to Configure →...
  • Page 11: Connections And Installation

    See the technical specifications for acceptable ranges. The ezeio ™ is a low voltage device. Never connect high voltage to the inputs or outputs, and only use the supplied AC adapter to power the ezeio ™ Do not run wires that connects to the ezeio ™...
  • Page 12: Ezeio™ Overview

    ™ ezeio external connectors ™ Internal features Basic communication setup (Antennas only on GSM model) (SIM and antenna connectors only on GSM model) Page 12 of 121...
  • Page 13: Power Connection

    Internet. If you use your own Ethernet cable, ensure the length does not exceed 30m (100ft). There are two jacks on the ezeio™ where an Ethernet cable fits. Take care connecting your Ethernet cable to the one with a metal frame, marked “Ethernet”...
  • Page 14 Please make sure all settings are correct before applying them. Incorrect settings will cause communication to fail. As soon as the settings are synced the ezeio ™ will loose contact with the servers via the DHCP network. It can now be moved to the network that requires fixed IP.
  • Page 15: General Purpose Inputs

    An internal 100 Ohm resistor connects the input terminal See pg. 18 to Common. Raw reading is about 10000 at 30mA (3uA per count) ™ To access the input jumper settings, open the ezeio by removing the four black screws. Page 15 of 121...
  • Page 16: Inputs - Pulse, Switch Or Resistive Sensors

    (-) or ground. Three wire KYZ sensors (Form C) are read as two wire sensors (Form A); ™ connect K to the ezeio’s C-terminal, and Y to one of the ezeio inputs. ™ The ezeio input will detect pulses as short as 1ms.
  • Page 17: Inputs - External Voltage Sources

    ™ is designed for low voltage connections. Never connect high ™ voltage to the ezeio inputs. A series resistor can be added to increase the range of an input. Use a 100kOhm resistor to allow measuring up to 20V. Use a 390kOhm resistor to allow measuring up to 50V.
  • Page 18: Inputs - Current Sensors

    ◀ + DC The +DC output provides nominally 1V less than the voltage on the DC input. The standard DC adapter shipped with the ezeio ™ outputs just over 12V. If a higher voltage is required for the current loop sensor, either use a different adapter for the ezeio ™...
  • Page 19: Relay Outputs

    Relay outputs There are two relay outputs on the ezeio ™ . Each output has three screw terminals; NC (Normally Closed) RE (center) NO (Normally Open) The RE terminal is connected to NC when the relay is not energized, and to NO when the relay is energized.
  • Page 20: Microlan

    MicroLAN MicroLAN allows you to connect temperature and RH sensors to the ezeio ™ The system automatically detects the type of sensor connected, and adds it to the configuration. The ezeio ™ supports up to 20 devices connected to the MicroLan connector.
  • Page 21 MicroLAN connector pinout The MicroLAN connector looks similar to phone connectors, but note that MicroLAN is using all six conductors, while phone networks typically only use four. Never use connectors or wires designed phone networks to connect MicroLAN devises. Phone connectors usually alter the polarity, and will permanently damage MicroLAN devices, voiding the warranty.
  • Page 22: Modbus / Serial Port

    RTU network, and the network can be up to 1000m (3000ft) long. Note that the wire length may in some cases be limited by the device specifications and environmental factors. RS-485/Modbus RTU port pinout View into ezeio ™ ModBus port Pin on...
  • Page 23 . Refer to the device manual for details on how to configure the device. ™ In some cases the device can be powered from the ezeio . In other cases the device needs a separate power supply. Refer to the device manual for details.
  • Page 24 Note however that just because some device supports Modbus, it doesn’t mean it automatically works with any other Modbus device. The ezeio has support for over 50 different types of devices. Contact us for the complete list and to explore adding support do devices not already on the list.
  • Page 25: Gsm/3G/Gps Module (Select Models Only)

    Inserting the SIM card To insert the SIM card in the holder inside the ezeio™, remove the four screws retaining the enclosure cover, and slide in the SIM card in the holder, (as shown below).
  • Page 26 The supplied GSM antenna should be mounted on the right-hand antenna connector. Mount the ezeio ™ with the antenna in a vertical position for best reception. Always disconnect power from the ezeio ™ when installing or removing SIM card or antennas. Do not power up the ezeio ™...
  • Page 27 These settings are different depending on your wireless carrier. You should have received this information with your SIM card if they are required. Note that these settings have to be downloaded into your ezeio ™ before the GSM will work. The ezeio ™...
  • Page 28 (not included, visit our website for details) To use the GPS feature, attach the GPS antenna to the left antenna connector and mount the antenna with a clear view of the sky. The ezeio ™ may need to be restarted to recognize the GPS antenna.
  • Page 29: Web Interface Overview

    ™ the data from that ezeio is directly available from the web. The web interface can be accessed even if the ezeio ™ is not online, but only historical data will be available, and any changes to the configuration will be saved and committed to the ezeio ™...
  • Page 30 ™ Right click the ezeio entry to access the drop-down menu: ™ Flush Config will download all configuration into the ezeio unit. This may be useful if a lot of configuration changes has been made to make sure all ™...
  • Page 31: Dashboard Screen Dashboards

    Dashboard screen Dashboards After logging in, the Dashboard is always shown first. Here you can graphically display data from any ezeios on the account. There are two Dashboard views; Personal and Account. The Personal view is only accessible by the logged in user, while the Account view is common for all users on the same account.
  • Page 32: Status Screen

    Status screen The Status screen shows the live status for a single ezeio ™ at a time. The available ezeios are listed in the left on the screen and their online status is shown as a green dot if online with an Ethernet connection or a warning triangle if offline.
  • Page 33: Live Input Status

    Live input status All configured inputs of the ezeio ™ are listed in the Inputs table. column shows a rough bar graph of the last minutes' data with the Graph most recent data to the right. columns show the current converted value of the sensor...
  • Page 34: Thermostat Status

    As of this printing, the only supported thermostat is the T-32-P, available from eze System. Event log ™ At the bottom of the screen, the ezeio event log is shown. Any recent events are temporarily highlighted. Downloading log data Select the input or inputs to download data from by checking the boxes, next to the input name, in the input list, and enter the desired time span in the boxes or select from the quick presets, drop-down menu.
  • Page 35: Viewing Graph Of Log Data

    Viewing graph of log data Select the input or inputs you want to graph by checking the boxes in the input list. Then enter the desired time span in the boxes or select From from the quick presets, drop-down menu. Click the button to view the graph.
  • Page 36: Configure Screen

    Service status and settings Service status ™ The top section shows when the service for this ezeio unit will expire, the number of SMS/Voice alarms remaining this month, and the number of API requests remaining for the current 24h interval.
  • Page 37: Ezeio ™ Configuration

    Configuration ™ Configure screen allows access to all the configurable parameters of each ezeio ™ Configuration can be done even if the ezeio ™ is not accessible (off line). The ™ changes are then committed as soon as the ezeio comes back on line.
  • Page 38: Inputs

    Inputs Each ezeio ™ can support up to 40 inputs. Each input has the following settings: Input name A user defined name to identify the input. Unit The unit for the input, for example “Volt”, “kW” or “C”. Decimals to show The number of decimals to show when the converted value of this input is displayed.
  • Page 39 Input type – custom If “Custom” is selected, more fields are displayed to allow customization; Raw-to-Unit, Unit-to-Raw, Digital Pulse and Text Status (See below). Input Raw to unit The math used to convert from the raw input value to a real world unit. The symbol “x”...
  • Page 40 The shortest pulse that can be detected in this mode is 2ms. When in Digital pulse input mode, the count register will automatically count up for each pulse. The Digital Pulse input type is supported by the four inputs on the ezeio ™ and the eze System “Wireless I/O Expander”.
  • Page 41 Text status This allows displaying a text in addition to the value. For example, one may want to display “OPEN” and “CLOSED” based on the input value being low/high. This would be achieved like so: Thus, if the value is 100 or less, the text “OPEN” will be displayed, and if the value is 101 up to 10000, the text “CLOSED”...
  • Page 42 Input #2 Input #3 ezeio, Input #3 Input #4 ezeio, Input #4 Input #5 Supply voltage (DC Power supplied to ezeio) Input #6 CPU core temperature in Celsius (to 1 tenth degree) Input #7 GPS Latitude, degrees * 1 000 000...
  • Page 43 Input conversion helper dialogs (calibration) links are visible when the Linear analog Pulse Input type and is set to conversion custom These will open conversion helper dialog boxes useful for calibration. The Use key will copy the math from the dialog into the Input Raw to Unit and Unit to input Raw conversion fields.
  • Page 44: Calibrating Analog Inputs

    In this example we will calibrate a current sensor, but the procedure is the same regardless of the type of sensor or unit. 1. Connect the sensor to the ezeio ™ or the expansion unit and make sure we get a reading of the sensor on the status page in the column.
  • Page 45 4. Apply the second reference current, let it stabilize and again note the RAW and the reference current. In our example, we read raw 58 at 0.015A. We now have the data points we need. Navigate to the -> Configure Input screen and select the input.
  • Page 46: Alarm Settings

    Alarm settings For every input, up to four (4) alarms can be defined. Each alarm has the following settings: Alarm name A user defined name to identify the alarm. Threshold for alarm The threshold where the alarm should activate. Alarm holdoff Delay in seconds.
  • Page 47: Actions

    Actions Actions describe what should happen when an alarm condition occurs or restores. There may be up to four (4) actions on each alarm, and four (4) actions on each restore. The settings for each action are as follows: Action name A user defined name for the action Action type Depending on the action type...
  • Page 48: Conditions

    Conditions Conditions give you the option of executing an action only if certain conditions are fulfilled. Conditions add second layer of logic to alarms and actions. For simple alarms, the conditions should be left at No Condition When selecting the condition type, additional controls are shown depending on the condition type.
  • Page 49: Outputs

    Status page. ezecontrol.com When triggered, the ezeio ™ will send a single command to the selected output. This method will control the relay state until the next command is received.
  • Page 50: Schedules

    Schedules The ezeio ™ supports up to 20 schedules. Schedules can be used in condition logic to only cause actions during specified times, or can be used to directly trigger actions. Each schedule can define up to four intervals, and each interval can be active on any day of the week.
  • Page 51: Thermostats / Thermostat Schedules

    (4) thermostat schedules, and each thermostat schedule can control up to four (4) physical thermostats, with a total maximum of 10 thermostats per ezeio ™ To associate a thermostat to a thermostat schedule, first define the...
  • Page 52: Devices

    Devices branch in the configuration tree lists all the defined hardware Devices in the system. The first item is always the ezeio ™ itself. Do not delete or rename the ezeio ™ controller device. It’s required by the system. The other items are MicroLan, Wireless, and Modbus devices that the system has knowledge about.
  • Page 53 4 minutes. Short (1 sec) flashes indicate normal operation and communication with the ezeio ™ A paired expansion unit will only communicate with its designated ezeio ™ Multiple radio networks can overlap, but each expansion unit will only communicate with a single ezeio ™...
  • Page 54: Script (Premium Feature)

    Script is a premium feature that can be enabled for advanced programming ™ of the ezeio . Please contact eze System if you wish to use this feature. If enabled, a “Script” option will be displayed in the resource tree and an online script editor is made available.
  • Page 55: System

    This code is used to authorize new users to the account, or to register the ™ ezeio with a different account. To allow a different account owner to take over the ezeio ™ , that user will need this code. In addition, the ezeio ™...
  • Page 56 Allow firmware update ™ If unchecked, firmware updates will not be applied to this ezeio . This may be desirable in critical systems, where the installation has passed extensive testing. Usually we recommend leaving this checked. Allow config update If unchecked, no configuration changes will be downloaded to the ezeio ™...
  • Page 57 These fields need to be set to the APN, login and password of the GSM operator. Contact your GSM service provider for details. An incorrect APN / login name / password will prevent the ezeio ™ from communicating. Make sure you have the correct settings.
  • Page 58 ™ to the current ezeio ™ ™ This will overwrite any settings and data that exists on the current ezeio For Cloning to work, the current ezeio ™ need a service setting equal or higher than the ezeio ™...
  • Page 59: Actions

    Actions Inputs, Schedules and Timers can trigger actions. List of possible actions: Action Type Description See Page Send Message Send a message to email, SMS, voice call, third party system and more Log Event Record an event in the event log Set Output Set or reset a local output Set Counter...
  • Page 60: Action: Send Message

    Voice 01161555512344 Outside US: (AU) #AAA-000 Control API call Same account: (to another ezeio) #AAA-000:password Different Account: SMS recipients must begin with a plus ( ) and Country Code. Voice recipients outside the USA must begin with & Country Code.
  • Page 61 Notes about the Message field After selecting from the drop Send message Log event Action type down menu, a default message will be generated containing the Alarm name and Input name. You may replace the message with your own text. The message can be up to 4000 characters long, and can contain special references to insert values from the system.
  • Page 62 To send a text message, enter the recipients phone number, starting with plus ) and the country code. Note that the country code is always required. The message will include some boilerplate information (ezeio serial, location etc). To remove the boilerplate text and only send the message text, put the message in double quotes (“).
  • Page 63 To send a HTTP POST, enter the URL of the server starting with http:// or https://. The message will be sent with the following POST fields: POST Field Name Description serial ezeio serial number controllername ezeio name controllerlocation ezeio location source...
  • Page 64 011 immediately followed by the country code. ™ The voice message will include boilerplate information, such as ezeio name/serial, instructions on how to acknowledge etc. To send only the text in the message field, enclose the message in double quotes (e.g. “message”).
  • Page 65 . In the message box, enter the desired parameters separated by comma. See the REST control API section, page 68 for more information. Example to turn on output 2 for 10 seconds on ezeio ™ XYZ-987: Destination: “...
  • Page 66: Action: Log Event

    Action: Log event This action will simply log the message in the ezeio ™ event log together with a time stamp. Action: Set output This action will directly affect an output on the ezeio ™ or connected expansion device. After selecting a relay, two options are available: allows you to select the state of the output.
  • Page 67: Action: Modbus Coil Control

    Action: ModBus coil control This action allows you turn on or off a the coil of a selected ModBus device. Action: ModBus write register This action allows you to write a value to a specific write register of a selected ModBus device. Page 67 of 121...
  • Page 68: Account Screen

    ™ on this account fails/restores ™ contact with the server, or when an ezeio changes from communicating over Ethernet to GSM and back. Copies of these emails are also sent to the ™...
  • Page 69: Users

    Users tab lists all users on the account, except for the logged in user. If Users there are no other users registered on the account, this list will be empty. To add users, please refer to Creating accounts and users on page 9. To see and edit information about a specific user, click on the row in the list.
  • Page 70: Sending Control Commands Email

    If unsuccessful the system will reply referencing the error as communication, command syntax, or invalid ezeio ID or password. Control via SMS (cellphone texting) Just as the ezeio can be controlled through email, SMS (Short Message Service) can also be used. The message should be sent to:...
  • Page 71: Control Commands

    Unlike email commands, there will be no reply message if the ezeio ID or password is invalid. Control Commands Using Email or Text messages (SMS), the following control commands are available: Command Function Parameters OUTPUT Directly controls an output Output name, State, [cutoff] If cutoff is not given, 0 is default.
  • Page 72 Page 72 of 121...
  • Page 73: Server Api

    In order to use the API features, the ezeio ™ must have a service level that includes enough API calls for the specific application. Click the Configure tab to set an appropriate service level for each ezeio. Page 73 of 121...
  • Page 74 This avoids sending access credentials unencrypted even if SSL is not used, although we recommend using SSL whenever possible. The user name is the ezeio ™ serial number (e.g. 'XYZ-987'), and the password is the read-passcode for status.php and log.php calls, and the control-passcode for calls to control.php...
  • Page 75: Live Status In Json Format Via Rest Api

    If set to 1, the server will return the cached status rather than sending a request to the ezeio. This will speed up the request and reduce the data traffic to the ezeio (useful if ezeio is on cellular). The cache is updated roughly every minute while ezeio is on a physical connection, and every 10 minutes while on cellular.
  • Page 76: Controlling The Ezeio ™ Via Rest Api

    Controlling the ezeio via REST API ™ The following API call allows direct control of several features: https://ezecontrol.com/api/control.php The password needs to be the “Control passcode” from the system setting. The following parameters are required in each call: Parameter Range...
  • Page 77 Set input counter : 'counter' Use this command to change the value in one of the counter registers. Parameter Range Description counter 1 – 40 The number of the input/counter value 0 – 2^31 The new value of the counter Example, set the counter value on input 5 to 12345: https://ezecontrol.com/api/control.php? counter=5&value=12345...
  • Page 78 Set timer: 'timer' Use this API to set up an existing timer. Parameter Range Description timer 1 – 20 The timer number to set up year (optional) 2000 – 3000 Year. If not set, default is “any”. month (optional) 1 – 12 Month.
  • Page 79 Control thermostat: 'thermostat' This API controls a thermostat directly To leave a setting unchanged, just omit the parameter from the command. Parameter Range Description thermostat 1 – 31 Thermostat modbus polling address setHeat 150-400 (1/10 Celcius) Heating setpoint in 1/10 degrees.
  • Page 80 Modify thermostat schedule: 'thermostatschedule' This API controls the settings of a thermostat schedule. To leave a setting unchanged, just omit the parameter from the command. Parameter Range Descriptiont thermostatschedule 1 – 4 Thermostat schedule number (required) 1 (Monday) – 7 (Sunday) Comma separated list of which days in the schdeule that the change will apply to (required) interval 1 (morning), 2 (day),...
  • Page 81: Spreadsheet Integration

    Spreadsheet integration Microsoft Excel® and LibreOffice Calc can be linked to the ezeio ™ system so that the spreadsheet automatically updates with current data. To use this feature, make sure the → → Configure System Read Passcode set and that the service level allows API access.
  • Page 82 LibreOffice Calc These instructions apply to version 5.1 of LibreOffice. Other versions may differ. Sheet→Link to External Data... In Calc, select Enter the URL to your controller data in the URL of External Data field using the format below, and press Enter. Source https://ezecontrol.com/api/inputsnapshot.php? ser=SERIAL&pw=PASSWORD...
  • Page 83: Automatic Export (Push)

    JSON push schema The message sent to the remote server has the following structure: serial", "ser" : "ezeio "name of the input in the ezeio config", "inp" : "ID of the input as set by the Point ID field", "pid" : "the unit of the...
  • Page 84 ); ?> For simplicity, this example has passcode hardcoded, but the user may support multiple ezeios with unique passcodes by retrieving the ezeio serial number from the JSON data before checking the hash validity. Page 84 of 121...
  • Page 85 BuildingOS export BuildingOS by Lucid Design Group provides advanced visualization and analytics of energy usage suitable for larger organizations and kiosk type applications. More information is available at http://luciddesigngroup.com/buildingos To export data to BuildingOS, enter the following: Field Content Example Import/Export BuildingOS export Service URL...
  • Page 86 “Devices” and “Data points” you want to use. Each device in the Exosite system will be assigned a “CIK” code, and each data point will have a “RID” code. You will need to enter both these codes in the ezeio ™ system to export data.
  • Page 87 FTP export ™ The ezeio System can upload a FTP file once a day with hourly data. An example of an uploaded file is shown below The file name is formatted like this: YYYY-MM-DD_UPLOADHOUR_CONTROLLERID_INPUTNO.txt FILE “2014-02-20_00_AAC-200_21.txt” –---------------------------------- 2014-02-19 01 METER123 13176...
  • Page 88: Script Language Script Introduction

    ) be able to learn http://ezesys.com/file/9 the specifics of the language. Help with programming We recognize that mastering the scripting features of the ezeio ™ requires significant skill in analytics and programming. This manual and related documentation is not enough to learn how to program from scratch. You will...
  • Page 89 String handling ™ The PAWN language defines strings as being either packed or unpacked. The ezeio supports only packed strings, meaning that each character is stored in a single byte. Please refer to the PAWN documentation for further details.
  • Page 90: Script Function Library

    PAWN language guide, including most of the functions for floating point math and the “proposed function library”. In addition, the following functions are also supported: Index of ezeio specific functions Configuration interface functions SetOutput(outputno, cadence, [cutoff])........92 GetOutputState(outputno)............92 GetInputValue(inputno)...............93...
  • Page 91 float2cell(Float:value)..............100 Float:cell2float(value)..............100 qsort(count, data[])..............101 fqsort(count, Float:data[])............101 Language functions heapspace()................102 numargs()...................102 getarg(argumentno, [index])............102 setarg(argumentno, [index], value)..........102 String functions tolower(character)...............103 toupper(character)..............103 strlen(string)................103 strcopy(dest[], const source[], [maxlength])........103 strcmp(string1[], string2[], [ingorecase], [length])......104 strcat(dest[], source[], [maxlength])..........104 strdel(string[], start, end).............104 strfind(string[], sub[], [ignorecase], [index]).........105 strins(dest[], src[], index, [maxlength])........105 strmid(dest[], source[], start, end, [maxlength])......105 strval(string, [index])..............106 valstr(dest[], value)..............106...
  • Page 92: Configuration Interface Functions

    Configuration interface functions SetOutput(outputno, cadence, [cutoff]) Use this function to directly control an output. Parameter Range Description outputno 1 – 40, required Which output to control. cadence 0 – 7, required 0 = off 1 = on 2 = 100ms on, 900ms off 3 = 1s on, 9s off 4 = 2s on, 59s off 5 = 100ms on, 100ms off (5Hz blink)
  • Page 93: Getinputvalue(Inputno)

    GetInputValue(inputno) Reads the raw value from an input. Parameter Range Description inputno 1 – 40, required Which input to read from. The return value is the raw reading from the input. The unit depends on the type of input : Standard 0-10V input: Return raw mV, 0=0V, 10000=10V Current 0-30mA input:...
  • Page 94: Getinputcount(Inputno)

    GetInputCount(inputno) Reads the counter value from an input. Parameter Range Description inputno 1 – 40, required Which input to read from. The return value is the current counter value for the input. Example: Read the counter value from input 2 and assign the value to a variable. mycnt = GetInputCount(2);...
  • Page 95: Getschedulestate(Scheduleno)

    1 = GSM, 2 = GPRS, 3 = EDGE, 4 = WCDMA, 5 = HSDPA, 6 = HSUPA, 7 = HSPA sysGMTOfs Offset in seconds from GMT sysEpochTime Current time in Epoch (seconds) sysUpTime Number of seconds since ezeio reset last Page 95 of 121...
  • Page 96: Calendar And Time Functions

    Calendar and time functions GetSecond() Return the current second from the real-time clock. This function does not have any parameters. The return value is the current second, in the range 0-59. GetMinute() Return the current minute from the real-time clock. This function does not have any parameters.
  • Page 97: Settimer([Timerno], Timeoutms, Repeat)

    SetTimer([timerno], timeoutms, repeat) Set a millisecond timer. The timer will generate a @Timer event when the timeout is reached. Note that these timers are different from the timers in the configuration. Parameter Range Description timerno 1 – 4, optional Which timer to set. If this parameter is omitted, the function will use the first timer that is not running.
  • Page 98: Mathematical Functions

    Mathematical functions Float:fabs(Float:value) Return the absolute value of a floating point value Parameter Description value Value to return absolute value of Returns the absolute value fround(Float:value, [method]) Round a floating point value to an integer Parameter Description value The value to round method The rounding method to use.
  • Page 99: Float:fpow(Float:value, Float:exponent)

    Float:fpow(Float:value, Float:exponent) Raise a floating point value to a power Parameter Description value The value to raise power The exponent. May be 0 or negative. Float:fsin(Float:value) Return the sine of a value Parameter Description value The value to calculate sine of Float:fcos(Float:value) Return the cosine of a value Parameter...
  • Page 100: Random([Max])

    random([max]) Return a random value Parameter Description Max (optional) The max value of the random value, default to 65536. Returns a random value between 0 and the given max. If the max parameter is 0, the random value is between -2^31 and +2^31. min(value1, value2) Return the smaller of value1 and value2.
  • Page 101: Qsort(Count, Data[])

    qsort(count, data[]) Sorts the array in ascending order. Parameter Description count The number of values in the array (min 2, max 500) data[] Array of cell values to be sorted. Returns 1 if successful. Returns 0 if there was an error Example: new a[5] = {45, 23, 89, 3, 7};...
  • Page 102: Language Functions

    Language functions heapspace() Return the size of the heap, in bytes. This function does not have any parameters. numargs() Return the number of arguments in a function call. This function does not have any parameters. getarg(argumentno, [index]) Return one argument from a function call. Parameter Description argumentno...
  • Page 103: String Functions

    String functions tolower(character) Return the lowercase version of the character code. Parameter Description character The character to convert to lowercase toupper(character) Return the upperrcase version of the character code. Parameter Description character The character to convert to uppercase strlen(string) Return the length of a string. Parameter Description string...
  • Page 104: Strcmp(String1[], String2[], [Ingorecase], [Length])

    strcmp(string1[], string2[], [ingorecase], [length]) Compare two strings Parameter Description string1, string2 Two strings to compare Ignorecase If “true”, case is ignored (optional) Length (optional) The max number of characters to compare The return value is: -1 if string1 comes before string2 0 if the strings are equal 1 if string1 comes after string2 strcat(dest[], source[], [maxlength])
  • Page 105: Strfind(String[], Sub[], [Ignorecase], [Index])

    strfind(string[], sub[], [ignorecase], [index]) Search for a substring within a string Parameter Description string The string to search in The string to search for ignorecase If set to true, case is ignored in the search. Defaults to false. (optional) index (optional) The position in string to start searching from (starting at 0), defaults to 0 strins(dest[], src[], index, [maxlength]) Insert a string into another string...
  • Page 106: Strval(String, [Index])

    strval(string, [index]) Evaluate a string and return an integer Parameter Description string The string to evaluate index (optional) The position in string to start evaluating from Returns the integer value found in the string valstr(dest[], value) Convert an integer value to a string Parameter Description dest...
  • Page 107: Strformat(Dest[], Maxlen, Format[]

    strformat(dest[], maxlen, format[], [...]) Format a string and insert placeholders Parameter Description dest The destination buffer maxlen The maximum number of characters in the resulting buffer (defaults to the size of the dest buffer) format A string that describes the format of the result …...
  • Page 108: Communication Functions

    Communication functions PDebug(format[], ...) Send a string to the debug output on the server Parameter Description format String with optional placeholders Zero or more values to insert in the placeholders This function requires a working server link. It sends a string to the debug output screen of the server.
  • Page 109: Modbussend(Address, Command, Length, Data[])

    ModbusSend(address, command, length, data[]) Send out a command to a Modbus device Parameter Description address The destination address of the modbus device (1-63) command The modbus command. One of: READ_COILS (0x01) READ_INPUTS (0x02) READ_REGISTERS (0x03) READ_INPUT_REGISTERS (0x04) WRITE_COIL (0x05) WRITE_REGISTER (0x06) READ_EXCEPTION (0x07)
  • Page 110: Setthermostat(Channel, Address, Register, Value, Lock)

    setThermostat(channel, address, register, value, lock) Control a single thermostat. Parameter Description channel The communication port where the thermostat is connected. One of: MICROLAN MODBUS LOCALRF Note – currently only MODBUS is supported. address The bus address of the thermostat register The thermostat register to change.
  • Page 111: Library Functions

    Library functions Library functions are declared as stock functions and will be included automatically if referenced from the user script. Using a stock function will add significantly to the size of your code, so make sure your script does not grow beyond 64k compiled. GetTime(time[time_s], [UTC=false]) This function will fill in the supplied time[time_s] structure with current local date and time.
  • Page 112: Sunposition(Utctime[Time_S], Float:latitude, Float:longitude, &Float:elevation, &Float:azimuth)

    SunPosition(UTCtime[time_s], Float:latitude, Float:longitude, &Float:elevation, &Float:azimuth) This function returns the relative position of the sun, given time and position. Parameter Description UTCtime[time_s] Structure with time and date. Note that this needs to be UTC time. latitude Latitude of observation point, in degrees from equator. Positive numbers are north. longitude Longitude of observation point, in degrees from Greenwich meridian.
  • Page 113: Float:dewpoint(Float:rh, Float:t, [Farenheit=False])

    Float:Dewpoint(Float:RH, Float:T, [Farenheit=false]) This function calculates the dew point. Parameter Description Relative humidity, between 0.00 and 1.00 Temp Temperature, degrees Celcius (or Farenheit if Farenheit parameter is true) Farenheit (optional) false (default) input and output is in degrees Celcius. true input and output is in degrees Farenheit. Example usage: // Read temperature in F from MicroLan sensor on IN6 new Float:T = GetInputValue(6) / 8.8888 - 67.0;...
  • Page 114: System Events

    System events @Tick(uptime) The @Tick function is called automatically once every second. Parameter Description uptime Number of seconds since last system reset. @Alarm(sourcetype, sourceid, alarmno) The @Alarm function is called each time an alarm event is generated from the configuration. The function is called even if there are no actions configured, and regardless of conditions on any existing actions.
  • Page 115: Timer(Timerno)

    @Timer(timerno) The @Timer function is called when a millisecond timer set with the “SetTimer” function expires. Note that the millisecond times has nothing to do with the timers in the configuration settings. Parameter Description timerno The number of the timer that expired (1-4) @ModbusReply(address, command, length, data[]) This function is called when a reply is received from a Modbus device as a result of a call to ModbusSend.
  • Page 116: Serialdata(Length, Data[])

    @SerialData(length, data[]) The @SerialData function is called when a packet of bytes has been received on the serial port. A packet is considered complete when there is at least five byte-times of no data after any byte(s). Note that this only applies when the serial port is is Custom Protocol mode (see page 58).
  • Page 117: Specifications Ezeio

    Specifications ezeio ™ Size 153 x 100 x 38 mm (6.0” x 3.9” x 1.5”) mounting ears extend 15mm (0.6”) on each side. Hole centers are 166mm (6.5”) apart. Allow at least 40mm (1.6”) margin for connectors Weight Approx 220g (0.5lb) Power 8-25VDC, <2W average, 7W peak...
  • Page 118: Configuration And Programming

    IP/UDP, proprietary encrypted payload Port Outbound port UDP 8844 Inbound port UDP 28672-32767 (random per session) Encryption 128 bits, unique key per ezeio Traffic Typical 5-15MB / month (depends on usage) Local buffer 8000 samples per channel, non-volatile Page 118 of 121...
  • Page 119: Warranty

    Warranty Manufacturers warranty statement ™ All ezeio and accessories (the products) manufactured by eze System, Inc. are warranted for two years against manufacturing issues. The warranty is void if the products have been physically altered or subjected to conditions beyond the physical limits of the devices.
  • Page 120: Standards Compliance Applicable Standards

    - 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. ezeio-W and ezeio-GW models contain FCC ID: X7J-A11072401 ezeio-G and ezeio-GW models contain FCC ID: UDV-1103022011008...
  • Page 121 Visit the eze System, Inc. website at www.ezesys.com The eze trademark, ezeio and the eze system design are property of eze System, Inc. Any other trademarks referenced are properties of their respective owner. © eze System, Inc 2008-2017 www.ezesys.com...

This manual is also suitable for:

Aaf

Table of Contents