DLI ISO32 User Manual

DLI ISO32 User Manual

Web power switch

Advertisement

Quick Links

DLI ISO32 User's Guide
1.7.24.0

Advertisement

Table of Contents
loading
Need help?

Need help?

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

Questions and answers

Summary of Contents for DLI ISO32

  • Page 1 DLI ISO32 User’s Guide 1.7.24.0...
  • Page 2 12 Firmware upgrade 13 Date/time 14 AutoPing 15 Energy monitor 16 System log 17 Locking down the controller 18 Resetting settings to defaults 19 Specifications 20 Open source code 21 Technical support 22 Limited five year warranty DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 3 CONTENTS 1 Overview Congratulations on selecting the DLI Web Power Switch, a surge-suppressed, AC power switch with automatic reboot and programmable power control. Check out the main product features. Some more technical specifications are available as well. Be sure to check the...
  • Page 4: Product Features

    2 Product features 2 Product features Congratulations on selecting the DLI Web Power Switch, a surge-suppressed, AC power switch with automatic reboot and programmable power control. Its features include: • 8 Switched Outlets + 2 Unswitched Outlets Eight individual switch control circuits are provided with single outlets. Outlets are spaced for plugs and adapters.
  • Page 5: Package Contents

    • Web Power Switch Pro. • Power Cord. • RP-SMA WiFi Antenna. Please contact the freight carrier immediately if your package appears opened or damaged in transit. Call DLI at (408) 330-5599 for tech support, service, and hardware upgrades. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 6: Basic Setup And Use

    IP, such as 192.168.0.50. 4.3.1 Windows IP setup Before adding an IP, close all programs and browsers. After the link is established, you can enable DHCP. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 7 • Enter a compatible static IP such as 192.168.0.50. • Click Apply and close windows. • Ping the power switch to confirm the connection. • Point your browser to 192.168.0.100 • Log in. Detailed instructions are at http://digital-loggers.com/ip_setup.html DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 8 9. Press the "Add" button; this new IP is added the list. 10. Close all windows for the configuration to take effect. 11. Start your Browser and type 192.168.0.100 in the URL field. The default user name and password are "admin" (lower case) and "1234". DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 9 Note that in this and many other pages, logical blocks can be collapsed by clicking in their right-hand corner, and later expanded by clicking 4.6 Common page layout You can navigate the menu links to access the controller's features: DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 10 "refresh" button to update the on-screen status display after changing settings. A screen refresh setting is provided on the Setup page. 4.8 Logout Browser logout is automatic when a session is closed or after a time-out period. You can use a menu link to log-out in advance. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 11: Lcd And Keypad

    • (OFF). During normal operation, the ISO32 LCD and keypad interface can be in one of the following modes: • Outlet mode, which displays status of and allows to manipulate the unit's outlets; • Meter mode, which allows to read measurements of the ISO32 meters and calibrate them;...
  • Page 12: Meter Mode

    Meter calibration submode The calibration progress and method are shown on the bottom line. For example, for voltages and currents, single- point scale calibration is used, so "1/1 SC" (first and only point, scale) is displayed. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 13: Network Mode

    LAN netmask Netmask 255.255.255.0 LAN gateway IP address 0.0.0.0 (none) LAN DNS server IP address 0.0.0.0 (none) LAN MAC 7C:E1:FF:..:..:.. WiFi enabled Yes/No WiFi SSID String DLI..WiFi mode Access Point/Station Access point WiFi encryption None/WPA/WPA2 DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 14 Pressing saves the current value and starts network reconfiguration if needed. The display isn't updated in- stantly, and you need to refresh it by pressing . You can cancel editing at any time by pressing DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 15: Setup Page

    You can use characters from the full Unicode character set; they'll be transliterated for display on the LCD if neces- sary. 6.2 Delays Delay Wrong password lockout minutes. (0-60) ON sequence delay seconds. (1-255) Cycle delay seconds. (1-255) Brown-out re-latch delay seconds. (1-255) Refresh screen every minutes. (1-255) Enable screen refresh Submit Delays DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 16 You may link to other power controllers, your own web pages, or remote web sites by entering up to four URLs and descriptions in the Setup page. For example, enter "Site Two Power Controller" in the description field with a URL of "http://192.168.0.250/". These links appear on every page of the main web UI. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 17 NET WILL CONNECT AFTER ENABLING THIS. If connectivity is lost, use a local connection such as a laptop with a crossover cable to restore your original network settings; you can also use the LCD and keypad for that. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 18 DNS servers; rather, after the unit obtains a DHCP lease, the parameters will be displayed for reference. It is recommended to configure the DHCP server to provide a static lease for the ISO32 using its MAC address (also displayed).
  • Page 19 You may press the "protect" button to lock the network settings (this will also affect the external API settings). Once locked, the network settings cannot be changed except by pressing the physical reset button on the front of the unit. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 20: Access Control

    OFF / ON CYCLE Outlet 4OFF Switch ON Outlet 7OFF Switch ON Outlet 8OFF Switch ON Logout Help 3 sec. User outlet control screen Individual outlets can be manipulated as usual. The top links allow switching all accessible outlets on, off or cycling them. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 21: Miscellaneous Settings

    Notice the outlet numbering difference for non-administrative users vs the previous generations of EPCR/LPC con- trollers. In ISO32, non-administrative users see all outlets accessible to them numbered consecutively starting from 1; previously the indices used to match those seen by the administrator. Naive outlet state manipulation links like http://192.168.0.100/outlet?3=ON...
  • Page 22 WiFi password which would be useless if capitalized. You can specify the preferred image format for plots and meters. PNG is the default, as it's supported by most browsers, but SVG can provide a much cleaner result on recent ones. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 23 On its own, a power switch isn't very smart. Programmers can easily add custom functionality by using the built-in Lua-based scripting language in power controllers. 7.1 Hardware requirements Lua-based scripting is available in all ISO32 controllers. Beeper, backlight, LCD, voltage and current monitoring functions are limited to products with appropriate hardware installed. 7.2 Configuration The scripting server has the following configurable parameters:...
  • Page 24 Local functions declared this way must be placed before any function that uses it. If you want to move the definition elsewhere and don't need to call the function before the definition, you can use the following structure: local my_internal_function ... functions that use my_internal_function in bodies ... function my_internal_function() ... statements go here ... DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 25 Snippets are script fragments not part of the main script, stored for later use or shipped with the device. Script snippets Load Save Remove default.lua_table_demo function test_table_manipulations() local a={"1","2","3"} assert(a[3]=="3") assert(a[4]==nil) table.insert(a,"x") assert(a[4]=="x") table.insert(a,1,"y") assert(a[1]=="y") assert(a[2]=="1") assert(a[5]=="x") table.remove(a,2) assert(a[1]=="y") assert(a[2]=="2") assert(a[4]=="x") assert(a[5]==nil) table.sort(a,function(u,v) return u>v end) assert(table.concat(a)=="yx32") LOG("Table tests passed") User script snippet editor DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 26 You can use and even freely mix them as you wish, but only the modern API will receive further development atten- tion. Some features are exposed only via the modern API because they had no corresponding legacy commands. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 27 — synchronize time with server specified by IP address or hostname in quotes; you can TIME() without arguments to synchronize with "pool.ntp.org" if the DNS is configured correctly. You still need to enclose the function contents in a function name() ... as explained above. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 28 A condition is a table which may (but does not have to) contain any set of the following keys: • , which stands for the year; year • , which stands for month (1 is January); month • , which stands for day of month; DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 29 : boolean reflecting outlet physical state when read, modifying transient state when written; • outlet[N].locked : read-only boolean indicating if the outlet is locked. Global constants true false , respectively, useful to make scripts more readable, like outlet[1].state=on DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 30 : system time zone; • config.hardware_id : unit hardware model; • config.oid : object identifier of unit model; • config.version : firmware version; • config.outlet_label : kind of endpoint manipulated by the unit (Outlet/Relay). DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 31 As usual in Lua, for identifier-like keys you can alternatively use the dot syntax: sticky.variable="some value to save between script edits" The above example then becomes: function init_sticky() sticky.local_var=0 sticky.global_var=0 function thread_fn() while true do sticky.local_var=sticky.local_var+1 sticky.global_var=sticky.global_var+1 function thread_creator() for i=1,10 do thread.run(thread_fn) DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 32 -- error external["x"]=outlet -- error external[5]=external -- error external table otherwise behaves like sticky ; in particular, variables created this way are not persisted across reboots; see below for those that are. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 33 • meter.values[key].custom : boolean indicating if the value is custom (user-defined); • meter.values[key].bus : always nil for ISO32; • : boolean indicating if the value is internal (and should not appear in meter.values[key].internal the web UI); • meter.values[key].get_history : function which can be called to obtain historical data points.
  • Page 34 (with the argument false ) the Nth AutoPing; • autoping.items[N].addresses : array of hostnames or IP addresses of the Nth AutoPing item's elements; • autoping.items[N].outlets : array of outlets controlled by the Nth AutoPing item; DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 35 For example, the following code event.send("coil 1 energized",{coil_index=1,coil_state=true}) will send an event that can be matched by, among others, the following notification rules: DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 36 Only a subset of the API's objects support change notifications; they include outlet objects outlet[i] , meter values meter.values[k] and AutoPing items autoping.items[i] The following example function can be used to attempt to mirror physical state of outlet 1 to outlet 2: DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 37 Of course we could have used e.g. event.send instead of , or flipped another outlet, etc. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 38 Lua tables in the input which represent empty JSON arrays. For example, local data={a={},b={}} log.notice("%s",util.json.encode(data,{[data.b]=true})) produces: {"a":{},"b":[]} Conversely, util.json.decode returns an empty array table as a second value if it is nonempty (that is, if there were empty arrays in the input). DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 39 , etc. which accept a format string argument and any extra arguments it requires, format the string using string.format internally and log it at the corresponding severity level, e.g. local i=5 local name="Fridge" log.notice("Switching on %d (%s)",i,name) DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 40: Editing Scripts

    Even with the scripting step delays, it is possible to create a script which will rapidly cycle a relay. This rapid cycling could result in a over current condition, tripped breaker, or stress to the power controller or attached equipment. Please be reasonable! DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 41: Event Notification

    Their numeric values are defined so that a higher severity is larger, so condition like severity =CRITICAL behaves like what you'd expect. core Lua functions are accessible from the context as well, should you need them. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 42 • username (for authenticating to the server); • password (for authenticating to the server); • transport encryption: – "smtps" for SMTP wrapped completely in TLS; – "starttls" for SMTP+STARTTLS command; – "" (the empty string) for no encryption. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 43 • SNMPv2c TRAPs and INFORMs; • SNMPv3 TRAPs and INFORMs. The difference between a TRAP and an INFORM is that an INFORM requires confirmation of receipt. Thus, the target test function can tell if the message has been delivered. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 44 Its OID is 1.3.6.1.4.1.45770.0.1; this can be specified directly for SNMPv2c or SNM Pv3, or as an enterprise-specific (generic trap type=6) DLI ("enterprise OID"=45770) trap #1 (specific trap type=1). 8.2.3.2 Security settings SNMPv1 and SNMPv2c use the 'community' security model which essentially identifies users by a shared secret which is sent over the network in plain text ('public' and 'private' being the most popular 'secrets').
  • Page 45 SNMP v3 TRAPs and INFORMs accept an snmp_trap_oid event property to override the trap OID; it must be a string. They also accept the snmp_values event property as described above. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 46 CA root certificates (it may point to a single file listing all of them, or to a directory containing the certificate files in OpenSSL format, and defaults to /etc/ssl/certs DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 47: Notification Rules

    This is notably distinct from a not auth_allowed condition, which will match all sorts of messages which don't have an auth_allowed property. Tricks which allow running code in the condition (as opposed to the action) are possible but discouraged. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 48: Notification Event Types

    INFO auth_login@auth_ip session closed id="dli.auth.session_closed" Notification event types Underlined items (both in the message and in the 'extra properties' column) specify properties which can be checked for. You can hover them for more detailed descriptions. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 49 You can choose which units to display temperature, illuminance and energy values in. This affects both textual and graphical web UI display. Note that it's a presentation option only; values are internally stored, and transferred via REST-like API in standard SI units (degrees Kelvin, lux and joules, respectively) regardless of the customization. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 50 "relax ... checks" checkboxes to skip the checks in cases where the method or content type indicates that the request couldn't have been sent by a browser without JavaScript. 10.2 REST-like API Name (view detailed description) User-visible relay name string DLI Controller represents a value in persistent storage write is denied if not administrative user no synchronization requirements Up to Relay object Allowed methods: PATCH REST-like API demo DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 51: Upnp Settings

    10.4 UPnP settings UPnP outlet binding configuration Enable Alternate name Profile Unique ID Outlet 1 b76cb5710 belkin_wemo_socket Outlet 2 b76cb5711 belkin_wemo_socket Outlet 3 b76cb5712 belkin_wemo_socket Outlet 4 b76cb5713 belkin_wemo_socket Outlet 5 belkin_wemo_socket b76cb5714 Outlet 6 belkin_wemo_socket b76cb5715 Outlet 7 belkin_wemo_socket b76cb5716 Outlet 8 b76cb5717 belkin_wemo_socket Submit UPnP settings DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 52: Snmp Settings

    ('.'). A leading dot may be used to emphasize that it's an absolute OID; however, all of the OIDs configurable in ISO32 are absolute unless otherwise stated explicitly, and the leading dot is not needed, therefore, it's not supported.
  • Page 53 'public' community string coming from the same subnet will be served as the 'powerReader' user. 10.6 SNMP energy object MIB support overview The Net-SNMP agent included in ISO32 has built-in support for several well-known MIBs, but none of them deal with power control. The power-control-related ENERGY-OBJECT-MIB is described in RFC 7460, and is supported in the following manner: •...
  • Page 54 'Minimal' to interact with the device using SNMPv2c and SNMPv1, or use SNMPv3 instead, which is the recommended and more secure alternative. 10.7 SNMP sample commands These examples assume you have your ISO32 at 192.168.0.100 with SNMPv3 user powerAdmin configured with...
  • Page 55 General MQTT settings ISO32 can function as an MQTT client, so you need to have a configured MQTT broker which it could connect to; then, other MQTT clients connected to the same broker could communicate with it (multi-broker configurations are also possible but out of scope of this document).
  • Page 56 MQTT payload format is not defined by a standard, so we explicitly define it here. Everything that can be controlled via MQTT in ISO32 is an outlet state, which can be ON or OFF. We encode ON as '1' (the single ASCII character '1') and OFF as '0'.
  • Page 57 -h 192.168.0.5 -t pcr12345/outlets/0/set -m 0 As mentioned above, alternate value forms, e.g. mosquitto_pub -h 192.168.0.5 -t pcr12345/outlets/0/set -m true mosquitto_pub -h 192.168.0.5 -t pcr12345/outlets/0/set -m on will also work as expected. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 58: Backing Up Settings

    Modified files are highlighted in green. Choose the setting files you want to save (unknown files are shown as "File "+filename) and click "Download". You may protect the security-sensitive parts of the configuration from being stored in a backup. Pressing the hardware reset button will be required to unlock. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 59: Firmware Upgrade

    Cancel Firmware upgrade page You can double-check the firmware version. If you wish to cancel the upgrade, it's best to explicitly press 'cancel' in the form so that the uploaded file could be cleaned up. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 60 Further activity is indicated by a cycling pattern of signs. Firmware upgrade progress indication After an upgrade has been completed, the unit is rebooted. The first boot may take longer than usual due to configuration updates. Post-firmware upgrade initialization indication DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 61 Internally, the time zone is stored in a format different from the display (it has a different meaning for ). You should take that into account when interpreting related REST API values and log output. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 62: Common Configuration

    10 minutes after reboot. If a script is to be triggered, any delays contained in the code being executed should be considered in determining the delay setting here so that the thread completes before the delay elapses. This timer starts at the execution of the thread started. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 63 You can select a scripting action to perform when the AutoPing item triggers (by default the selected outlets are cycled). The action must be a function defined in the scripting server, like function action_to_perform() or e.g. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 64 A similar situation will occur if you reconfigure the controller to use a new IP network from which old addresses are unreachable. Use the link:// scheme to check for local link loss. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 65 The events associated with item trial before enabling are self-explanatory: • item ... (addresses...) enable approved • item ... (addresses...) enable cancelled • item ... (addresses...) trial restarted due to address list changes DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 66: Energy Monitor

    Submit 120V 0.0A Meters Clicking on a meter allows to configure it. Meter properties Title: T emperature Data source: T emperature Minimal value: Width: Height: Pointer color: Scale: linear Number of decimal places: Save Basic meter configuration The basic meter properties include: DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 67 The sector properties include: • the name of the sector (currently unused); • the maximum value for the sector (and also the minimum value for the next sector); • the sector color, in hex web notation without '#'. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 68 Clicking on a plot allows to configure it. Plot properties Title: Bus A status Width: Height: Save Basic plot configuration The basic meter properties include: • the title; • the width in pixels; • the height in pixels. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 69 (which should be stricter than the soft limit), then the hard limit is obeyed. Several plot lines can be drawn on the same plot (they don't have to be proper lines but may have various shapes, see below). DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 70 (time). DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 71 The exception is the lowest interval which has no threshold point (but still has a level and a period). The "none" value is considered so distinct from all regular values that no hysteresis is possible, so it is also characterized by a level and a period only. The above sample configuration might look like this: DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 72 Alarm period: None Sample interval alert configuration Here, we trigger a level 1 alarm every minute if the voltage is below 100V and a level 2 alarm every 20 seconds if the value is above 140V. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 73: System Log

    Note that the system log buffer has a fixed size, and old entries are removed automatically as new ones appear. The display is periodically updated. You can use the logread command to read the same data in an SSH session. logread -f will display new entries in real time. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 74 — some protection bits active; • — all protection bits active. Clicking on the icon gives more detailed info: Firmware protection is disabled Notification settings protection is disabled Private configuration protection is enabled but ineffective: SSH is enabled, which could be used to bypass protection Firmware upload is allowed, specially crafted firmware could be used to bypass protection Administrator credentials protection is disabled Maintenance mode lock is enabled but ineffective: SSH is enabled, which could be used to bypass protection Firmware upload is allowed, specially crafted firmware could be used to bypass protection Protection from restore from backup is enabled but ineffective: SSH is enabled, which could be used to bypass protection Firmware upload is allowed, specially crafted firmware could be used to bypass protection Network settings protection is disabled Protection status details DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 75 CONTENTS 17.4 Unlocking protection You should use the reset button and select the "Clear lock bits" reset mode to clear protection bits. This, of course, requires physical access to the unit. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 76 ONLY MACHINES IN THE SAME SUBNET WILL BE ABLE TO CONNECT A FTER RESETTING TO DEFAULTS. If connectivity is lost, use a local connection such as a laptop with a crossover cable to restore your original network settings. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 77: Specifications

    Single unit 3.6 lbs excl. cord & packaging. WiFi Atheros 9331 2.4G 802.11n RP-SMA FCC Note: The ISO32 may only be used with • the manufacturer supplied antenna (Gain: 2.0dBi),or • a 50 Ohm antenna of equal or lesser gain. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 78: Open Source Code

    Purchasing a TLA and signing an NDA from Atheros are highly recommended before attempting any custom devel- opment; however, they aren't required to build the firmware (only the bootloader). DLI cannot provide warranty or technical support for modified units; this includes units with custom firmware. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 79: Technical Support

    • A description of the Ethernet devices connected to your unit, for example, a 10/100 PC and crossover cable. • A description of the WiFi devices connected to your unit, i.e. their manufacturers and model numbers. DLI ISO32 User’s Guide: 1.7.24.0...
  • Page 80: Limited Five Year Warranty

    DLI. DLI's entire liability and exclusive remedy as to defective hardware shall be, at DLI's option, either (a) return of the purchase price or (b) replacement or repair of the hardware that does not meet DLI's quality control standards and has been returned through proper RMA procedures. DLI's liability for repair or replacement is to DLI's customer ONLY.

Table of Contents