Tag Archive: Configuration

When configuring JNIORs, how you should configure them depends on what Series JNIOR you have. You’ll want to use the JNIOR Web Page for Series 4 JNIORs, and the Java Applet for Series 3 JNIORs.

JNIOR Web Page
Java Applet

The Java Applet is a local Java application that can be launched from the Support Tool for each Series 3 JNIOR, while the JNIOR Web Page is a browser accessible configuration for Series 4 JNIORs.  Series 3 JNIORs can’t open the JNIOR Web Page because they don’t support the necessary web files required to run the JNIOR Web Page from it. The Java Applet at one point was accessible from a browser, but due to security risks it was changed to be a separate application. Series 4 JNIORs do have the necessary files to open both the Java Applet and the JNIOR Web Page, but you should not use the Java Applet for Series 4 JNIORs. The applets cannot properly configure a Series 4 as the registry settings for many configuration settings are different than what the Series 3 used.

Digitally triggering inputs on the JNIOR can be usefully for testing setups that use these inputs to trigger automation. A way to do this is by inverting an input. When an input is inverted, its state gets set to the opposite of what it should be. This post goes over two ways to invert an input on the JNIOR; using the configuration tab in the JNIOR Web Pages, and setting the invert registry key from a command line. 

Web Page Input Inversion

Inverting an input is done easily from the JNIOR Web Page. You can easily get to the JNIOR’s web page by opening an internet browser of your choosing, and in the URL enter your JNIOR’s IP address. Once on the JNIOR Web Page, you’ll want to select the Configuration Tab. Under the Inputs section of this tab is where inputs can be inverted. Each input has a row of options for it, and one these options is an invert checkbox. When the invert checkbox is selected, that input is inverted!

Command Line Input Inversion

NOTE: Editing the Registry as described below is for the Series 4 JNIOR. When editing the Series 3 JNIOR registry, use the ‘registry’ command and edit the same registry key as shown below for the Series 4, except use True/False instead of Enabled/Disabled.

There may be a situation where you can’t access the JNIOR Web Page to do inversion. Luckily, you can still invert the input through a command line connection. You’ll first need to create a command line connection. An easy way to do this is from the JNIOR support tool, by right clicking a JNIOR in the Beacon tab and selecting Tools->Open Telnet.

Once the command line connection is made to the JNIOR, you can now use it to set the registry key to invert the input. For this example, we will invert input one. To do this after we log into the JNIOR we will use the ‘reg’ command to edit the registry, entering the path to the registry key along with the value we want to set it to. So since we want to invert input 1, the command to do so would be ‘reg IO/Inputs/din1/Inversion = enabled’. To disable it, you just set the same registry key to ‘disabled’. To do this for other inputs, just change the number after ‘din’ to the input you want inverted.

The JNIOR automation controller is a single board computing device supporting a variety of I/O. Once installed the product generally works tirelessly to perform its intended purpose. There is no need for routine user interfaces such as display, mouse and keyboard. When configuration, programming and maintenance tasks are required the user can access the device in a number of ways. One of those is the most general and capable. That is the WebServer User Interface or WebUI accessed through the network using a general purpose browser.


This WebUI is often referred to as our Dynamic Configuration Pages or DCP. The DCP acronym conflicts with other uses especially in the Cinema industry where it refers to the Digital Cinema Package that is used to deliver content (movies). So we now simply call it “The WebUI”.

This one ‘website’ allows you to completely manage your JNIOR. You can both control I/O and configure most of the system on various tabs here. This also provides a convenient means of moving files on and off of the unit. Even the Command Line Interface or Console is available, as one of the tabs provides a terminal simulation. The JNIOR must be wired to the network and assigned proper Internet Protocol (IP) addressing. You simply point the browser to it.


The WebUI supplied with JANOS v2.0 appears much the same as it has throughout the Series 4. One big change is that you can now resize the display by dragging the lower right corner. That might be particularly useful if you are working in the Console tab or exploring Folders containing numerous files. It also has obvious value in viewing the Syslog or About tab content.

A somewhat less obvious enhancement is the VT-100 capability that the Console tab now has to support the new built-in simple text editor command EDIT. This feature offers a means to edit small files and scripts directly on the JNIOR avoiding the need to extract the file to your computer, editing it there and then replacing it on the unit. That’s a tedious process especially if you are trying different things and making repeated changes to files. The editor can also provide a means by which you can page through a lengthy file or log.


A feature of the JNIOR WebServer is its ability to serve an entire website directly out of a single ZIP library file. This avoids a very common problem wherein the multiple files required by websites can easily get out of sync and cause page problems. On the JNIOR all of the files are in one package and stay there. All that is required to update the website including our WebUI is to replace one single file.

On Series 4 JNIORs running JANOS v1 the WebUI lives in the /flash/www.zip file. It is the default website offered by the unit. This works because the default WebServer root folder is /flash/www and the WebServer looks there first for requested files. If they are not found it then looks in any ZIP library file of the same name as the folder. So by default it would then look in www.zip.

You might think that if the JNIOR has a fully capable WebServer could you create a custom website for your specific application? Yes, you absolutely can. You likely wouldn’t want to lose the ability to access the configuration WebUI. Well that is easily accomplished by first moving the /flash/www.zip file to /flash/www/config.zip. Note the name change. Once this is done to access the Dynamic Configuration Pages you append the /config folder to the unit’s URL. The Webserver would look for the initial page in /flash/www/config and not finding it there then look in the config.zip file. This works even for sub-folders in the ZIP library file. Once you have done this you can now place your custom website in the root and it will become the default.

JANOS v2 now is supplied with the WebUI already relocated as described. By default the WebServer search path now includes the /flash/www/config folder. So if there is no custom default website defined the WebUI will automatically open.

The importance of this relocation relates to future updates. We need the ability to update the config.zip file. If you implement a custom website and want to take advantage of the single distribution file you would necessarily have to name it www.zip. You would likely not appreciate it if you overwrote your website in an update. So now we are proactively avoiding the issue. 

By the way, there are even more ingenious ways of setting up sets of custom websites on the JNIOR. If you are interested you can find out more through INTEG Support.

JANOS has implemented a set of time zones that are available but in no means is this a complete list.  There are many territories in the world that either do not observe the time zone that they geographically belong to or they have different rules.  Some locations differ the time zone rules by 30 or even just 15 minutes.  Sometimes governments alter their policies and change the rules that have been in place for years or decades.

This article will describe how to create a new time zone with a DST rule as described in the JANOS Registry Documentation under section 9.2.

The clock subsystem is generally configured using the DATE command. JANOS defines a set of time zones for use in displaying local time. These time zones may or may not utilize Daylight Savings Time (DST).

As there are 24 hours on our clock one might expect that there needs to be only 24 time zones. This however is not the case as some areas offset their clocks by just 30 minutes. In addition, some areas utilize DST while others do not. The following is the default set of time zones. This can be displayed at any time using the DATE -T command.

date command for JNIOR command line

This default list of time zones is likely incorrect for some areas across the globe. INTEG encourages users to let us know when a correction to the timezone tables might be appropriate. JANOS does provide a means by which you may define new time zones with or without DST rules. You may even correct an existing timezone. This is accomplished using one or more Time zones/<name> Registry entries.

Use of a website like timeanddate.com is very helpful for the validation and creation of time zones.

Here I will show you how to create a new Time Zone for Aukland New Zealand.  Timeanddate.com gives us all the information we need in this screenshot.

Information for timezone creation

We see that they are currently observing Daylight Savings Time and will be throughout the beginning of next year since New Zealand is in the Southern Hemisphere.  So now we can follow the following format to build a registry key for the new time zone we will create.

reg Timezones/<name> = <offset>, <desc>, <AbbStd> [, <AbbDst>,
       <stMon>, <stDay>, <stDoW>, <stTime>,
       <endMon>, <endDay>, <endDoW>, <endTime>, <dstOfs>]

We will need to use the full format in order to get the daylight savings time rules implemented. To do this we can enter the following at the command line.

reg timezones/NewZealand = "+1200, New Zealand/Aukland, NZST, NZDT, 
       SEP, 27, SUN, 200, 
       APR, 5, SUN, 200, 60"

The registry tab could also have been used to create the key. That would look like this…

In either case we get the same result. We can now issue the date -t command to see our newly created time zone.

date -t command for JNIOR command line

A reboot is needed to complete the registration of our newly created time zone.  After the reboot there is only one more thing to do.  Tell the JNIOR to use it.  For example, date NZST.

There you go!  The new time zone has been created and the JNIOR is now using it.  As mentioned above, it is recommended to tell INTEG of missing or incorrect time zones so that we can put it in the JNIOR but creating a custom time zone will get your JNIOR to start using the new rules immediately. 

As always, thanks for using the JNIOR!

The series 3 JNIORs used the Java Applet as a GUI. Years ago the browsers stopped supporting Java Applets due to security concerns. You are no longer able to open the series 3 Java Applet GUI in most browsers. You can still access it by launching it locally since it is installed as part of the JNIOR Support Tool. The security concerns over java applets are not present when launching the Java Application locally. Here is how to access the Java Applet for a JNIOR.

NOTE: The Java Applet GUI should only be used with series 3 JNIORs. The Java Applet GUI requires that your computer has Java installed. You can check if your computer has java by opening you command line and entering java -version. Here is a link to different JDK options.

First, make sure you have the JNIOR support tool downloaded. Here is a link for it.

Name Version Release Date Size MD5
JNIOR Support Tool v7.16 Jun 12 2024 6.2 MB b75a95c649dd507e069591709265f793

Once you have downloaded the Support Tool, you’ll want to open it and find the JNIOR you wish to access the Java Applet for in the Beacon tab. Then by right clicking it, you’ll then go to Tools/Classic Monitor, Configuration, Control Application option and select it.

After selecting this for, the Java Applet for your JNIOR should open.

Java Applet for Series 3 JNIORs

Either when using a certain custom application, or creating one on your own, there may be a want to set an application when a JNIOR turns on. Many applications people use have this functionality, like Cinema. Here is the process for setting an application to run on boot.

NOTE: Before you can set the run key, you have to make sure that the application is installed on your JNIOR. If you are installing a custom application not in an update project, when adding the application to the JNIOR you should place the file in the flash folder since not only is that where we reference the program in this example, but its where applications on the JNIOR are kept when they are loaded on through update projects. So if you are installing an update project, the file will automatically be placed in the flash folder.

The way to make a project start on boot is by creating a registry key in the run registry of the JNIOR you want the application to be on. To access the registry of a JNIOR, you need to either open the support tool and right click a JNIOR to open a web page, or type the JNIOR’s IP address into a web browser URL.

Once you are on the JNIOR’s webpage, you’ll want to click onto the Registry tab. Going through the registry, you’ll want to find the run registry, and there you will create a new registry key for your application.

Once you are in the run registry folder, you’ll click new at the top left which will display the following dialog box.

In the key section you’ll want to type the name of your application so it will look like run/(application name). In the content section, you’ll want to enter the line flash/(application name).jar. This will make it so that when you boot your JNIOR, application will appear in your flash folder along with other applications.

For example, if we had an application called ExampleProgram that we wanted to run on boot we would enter in the key field ExampleProgram so it would look like run/ExampleProgram. Then in the content field, you’d enter flash/exampleprogram.jar, since that is where we placed the application previously.

The application won’t start running after that registry key is set, you’ll have to reboot after to get it to start. Once that registry key is created though, anytime the JNIOR reboots the application will launch when the JNIOR loads back up!

When using protocols with a JNIOR, you can disable the login to not be prompted when using those protocols through the JNIOR Web Page. This is NOT RECOMMENDED because its makes the JNIOR unsecured.

To disable the login requirement for the JANOS Management Protocol or the JNIOR Protocol you will use the JNIOR Web Page. Once the web page is opened click on the Configuration tab. Then click on the Protocol section near the bottom of the column on the left. Now make your login selections using the checkboxes under the appropriate protocol.

Once you un-check that box, the login will no longer be needed for ANY connection to that port.

At some point you may want your JNIOR to always have an output close or pulse, and when you reboot a JNIOR, they get reset. This post will show you how to have your JNIOR automatically close outputs from startup. If you’re looking for different information on the DCP, or don’t know how to access it, you can look here.

To start, make sure you are able to access the DCP (Dynamic Configuration Page) of your JNIOR. Then you’ll want to go to the Configuration tab of the DCP. Here we will be accessing the outputs section.

Configuration tab in JNIOR Web Page

Here is where you can close or pulse outputs on startup. Simply add a zero to the Initial Action section for whichever channel you wish to close, and it will now always close that input on startup. To pulse the output on startup, simply add any positive value and it will pulse for that many milliseconds instead.

The JNIOR Web Page is the website served by the Series 4 JNIOR out of the box. Once you have powered your JNIOR, connected it to the network, and assigned it an IP Address you can access the JNIOR Web Page using your favorite browser. This website is contained in, and served from, the /flash/www.zip file on the JNIOR.

Input/Output Tab

You can use the JNIOR Web Page to monitor your JNIOR. Through the Input/Output tab you can see the status of each Digital Input and Output Relay. This tab offers two pages (listed down the left column). These are the Internal I/O and External I/O pages.

Internal I/O Section

If you log into an account with sufficient permissions you can control the relays. The appearance of this page can be configured through the Configuration tab. The labels can be redefined as might be appropriate for your application. You can remove unused inputs and outputs and even mask features such as usage metering if not of use.

External I/O Section

The External I/O refers to external modules that you may optionally use with your JNIOR. INTEG can supply a Power Relay module, analog modules for 10V or 4-20ma, and even temperature sensors. One or more of these may be daisy-chained on the Sensor Port. If you have any of those they can be monitored and controlled in the External section of the Input/Output tab.

Configuration Tab

The Configuration tab is available only to Administrator accounts. This provides a dozen and a half pages covering most every aspect of your JNIOR.

Display Section

The Display page configures settings that affect the appearance of the Input/Output Internal page. Here you may disable any channel which simply removes the channel from view on the Input/Output tab. This does not disable the function of the input or output. It merely allows you to hide unused or background channels. Similarly you can hide Counters, Usage Meters, Alarm indications and Controls. For relay outputs you can select the Pulse control instead of Toggle if appropriate. You may even alter the coloring used in showing the input or output state.

Note that each item of configuration is associated with a Registry Key. If you hold the mouse over a setting the related key is displayed in a Tooltip. Configuration settings that differ from default will appear in the Registry which can be viewed and edited directly using the Registry tab. More on that in a bit. While the mouse is hovering you may hit F1 to view the built-in Registry documentation.

Labels Section

The Labels page provides the ability to configure the text displayed on the Input/Output Internal page. In addition to Descriptions and I/O State labels you can change the units for the Counter.

This page is shown for the Model 410 which has 8 inputs and 8 outputs. The JNIOR Web Page will display different arrangements for the Model 412 and 414. The former having 12 relay outputs and only 4 inputs. The latter with 12 inputs and only 4 outputs.

Inputs Section

The Inputs page affects the function of each input. Here you can configure inversion, debounce and a number of other characteristics for each of the available inputs.

A Block Diagram is available through the provided link to help in visualizing input configuration. We can cover the details under another topic.

Counters Section

The Counters page sets counter configuration for each input. The JNIOR counts each activation of an input. Here you can configure how that is to happen and how it is displayed. You can scale a counter if each activation represented a number of items or a fractional amount of something. Here you can see the value of changing the displayed counter units which are configured on the Labels page.

Here you can also configure two different Alarm levels. Alarms are displayed on the Input/Output Internal page. They are also Events that can issue email notifications.

On this page you can also mouse over an input and click the displayed “X” to easily reset a counter to 0.

Outputs Section

The Outputs page provides state configuration for Usage Metering. The JNIOR tallies time for each activated input or output. This would potentially be useful for Preventative Maintenance. Here you can also set the default Pulse duration that would be used if you elected to configure a Pulse control (button) for the output on the Input/Output Internal page. If you want more information on this section, click here.

Metering Section

The Metering page displays the accumulated time for each Usage Meter. Like the Counters page you can mouse over a Channel and click the displayed “X” to reset the usage. Here you can also set the active usage state and configure alarms. This alarm can be set to send an email notification on the Events page.

Serial I/O Section

The JNIOR has two serial ports. The Serial I/O page can be used to set communications parameters for each port. The defaults are shown.

Generally an Application Program is used to perform communications over a serial port. The program itself may configure communications parameters. There are times where you may wish to set the parameters outside of an application. The IOLOG command provides access to a Transmission Log for the AUX port. You can set the Baud Rate and then check the IOLOG to see if data has been received properly.

Applications Section

The Applications page lists Registered Applications. Applications are automatically Registered during boot provided that a JAR file exists in the /flash folder containing a properly formatted appinfo.ini file. The content of the Applications page then may vary significantly from one JNIOR to another.

An application may be set to run at boot. When you check the box associated with the application the appropriate Registry Run Key is created. On reboot the application will automatically start. If available a link is displayed that can lead to additional configuration pages specific to the application.

Note that the checkbox only affects the status of the application after boot. The starting and stopping of applications at any other time is performed at the Command Line which can be accessed through the Console tab.

Mail-Account Section

Each JNIOR has the ability to send email notifications. Applications can be written to generate emails and potentially received them. Outgoing email requires a valid client account. The Mail-Account page is used to configure the outgoing email capability.

Here the Mail Server is something like smtp.comcast.net and the From Address would be the email address for a Comcast account. When you enter the SMTP Username you will be asked for a valid Password. The password is securely stored in the Registry. The remaining settings define the SMTP port, security and other characteristics for the communication. These are the credentials use in submitting outgoing emails.

Mail-Profiles Section

Email notifications can be generated for a number of Events if enabled. JANOS has default structures for those notifications. You can optionally define any number of custom email messages as Profiles using the Mail-Profiles page. When the default content is insufficient these profiles can be referenced by name to define custom email recipients and content.

Events Section

There is a small set of built-in events. The Events page is used to configure the actions associated with those events. For the most part this involves enabling an email notification and defining an optional email profile.

Beyond those listed here an unlimited number of events and actions can be accommodated through application programming or direct configuration of the Registry.

Note that the automatic starting of application programs can be disabled here without need for removing the Run keys.

Network Section

The JNIOR is shipped configured with an IP Address of This likely will not work for you.

To configure the network addressing you can run the Support Tool. The Support Tool is a Windows application that you can download for free from the INTEG website https://integpg.com/jnior-support-tool/. You can also make a serial connection to the RS-232 (COM) port and use the IPCONFIG command at the command line.

Once you can access the JNIOR Web Page you can modify settings through the Network page.

Security Section

The Security page offers a couple of settings.

The Series 4 JNIOR can perform secure communications using Public Key encryption and SSL/TLSv1.2. By default a 1024-bit RSA key pair is used in concert with automatic self-signed certificates. This means that you can access the JNIOR Web Page using a HTTPS connection. You can also perform secure FTP transfers and Telnet connections. The latter is best done with a client program available from us. Of course, you do not need either FTP or Telnet as the JNIOR Web Page offers most of that functionality.

While it doesn’t seem prudent you can disable the SSL capability here by deselecting SSL Enabled. Perhaps more appropriate is enabling SSL Required. In this case FTP and Telnet connections must perform STARTTLS and proceed securely. The standard HTTP port (Port 80) is closed. You can continue to make the secure connection using HTTPS (Port 443). Email will only be transmitted securely.

IP Address filtering is available. The Allowed IP Addresses field can be set with a comma delimited list of IP addresses that can make connection to the unit. This field can also contain a sophisticated filter string. It is recommended that the documentation (use F1) be viewed before setting this field. You can block yourself. In that case you will need to make the serial Command Line connection and remove the filter through the REGISTRY command.

Telnet Section

The Telnet page simply lets you relocate the port. You may want to do that to hide it from casual connections. You can also disable the server entirely. You can do that since you can access the Command Line through the Console tab of the JNIOR Web Page.

WebServer Section

The WebServer page is used to configure the Web Server. Here you can relocate either the HTTP or HTTPS ports or both. You can disable the Web Server entirely. That also prevents use of the JNIOR Web Page but your application might demand the limited access.

By default web access requires a login. You can disable the login requirement and to do so you must also define a user account for anonymous access. If your JNIOR is physically secure and the network is isolated from the larger network you might disable the login. If otherwise you have some pages that you wish to share publicly you can place them in the /flash/public root. Pages are served from that area without the need for authentication.

FTP Section

You can relocate or disable FTP using the FTP page. You can disable FTP and still manage the JNIOR’s file system through the Folders tab of the JNIOR Web Page.

Anonymous FTP access is not recommended. You can allow that by defining a user account to be used for that.

Protocol Section

The JNIOR Protocol is deprecated and not recommended for new applications. The Series 4 offers a more modern Websockets interface which performs all of the same function and much more. It is also not binary. The JNIOR Protocol is still supported.

The Protocol page can be used to relocate the JNIOR Protocol port. The server can also be disabled.

We would recommend disabling the JNIOR Protocol unless you know that it is used. It is also highly recommended that the login requirement not be disabled. If you do so you must then define a user account for the anonymous access.

Modules Section

And finally for the Configuration tab is a page for the configuration of external modules. If you use an external module it will be listed here on the Modules page. If you have recently connected a module and don’t see that one you can select ‘rescan’ to update the list.

If the external module has configuration setting those can be seen by expanding the module. Click the triangle shape. For instance the 4ROUT labels can be altered for use on the Input/Output Externals page.

Console Tab

The Console tab provides access to the Command Line interface. This is similar to a Telnet connection but performed entirely through the web interface (Websockets). Note that an additional login is required here.

You can cut and paste here. That would be one advantage over a Telnet client. You can also drag a file to this window. That will place the file into the /temp folder convenient for further use from the command line. You might drag a UPD here and once it transfers use the JRUPDATE command to update the operating system as an example.

Folders Tab

The Folders tab provides a file explorer formatted view into the file system.

You can navigate through folders by clicking on the left tree or double-clicking folders on the right as you might expect. Files can be selected and downloaded. You can also delete files and create folders. Drag and Drop is supported both into and out of the folder. Although in that case there is some variation in availability depending on the browser you are using. I use Chrome extensively. That seems to provide all of the needed capability.

If you need to move entire folders including subfolders then FTP is a better bet. Here I recommend FileZilla. https://filezilla-project.org/

Registry Tab

The Registry tab provides an explorer view into the Registry. Here you can edit and remove keys as needed. Each setting found in the Configuration tab is associated with a Registry Key. You can make settings here if you know the proper key and format.

It is recommended that you become familiar with the Registry, There are some settings that are not accommodated by the JNIOR Web Page GUI. You will need to enter those here. The Registry can also be manipulated from the Command Line.

The JNIOR Web Page contains built-in and detailed Registry documentation.

Syslog Tab

The Syslog tab displays the System log detail in chronological order with the most recent event at the top. This is the content of the /jniorsys.log and /jniorsys.log.bak files concatenated. You can scroll then through all of the available log history in order from most recent to the oldest.

Here I’ll show a segment of the HoneyPot Syslog since my development unit sees a lot of crazy use and its log is full of confusing stuff. In fact you can see in this log where JANOS was recently updated. The infected.json file that keeps getting updated is the database for the http://honeypot.integpg.com/map.php application running on that unit. The HoneyPot JNIOR is connected directly to the Internet.

Peers Tab

The Peers tab provides quick link access to other JNIORs that you may have on the network. The Series 4 JNIOR is aware of nearby peer products. Here you can move to the JNIOR Web Page on these other units using the link provided. That can be convenient if you have many JNIORs. Okay, so here at INTEG the Peer list gets crazy.

For many this list will be short if there are any at all.

About Tab

And FINALLY! We have the About tab. This actually contains some text and potentially useful information.

The Registry Key Assignments document is now distributed as part of the Dynamic Configuration Pages (DCP) package. You access that built-in documentation using the F1 key in the DCP or the link displayed at the bottom of the DCP. This is distributed with every JNIOR.

If you do not have access to the DCP then your JNIOR needs to be updated.

I will try to maintain the current Registry document on our HoneyPot JNIOR which is located on the open network. Yes, this JNIOR is not behind a firewall or NAT router. I have placed the Registry documentation in the public file area on that unit. Here is the link:


(Hint: Hold the Ctrl key when you click a link if you want it to open in a new tab.)

By the way, this Registry document is indexed and if you want to refer to a specific Key you can add it to the URL. For example if you want to see the documentation for the Device/Timezone Regsitry Key use the following custom link.


Try it!
http://honeypot.integpg.com/RegistryDoc … e.timezone

And since this documentation is built into the DCP you can retrieve it from you own JNIOR. Just reference your JNIOR instead. Note that in this case since the DCP is not public you will have to log into your JNIOR.

http://[IP Address]/RegsitryDoc.html

I will try to keep the most current version of the document on the HoneyPot though. That since most JNIORs probably need to be updated (which is highly recommended).

As we approach the moment when we adjust the clocks as we head into winter it seems appropriate to point out the date and time tools that JANOS has to offer.

bruce_dev /> date -v
 utc: 1509109889
 Fri Oct 27 09:11:29 EDT 2017
 Current Timezone is EST for the America/New_York area.
 Abbreviated EDT when Daylight Savings is in effect.
 DST begins at 02:00 on Sun on or after Mar 8th.
 DST ends at 02:00 on Sun on or after Nov 1st.
 When in effect DST sets clocks ahead by 1 hour.
 DST is currently in effect.

bruce_dev />

The DATE -V command (V for verbose) offers a description of the current time status. Here we see that I have incorrectly referred to DST as “Daylight Savings Time” when in fact it is Daylight Saving Time. So, before posting this I’ll just update the JANOS code to correct that. My bad.

It is in fact Daylight Saving Time and it is designed to capture an hour of sunshine that we would otherwise be sleeping through in the morning. To do this we set our clocks ahead an hour in the Spring at a point when the Sun insists on rising an hour before we want to get up. Remember “Spring ahead. Fall back.” DST is in effect during the Summer. So instead of it being 6:00 AM when the Sun blares into the room and pisses you off by waking you early, it will be 7:00 AM and maybe you should get up. That hour of daylight then is shifted to the end of the day. So it could be almost 10:00 PM before you have to put that lawnmower away.

Seems like a reasonable thing to do. Well of course it causes all kinds of issues. Making matters worse not all timezones observe DST and some do but use a different set of rules. And although the rules haven’t been changed recently governments have been known to make adjustments. Sometimes DST usage is temporarily altered say for when we may be in an energy crisis. Then there are the cities or areas of a timezone that decide to not follow DST like the rest of their timezone. All of this makes it difficult for a device to cope.

By the way, I’ve fixed my problem. You’ll have to wait for JANOS v1.6.3 for this. Sorry.

bruce_dev /> date -v
 utc: 1509110646
 Fri Oct 27 09:24:06 EDT 2017
 Current Timezone is EST for the America/New_York area.
 Abbreviated EDT when Daylight Saving Time is in effect.
 DST begins at 02:00 on Sun on or after Mar 8th.
 DST ends at 02:00 on Sun on or after Nov 1st.
 When in effect DST sets clocks ahead by 1 hour.
 DST is currently in effect.

bruce_dev />

Did you ever notice in windows that your file last modification times all change when you enable or disable DST?

Windows apparently applies timezone and current DST status to any time it displays. So if DST is in effect every time you see is adjusted even if DST wasn’t in effect at that point in the past. So if I save a file today (October) it will show the file was created today at such and such a hour. But if I check that file date next month (November) after we leave DST it would have been created an hour earlier that I did it. Perhaps even before I got into work. Show your boss that and tell him that all summer long you consistently made it in early and deserve a bonus.

Well the times will be off by an hour but trying to figure whether the times would be an hour earlier or later makes my head hurt.

JANOS has been programmed differently and perhaps correctly at least in my opinion. When a time is displayed JANOS uses DST if and only if DST was in effect at that past moment. So when DST is enabled or disabled the file times remain consistent. You know, if you have written a Windows application that uses a file’s last modification time to check if the file were changed, you’ll go nuts. Twice a year you would think that batches of files suddenly have changed. Yeah I know Windows keeps a changed flag that you can and maybe need to use. But in general the file times seem like a reasonable indication of a change (or different version). You should use UTC anyway.

Of course if you change the DST rules or your timezone for that matter the reported file times will naturally all change. It’s all no big deal anyway.

We’ve also somehow moved from selecting your timezone to specifying a nearby city for getting your clock to display correctly. Well there are hundreds of major cities and that database becomes quite large given there is a lot of repetition (there a multiple major cities in a single timezone). Meanwhile the JNIOR is just a small device and doesn’t have the luxury of wasting storage space that you’ve spent your hard earned dollars on.

In JANOS you select the timezone using its abbreviation and there is a short list of timezones included by default.

bruce_dev /> date -t
Available timezones:
  IDLW (-1200) Date_Line                  WST  (-1100) Pacific/Midway
  HST  (-1000) Pacific/Honolulu           AKST (-0900) America/Anchorage(1)
  PST  (-0800) America/Los_Angeles(1)     MST  (-0700) America/Denver(1)
  CST  (-0600) America/Chicago(1)         IET  (-0500) America/Indianapolis
  EST  (-0500) America/New_York(1)        PRT  (-0400) America/Caracas
  CNT  (-0330) America/St_Johns(1)        AGT  (-0300) Argentina/Buenos_Aires
  BET  (-0300) Brazil/Brasilia            MAT  (-0200) Atlantic/Mid
  CAT  (-0100) Atlantic/Cape_Verde        GMT  (+0000) Greenwich_Mean
  UTC  (+0000) Universal_Coordinated      WET  (+0000) Western European(5)
  CET  (+0100) Central European(4)        EET  (+0200) Eastern European(3)
  EAT  (+0300) Asia/Riyadh                MET  (+0330) Iran/Tehran
  NET  (+0400) Russia/Moscow              AFT  (+0430) Afghanistan/Kabul
  PLT  (+0500) Russia/Ural_Mountains      IST  (+0530) India
  ALMT (+0600) Asia/Alma-Ata              CIT  (+0630) Burma
  VST  (+0700) Mongolia/West              AWST (+0800) Australia/Perth
  JST  (+0900) Japan                      ACST (+0930) Australia/Adelaide(2)
  AEST (+1000) Australia/Sydney(2)        LHT  (+1030) Lord Howe Island
  SST  (+1100) Russia/East                NIT  (+1130) Norfolk Island
  NST  (+1200) Pacific/Fiji             

Note 1:
 DST begins at 02:00 on Sun on or after Mar 8th. Clocks move forward by 60 minutes.
 DST ends at 02:00 on Sun on or after Nov 1st.
Note 2:
 DST begins at 02:00 on Sun on or after Oct 1st. Clocks move forward by 60 minutes.
 DST ends at 03:00 on Sun on or after Apr 1st.
Note 3:
 DST begins at 03:00 on Sun on or before Mar 31st. Clocks move forward by 60 minutes.
 DST ends at 04:00 on Sun on or before Oct 31st.
Note 4:
 DST begins at 02:00 on Sun on or before Mar 31st. Clocks move forward by 60 minutes.
 DST ends at 03:00 on Sun on or before Oct 31st.
Note 5:
 DST begins at 01:00 on Sun on or before Mar 31st. Clocks move forward by 60 minutes.
 DST ends at 02:00 on Sun on or before Oct 31st.

bruce_dev />

We’ve recently adjusted this list having learned of some additional DST rules. If you find that none of these standard timezones work for your location, tell me about it. I can add a new timezone (or fix an error) as easily as I changed “Daylight Savings Time” above.

If this doesn’t do it for you, you can define a custom timezone. This is all described in the Registry Key Assignments document the current version of which is built into the DCP and distributed with every JNIOR.

You can open the DCP by pointing your browser to your JNIOR and use the F1 key to bring up the documentation. A whole section on Custom Timezones and Timezone Corrections can be found in the Table of Contents.

In fact I can put the current version of RegistryDoc.html and RegistryDoc.css (and also inputs.png) in the public web area on the HoneyPot unit. The HoneyPot is a JNIOR Model 410 that we have connected directly to the Internet for security testing. That means that you can also retrieve pages from it. I’ll try to remember to keep that copy current.

Here’s a link to the Timezone section.

http://honeypot.integpg.com/RegistryDoc … e.timezone

So now on the HoneyPot we have the Registry Key Assignments document: http://honeypot.integpg.com/RegistryDoc.html and an application that maps all of the illegal login attempts that mostly result from malicious bots like that Mirai Botnet: http://honeypot.integpg.com/map.php

The Series 4 JNIOR can be configured to send email. The approach is slightly different than what existed in the prior controller series. The differences are driven by the heightened concern for security and an increase in restrictions on email server use.

First of all, we now we require valid user credentials (username and password) for authentication at the defined MailHost. You can only submit email to a Comcast SMTP server if you have a valid Comcast email account for example. Just having a valid Comcast email address or originating on a Comcast subnet is no longer sufficient identification. A login is typically required.

Secondly, the Series 4 can establish SSL/TLS secure connections. That means that your email content and credentials are protected by encryption. This was not possible in the prior series where such communications had to be in the clear and readable by anyone clever enough to sniff the network.

The attached document was written prior to the introduction of the JNIOR Web Page which is accessed using your browser. At that time one had to use the IPCONFIG command to enter email user credentials in order to encrypt and protect the account password. Most configuration can be also achieved through Registry key modifications. But the password entry requires the active step of encryption which is handled by IPCONFIG.

I will detail recent changes here.

Configuring JANOS for Email

Up to and including the release of JANOS v1.6.2 email can be delivered through an SMTP port (default 25) or MSA port (default 587). JANOS handles both of these ports in the same manner. The JNIOR will authenticate and then if the STARTTLS option is supported JANOS will establish an encrypted connection. The latter requires that SSL be enabled on the JNIOR which it is by default.

You will not get an indication as whether or not an SSL/TLS connection is in use. You could enable SSL Required but that may have other ramifications (such as requiring the use of HTTPS protocols for web connections).

Beginning with JANOS v1.6.3 you will be able to use the SMTPS port (default 465) for guaranteed secure email delivery. The SMTPS port requires a SSL/TLS secure connection right from the start. The email submission procedure will not proceed until the connection is secure. So in this case you can be certain that content and credentials are fully protected. A new Registry key Email/SMTPS must be set TRUE or enabled so JANOS knows to immediately secure the connection.

By the way, JANOS uses this same STARTTLS option to secure FTP. The JANOS Telnet Server which can be used to access the Command Line interface also supports STARTTLS. In this case the option had be proposed but not adopted. So, to our knowledge, the INTEG Telent tools are the only ones that provide the secure Telnet channel. All of this becomes simple when the JNIOR Web Page is used over a secure connection (HTTPS).

Series 4 Email Setup

So to setup email on the Series 4:

  1. Make sure that your IP configuration (IP address, Subnet, Gateway and DNS servers) is correct. If you are using the default NTP server for synchronizing the clock and you see that NTP is doing just that by the entry in the system log, then your IP configuration is most likely correct.
  2. Set the MailHost or Mail Server. This would be something along the lines of smtp.comcast.net.
  3. Enter you own email address as the From address. Emails will look like they come from you.
  4. Enter your Username. Depending on the system that may be your email address or just the prefix. Note that IPCONFIG and also the JNIOR Web Page will prompt for a password. Once that is confirmed it will be encrypted and stored securely.
  5. By default the email port is 25. That should work for you. Depending on your service they may ask you to use a different port. Set the port as needed. If it is port 465 (or other SMTPS port) you will need JANOS v1.6.3 and Email/SMTPS enabled.

A good test is to enable the Email On Boot and reboot the JNIOR. That setting is on the events page in the JNIOR Web Page. The document attached above tells you how to use the SENDMAIL command form the Command Line which is also useful for testing.