If you experience issues with your Dolby IMS2000 Cinema Server connecting to or executing commands on the JNIOR you may need to follow one of the procedures below. There are two issues that I have seen.

Dolby has resolved the issue for the IMS3000.

A Dolby may not even try to connect to a JNIOR when it should.

Make sure you have rebooted the Dolby IMS after adding the JNIOR as a device.

To determine if this is the issue:

  1. Go to the DCP for the JNIOR
  2. Click on the Console tab
  3. Click ‘Start Session’
  4. Log in when prompted
  5. enter the netstat command
  6. There should be a connection to 9200 with the Dolby Server IP Address for the Remote IP

The Dolby is connected but nothing happens on the JNIOR when the Dolby sends the command.

When Dolby tries to connect to the JNIOR it may not be able to log in to the JNIOR due to a bad password. The highlighted bytes below are corrupted.

The bytes should represent the password like this…

The previous images are screenshots for the WireShark application when analyzing a network capture. This capture is included in a JNIOR Support Tool Snapshot. I have been told by Dolby that this is likely due to the browser auto-fill.

To determine if this is the issue you should check the protocol.log on the JNIOR

To do that:

  1. Go to the DCP for the JNIOR
  2. Click on the Console tab
  3. Click ‘Start Session’
  4. Log in when prompted
  5. Enter the cat protocol.log command

If you don’t see a successful login or do see a failed login then do the following:

  1. Go to the JNIOR Device Configuration on the Dolby IMS
  2. Remove the JNIOR device
  3. Reboot the Dolby IMS
  4. Add the JNIOR as a device but DO NOT enter the password
  5. Reboot the Dolby IMS

You can now re-test the JNIOR connection to see if this is resolved.

If it is not resolved then make sure your browser is not using auto-fill for the site. The procedure differs per browser. Follow one of the links below for your browser.

If it is not resolved you can try to analyze the network capture or contact INTEG for additional support.

I hope this article helped you out. Please contact us to let us know!

There has been an update to the Update Project for OS 4.8.

Name Version Release Date Size MD5
Series 3 All-In-One v4.8 Nov 11 2019 251.7 KB ef6a2613188b70725b155c9c026064b3

Browsers no longer support Java Applets.  Therefore, the web files have been removed from the JNIOR in this update. This fixes flash space issues. The applets can still be loaded from within the JNIOR Support Tool.  To load the Applets, right click on the JNIOR  in the Beacon Tab.  Then go to Tools -> Open Classic Monitor, Configure, Control Application.

If the JNIOR series 4, models 410, 412 or 414, is not working with the GDC Cinema Server then check to make sure MODBUS is enabled. The built-in library for the JNIOR on the GDC server uses MODBUS.

MODBUS communicates on port 502.

The series 3 enabled the MODBUS server by default. The MODBUS server is an optional application that needs to be enabled on the series 4. You can look at the following links for more information

Many times we write an application that should be the only instance of that application running.  That application may monitor inputs, control outputs, send email, or perform logic.  Whatever that application is doing, it should be the only one doing that particular thing at any given time.

The ensure that this happens we use the JANOS.registerProcess(id) method.  This method returns the number of processes that have been registered with that given id.  That id can be any unique identifier given to that application.  It can be a name or a random UUID.

If the registerProcess() method returns a value greater than one then we will exit our application.  This will leave the first instance running.  Here is an example.

        // make sure there is only 1 instance of this application running
        if (1 < JANOS.registerProcess(Application.getAppName())) {
            JANOS.syslog("Another instance of " + Application.getAppName() + " is running");
        }
Name Version Release Date Size MD5
JNIOR Supporter v0.5 Aug 01 2022 1.3 MB a424e6d7e97d4c18d8ef92df1b19a34c

Go to A Cross-Platform JNIOR Support Tool for more information

There are many updates to this version.

The biggest one is that series 4 JNIORs will use the WebSockets protocol during an Update Project.  WebSockets use the HTTP port, which is normally port 80.  This port is usually forwarded so that you can get to the WEB UI.  FTP and Telnet are not used with Series 4 JNIORs.

You can also open multiple update projects at the same time.  You can push one setup to a set of JNIORs and then push a different setup to a different set of JNIORs at the same time.  Care must be taken to not push conflicting updates to the same JNIOR.

Multiple snapshots can be taken at the same time.

This version also allows you to select multiple JNIORs in the Beacon tab.  Right clicking and selecting an action from the popup menu will apply to all of the selected JNIORs.  This is especially useful if you want to take snapshots of all of your units at once.

You can right click on a unit in beacon to get the Network Capture.

This post will go over how to create an entity in Home Assistant that will keep track of a JNIOR temperature probe using MQTT.

Setup MQTT on the JNIOR

 Before beginning to setup Home Assistant, you’ll want to make sure that you have MQTT setup on your JNIOR. Here is a post you can follow to setup MQTT on the JNIOR.

Setup Home Assistant

Now to start configuring Home Assistant, you’ll need to make sure you have a working setup of it. Here is the installation walkthrough on Home Assistant’s website. Once you have successfully setup a working setup of Home Assistant, you should be able to access its Configuration Web Page at homeassistant.local:8123 in a Web Browser. It should look like this when you access it.

Add MQTT Integration

After you’ve setup Home Assistant, you can now begin to configure Home Assistant to monitor a JNIOR Output. To do this the first thing we need to do is setup the MQTT integration. To do this you’ll go to your settings and select Devices and Services.

Once there, select Add Integration at the bottom of the page and you’ll search for the MQTT integration and add it to your current integrations. Once MQTT is added to your integrations, you’ll then need to configure it to use the same MQTT Broker as your JNIOR device. Here we are using broker.hivemq.com.

Get File Editor Add-on

Select next and finish configuring the MQTT integration. After its completed, the next thing we can do is setup an MQTT Sensor Entity. This will represent an on/off status of our JNIOR Output. To do this, we are going to need to get an add-on for Home Assistant. To do this we will select Setting again and go to the Add-ons.

Once in Add-ons, you’ll look for the add-on called File Editor. You’ll select that add-on and install it. (Adding it to your sidebar in its installation settings is helpful also.) This is needed to edit your configuration.yaml file. What is configuration. yaml? The configuration.yaml file is the main YAML file used by Home Assistant to gather all of the information about the users desired configuration. In this file we will define the MQTT Sensor, and we need the file editor add-on to do so.

Configure .yaml File

Once the File Editor add-on is installed we’ll go to it using the sidebar in Home Assistant. The File Editor will display all the files in Home Assistant, and the one we are interested in is the configuration.yaml file explained earlier. In this file we are going to add the MQTT Sensor platform inside it. Here is a picture of a configuration.yaml file after adding the temperature probe as an MQTT sensor.

NOTE: If using the example above, make sure to replace the serial number of the JNIOR above with your JNIOR’s serial number.

# Loads default set of integrations. Do not remove.
default_config:

# Text to speech
tts:
  - platform: google_translate

mqtt:
  sensor:
    - name: MQTT_Tempprobe_Sensor
      state_topic: "jnior/718040125/status/tempprobe/1/fahrenheit"
      unit_of_measurement: "Fahrenheit"

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

Once this is added to your configuration.yaml file, head over to the developer tools above the settings option in the Home Assistant sidebar. On this page click the ‘check configuration’ button, and if the configuration is valid, you’ll then select the ‘restart’ button.

Setup Home Assistant Dashboard

Once Home Assistant has restarted, we can now go to the overview page of Home Assistant and edit our Dashboard. In the Dashboard we are going to click on the kebab menu and select edit Dashboard. This will allow us to add entities that will display the statuses of our JNIOR’s I/O sensors.

With the Dashboard Editor open, we’ll add a new card to the Dashboard. The card we want to add is the Entities Card, as this will let us display the MQTT Sensors we declared in the configuration.yaml file while leaving room to add more. This will also allow us to show how our JNIOR’s temperature probe is being monitored.

Inside in the Entities card, we’ll select the MQTT Sensor we made. Optionally, you can change certain attributes of the card by clicking the pencil icon next to the entity.

Save this Card Configuration, and you should now have a dashboard with your entity. When the JNIOR’s temperature probe changes, so will your entity on your homepage!

This post will go over how to create an entity in Home Assistant that will keep track of a JNIOR Output using MQTT.

Setup MQTT on the JNIOR

 Before beginning to setup Home Assistant, you’ll want to make sure that you have MQTT setup on your JNIOR. Here is a post you can follow to setup MQTT on the JNIOR.

Setup Home Assistant

Now to start configuring Home Assistant, you’ll need to make sure you have a working setup of it. Here is the installation walkthrough on Home Assistant’s website. Once you have successfully setup a working setup of Home Assistant, you should be able to access its Configuration Web Page at homeassistant.local:8123 in a Web Browser. It should look like this when you access it.

Add MQTT Integration

After you’ve setup Home Assistant, you can now begin to configure Home Assistant to monitor a JNIOR Output. To do this the first thing we need to do is setup the MQTT integration. To do this you’ll go to your settings and select Devices and Services.

Once there, select Add Integration at the bottom of the page and you’ll search for the MQTT integration and add it to your current integrations. Once MQTT is added to your integrations, you’ll then need to configure it to use the same MQTT Broker as your JNIOR device. Here we are using broker.hivemq.com.

Get File Editor Add-on

Select next and finish configuring the MQTT integration. After its completed, the next thing we can do is setup an MQTT Binary Sensor Entity. This will represent an on/off status of our JNIOR Output. To do this, we are going to need to get an add-on for Home Assistant. To do this we will select Setting again and go to the Add-ons.

Once in Add-ons, you’ll look for the add-on called File Editor. You’ll select that add-on and install it. (Adding it to your sidebar in its installation settings is helpful also.) This is needed to edit your configuration.yaml file. What is configuration. yaml? The configuration.yaml file is the main YAML file used by Home Assistant to gather all of the information about the users desired configuration. In this file we will define the MQTT Binary Sensors, and we need the file editor add-on to do so.

Configure .yaml File

Once the File Editor add-on is installed we’ll go to it using the sidebar in Home Assistant. The File Editor will display all the files in Home Assistant, and the one we are interested in is the configuration.yaml file explained earlier. In this file we are going to add the MQTT Binary Sensor platform inside it. With the MQTT application on the JNIOR, topics on the Broker can be updated two different ways. The first is by updating a specific topic on the broker, and the other is using a JSON payload to update multiple topics at once. To show both ways, here is a picture of a configuration.yaml file after adding both ways to it. (This setup will be looking at Output 1 on the JNIOR, since in the state_topic lines it specifies Output 1)

NOTE: If using the example above, make sure to replace the serial number of the JNIOR above with your JNIOR’s serial number.

# Loads default set of integrations. Do not remove.
default_config:

# Text to speech
tts:
  - platform: google_translate

mqtt:
  binary_sensor:
    - name: MQTT_JNIOR_Single_Topic
      state_topic: "jnior/718040125/status/digital/outputs/1/state"
      payload_on: "true"
      payload_off: "false"
    - name: MQTT_JNIOR_JSON_Payload
      state_topic: "jnior/718040125/status/digital/outputs/1"
      value_template: "{{ 'ON' if value_json.State == 'true' else 'OFF' }}"

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

Once this is added to your configuration.yaml file, head over to the developer tools above the settings option in the Home Assistant sidebar. On this page click the ‘check configuration’ button, and if the configuration is valid, you’ll then select the ‘restart’ button.

Setup Home Assistant Dashboard

Once Home Assistant has restarted, we can now go to the overview page of Home Assistant and edit our Dashboard. In the Dashboard we are going to click on the kebab menu and select edit Dashboard. This will allow us to add entities that will display the statuses of our JNIOR’s I/O sensors.

With the Dashboard Editor open, we’ll add a new card to the Dashboard. The card we want to add is the Entities Card, as this will let us display both MQTT Binary Sensors we declared in the configuration.yaml file. This will allow us to show how our JNIOR’s output is being monitored.

Inside in the Entities card, we’ll select the two MQTT Binary Sensors we made. In this example I also edit each of the entities to use different icons. This is optional, but you can change certain attributes of the card by clicking the pencil icon next to either entity.

Save this Card Configuration, and you should now have a dashboard with your entities. When the JNIOR’s output changes, so will your entities on your homepage! (Depending on if you chose the JSON Payload, Single_Topic, or both in the JNIOR’s MQTT application, only one may change.)

This post will go over installing MQTT onto a JNIOR, and then connecting to an MQTT Broker.

To start, download the JNIOR Support Tool and MQTT update project if you haven’t already. You’ll run the JNIOR Support Tool once its installed, and then go to the update tab. Here you’ll click ‘open project’ and select the MQTT update project. (do not unzip before opening in the support tool) Once its opened in the support tool you’ll select ‘publish’ and in the dialog box select the JNIOR you want to publish to and hit okay.

Once this is complete, you’ll want to go to the JNIOR web page for MQTT by going to a web browser and entering your JNIOR’s IP followed by /mqtt. (For example if your JNIOR’s IP is 10.0.0.110, in your web browser you would to go the URL 10.0.0.110/mqtt.) The webpage will look like this.

Once on this page, all you need to do is enter an MQTT Broker Host and its Port. You can use a Broker you already have, or if you don’t have one there are public Brokers that you can use. (Examples are test.mosquitto.org or https://www.hivemq.com/public-mqtt-broker which have their Host Names and Port Values on those pages.) You’ll save these changes, and afterward click the connect button. If the Status says connected, then MQTT is all setup on the JNIOR! If not, make sure you entered the correct settings for your Broker, and saved them before trying to connect.

http://cloutieronline.net/

The JNIOR is used in a variety of industries. Here the JNIOR is used in a clean energy solution, a residential Solar installation. This solar installation went live in the evening of July 7th, 2022. This is the second solar installation for this owner. The previous installation generated power for over a decade. It is still in operation but for a new owner.

How?

The JNIOR is tasked with communicating with the four inverters to collect the amount of power that they produce. Once every 10 seconds the application on the JNIOR sequentially communicates with each inverter to request the current power, daily yield and total yield. The communication is done via MODBUS TCP. Once the data is read, it is tucked away in 2 locations as individual reading and totalized. The data is stored in the registry as a system key that is used for real-time reporting. The data is also stored in a readings.dat log file. This file is moved to the flash filesystem at the end of every day for historical analysis. Only the previous 7 days are maintained in the flash filesystem. The files are numbered by the day of the week to ensure that Sunday overwrites last Sunday, Monday overwrites last Monday and so on.

The real-time data is served from the registry using a php script that generates a JSON format.  That JSON response is requested and consumed by a linux server that is responsible for collecting and storing that data in a MYSQL database for long term storage.

Why?

Fun!  While the data can be used to check that the power company is paying you for the kWhs generated beyond what is consumed by the house, this page is generally watched as a sort of game to see how days throughout the year stack up against each other.

While INTEG does not have a Home Assistant integration for the JNIOR, you can use the MQTT Integration to work with the JNIOR and Home Assistant quite easily. The MQTT Binary Sensor platform and MQTT Sensor platform can allow you to setup MQTT Sensors to monitor values on the JNIOR. Home Assistant can also publish topics to the MQTT Broker that the JNIOR is subscribed to.

This is new as of July 2022.  We are currently getting more experience with Home Assistant. Here is a post we recently made that explains creating Home Assistant MQTT Entities to Monitor JNIOR Outputs and another that explains creating Home Assistant MQTT Entities to Monitor a JNIOR Temperature Probe. Please join chat to learn more. 

With the release of JANOS 2.2, the bundled software that comes with JNIORs now have their own webpages! You can access them by going to a web browser and in the URL enter the JNIOR’s IP with ‘/bundled’ after it. As stated before, to access these web pages though you’ll need JANOS version 2.2 or later to access them. Here is a link that briefly goes over the Bundled Software Web Pages. Let us know what you think of it!

Web Pages have been added for Bundled Software Applications! These web pages have been implemented to make configuring the Bundled Software easier. This post will go over the different tabs the Bundled Software Pages have. To start, there are 5 tabs available on the Bundled Software Pages. Other then the On Boot page, each tab should display different registry settings to configure a different application in the Bundled Software.

On Boot Page

The On Boot tab is the opening tab when the Bundled Software Pages are loaded. Instead of letting you edit the registry keys of one of the applications like the other tabs, this page allows you to set which Bundled Software Applications will run on boot. Keep in mind that when setting one of the these applications to not start on boot, you won’t be able to access that applications tab in the Bundled Software Pages until its enabled again.

Serial Control

Serial Control can accept one or more connections from an external device and this connection can be over the serial port and/or the Ethernet port. The Serial Control tab allows you to edit the registry keys of Serial Control from the web page. Below is a quick explanation for each field.

  • Incoming Termination String – Sets the string that Serial Control looks for at the end of each message sent to it to know if that is the end of message being sent.
  • Outgoing Termination String – Sets the string that Serial Control adds to the end of each message it sends. The external device being sent to needs to know to look for this Outgoing Termination String.
  • Send Counts – Determines if the JNIOR reports each time an input changes to the external device connected through the Serial Control Connection.
  • Send Date Stamp – Determines if each report of an I/O change on the JNIOR reported through the Serial Control Connection gets appended with the current data and time.
  • Send Unsolicited I/O Alerts – Determines if any Alert such as I/O Counts or Date Stamps should be allowed through the Serial Control Connection.
  • Serial Port – Sets the Serial connection that Serial Control connects on.
  • TCP Port – Sets the TCP port that Serial Control connects on.
  • UDP Port – Sets the TCP port that Serial Control connects on.

Serial-to-Ethernet

Serial-to-Ethernet lets you setup a connection between a device that can communicate via ethernet and a device that can only connect serially. The web page allows you to configure the port for the ethernet connection, the serial port of the serial connection, the host address of the device that the JNIOR will attempt to connect to if the external device only listens for TCP connections, and if the connection is maintained after being established.

Modbus

Modbus lets you setup a connection to the JNIOR using the Modbus Protocol. The Modbus tab on the Bundled Software Pages allows you to setup the port the Modbus Protocol uses, if login is required, and the amount of time in seconds without communication on the Modbus connection for it to timeout.

Slaving

Slaving lets you control the I/O on one JNIOR by monitoring the I/O of another. There are two tables on the Slaving tab, one for inputs and the other for outputs. Each input and output and on the JNIOR will be displayed in these tables, and from there can be set the I/O point they are slaved to, followed by the information of the external JNIOR that has that I/O point.

Name Version Release Date Size MD5
JANOS - UPD v2.2 Jun 28 2022 948.0 KB b16c8aaa30cc30bad351520ac918c2fd
Series 4 All-In-One Update Project v2.2 Jun 28 2022 1.8 MB 6638a43a27bf37881f381d3eb97f164b
Core JANOS Update Project v2.2 Jun 28 2022 1.2 MB c271536a837ab3fe827a50456b0b1370
JANOS Release Notes v2.2 Jun 28 2022 492.3 KB 8e85b3bf54ee33bac9d27abed1e263b9

This release was issued to support manufacturing and component changes forced by supply chain issues. Because of this, an update to the OS was required to handle this change. Units made June 22nd, 2022 or later will NOT be able to roll back to earlier version of JANOS.

  • Corrected bug in creating multidimensional arrays
  • Improved DEFLATE compression performance with binary files
  • Corrected issue with ‘%’ sign when logging to the syslog
  • Fixed dropped serial character when port is closed
  • Added experimental debugging tools

JANOS 2.1.1 Release December 15, 2021

  • This release was issued to support manufacturing and component changes forced by supply chain issues and COVID

JANOS 2.1 Release August 10, 2021

All New Help system. Use the [Help Search] link in the lower right on the JNIOR Web UI.

  • Eliminated external SYSLOG Server related memory leak
  • Corrected Regex issue with the OR operation
  • Corrected PHP ereg() and eregi() functions
  • Implemented a greatly expanded Help System
  • Added PDF MIME type to the WebServer and Email systems
  • Corrected JRMON latched input [R]eset command, no longer affects relays
  • PHP read file access expanded to include ZIP virtual folders
  • Corrected PHP issues with JSON arrays
  • Corrected Order of Precedence issue with PHP mathematical expressions
  • Corrected the operation of Regex '*' and '+' quantifiers when used following a group
  • Corrected RENAME behavior when attempting to alter case of a filename
  • Enabled PHP logical string comparisons ==, !=, <, <=, >, and >=
  • Enhanced security for JANOS-Session-Id cookies
  • Corrected JANOS-Session-Id handling when multiple cookies are present
  • Improved non-volatile aspect of command line history
  • Corrected issue with network capture completion
  • Fixed issue introduced in v2.0 with IpConfig/Allow
  • Corrected issue with using EXIT in the Console tab of the WebUI
  • Added SHA256 (SHA2) to the MANIFEST database
  • Fixed issue resulting in blank Registry keys being displayed
  • Introduced new expanded Help System

JANOS 2.0 Release March 4, 2021

  • Improved serial diagnostics during boot
  • Added DST rules for New Zealand timezones
  • Added File Sharing. Disabled by default
  • Logs prior Registry key values along with changes
  • Enabled NetBIOS name resolution and disabled LLMNR
  • Allow product "Birthname" such as jr817120068 to be always valid in name resolution
  • Corrected Websockets login issue
  • Fixed issue with HTML Email content
  • Added SHA384 and SHA512
  • Added text form of IP address to certificate to appease Microsoft IE
  • Enhanced Registry key settings to inform as to reboot requirements
  • Improved Email error reporting
  • Added Galois/Counter Mode (GCM) to TLS security suites
  • Removed legacy Registry editor
  • JANOS renews its own self-signed certificates
  • Added JSON support to PHP
  • Added Command Line text editor
  • Added Elliptic Curve TLS suites
  • Added BAT file enhancements and scripting support
  • Added the ability to retrieve files from remote servers to JRUPDATE
  • IP address filtering overridden by SAFE MODE
  • Add capture filter information to pcapng capture file
  • PHP scandir() changed to return absolute file path
  • Issue with /etc folder content in scandir() corrected
  • Corrected issue with nested PHP foreach loops
  • Added PHP date and time formatting function date()
  • Console command line history search and selection enhancements
  • Added PING Flood Mode and addressing validation option
  • Corrected issue with ZIP/JAR decompression failing with some large binary files
  • Added support for the standard loopback address range
  • Default WebServer/Path is now /flash/www/config allowing relocation of the default configuration pages
  • Corrected Registry issue with of Type 10 temperature sensors
  • Batch parameter %0 now returns the command from the command line
  • Corrected runtime issue with PHP replacing existing array content
  • Addressed differences in Linux based terminal sessions
  • Extended the ECHO command for use in scripting
  • Added JMP Protocol port for use in defining capture filters
  • Added JMP port and BuildTag to Beacon protocol
  • Corrected PHP @strrpos()@ and syntax shortcomings
  • Enhanced ARC/ZIP/JAR command
  • Improved compatibility with Linux terminal emulators

JANOS 1.9 Release February 3, 2020

Release Notes

We have released JANOS v1.9 which has several changes and bug fixes. Most notably with TCP packet generation. While it is not wrong to send data in multiple TCP packets, many devices incorrectly implement TCP clients and fail when this case arises. This version adjusted the release of socket data to reduce the chances that a message might be split across separate TCP packets. This had been a recent issue with some MODBUS client devices.

  • Added support for Reverse LLMNR allowing network scanners to label IP addresses with hostnames
  • Adjusted the release of socket data to reduce the chances that a message might be split across separate TCP packets
  • Corrected Sockets race condition that caused occasional reception delays and blocking
  • Fixed the incorrect signed display of large input counter values in JRMON and JMP Protocol
  • Adds a BEACON announcement in the event of an IP conflict
  • Improved NONCE management eliminating possible issues in the presence of port scanners
  • Eliminated chance of buffer overrun occurring in FTP transfer
  • Beacon REBOOT now works in all cases
  • Eliminated potential difficulty in obtaining network capture file

JANOS 1.8 Released June 17, 2019

Release Notes

We have released JANOS v1.8 which adds the JMP Protocol. The JANOS Management Protocol (JMP) is essentially the JSON message interface utilized by JANOS Websockets. The JMP Protocol has been exposed on its own TCP/IP port. This encloses the JSON messaging in a JSON array along with the JSON Object length making reception of the messages easy. The JMP Protocol will be used by the QSC Q-SYS JNIOR component.

  • Implements the JANOS Management Protocol JMP
  • Adds "Block" command to JSON interfaces
  • Web Server limits the effects of extremely slow connections.

JANOS 1.7.1 Released December 3, 2018

Release Notes

  • Watchdog no longer causes reboot from foreground execution
  • REGEX Alternation '|' has been corrected to properly work in Group
  • Corrected NULL Pointer write issue when a Group which employs alternation appears at the start of a REGEX expression
  • Resolved message pump memory issue relating to process termination
  • Expand the channel range for setOutputRelay() from 0-11 to 0-15
  • Corrected network capture filtering when an IP address is to be excluded
  • Supports networks using Jumbo Frames
  • Eliminated assertion associated with improper use of '%n' in System.out.printf.

JANOS 1.7 Released July 26, 2018

Release Notes

  • Added ability to load single CA Certificate to be supplied on TLS connection
  • Support TLS Client Certificate Verification on outgoing connections
  • Added legacy PKCS1 support for externally generated certificates
  • Corrected array issue with processing of deferred email transmissions
  • Corrected memory issue with TAB use on the Command Line

JANOS 1.6.5 Released May 22, 2018

  • Corrected FTP listing issue created by the v1.6.4 release
  • Corrected getRegistryList method memory leak
  • Corrected 412DMX light Flickering
  • Corrected 412DMX NAND Flash processing issue
  • Corrected FTP transfer restart issue
Name Version Release Date Size MD5
Series 4 All-In-One Update Project v2.2 Jun 28 2022 1.8 MB 6638a43a27bf37881f381d3eb97f164b
    • JANOS updated to 2.2
    • Serial Control updated to 7.2
    • Serial-to-Ethernet updated to 6.2
    • SNMP 3.1
    • Modbus Server updated to 1.9
    • Slaving updated to 3.1
    • New Bundled Web Pages Install
    • WebUI Pages updated to 3.2.1
  • Series 4 All-In-One 2.1.1 Release December 15, 2021

    • JANOS updated to 2.1.1
    • Serial Control 7.0
    • Serial-to-Ethernet 6.1
    • SNMP 3.1
    • Modbus Server 1.7
    • Slaving 2.0
    • WebUI Pages 3.1.0
    • This release was issued to support manufacturing and component changes forced by supply chain issues and COVID

    Series 4 All-In-One 2.1 Release August 10, 2021

    • JANOS updated to 2.1
    • Serial Control 7.0
    • Serial-to-Ethernet updated to 6.1
    • SNMP 3.1
    • Modbus Server 1.7
    • Slaving 2.0
    • WebUI Pages updated to 3.1.0
    • New Web Page Manual Install

    Series 4 All-In-One 2.0 Release March 8, 2021

    • JANOS updated to 2.0
    • New Tasker 6.0 install
    • Serial Control updated to 7.0
    • Serial-to-Ethernet 6.0
    • SNMP updated to 3.1
    • Modbus Server 1.7
    • Slaving updated to 2.0
    • WebUI Pages (was called Dynamic Configuration Web Pages) updated 3.0.1. WebUI Pages now uses flash/www/config.zip file instead of flash/www.zip which has been renamed to flash/www.zip.old

    Series 4 All-In-One 1.9 Release May 1, 2020

    • JANOS updated to 1.9
    • Serial Control 5.0
    • Serial-to-Ethernet 6.0
    • SNMP updated to 2.6
    • Modbus Server 1.7
    • Slaving 1.5
    • WebUI Pages (was called Dynamic Configuration Web Pages) updated to 2.4

    Series 4 All-In-One 1.8 Release June 18, 2019

    • JANOS updated to 1.8
    • Serial Control 5.0
    • Serial-to-Ethernet updated to 6.0
    • SNMP 2.4
    • Modbus Server 1.7
    • Slaving 1.5
    • WebUI Pages (was called Dynamic Configuration Web Pages) updated to 2.3

    We offer Series 4 JNIOR’s that are made to be a great drop-in replacement for Series 3 JNIORs.

    If you have a Series 3 JNIOR and are looking for a replacement, they unfortunately hit end of life in 2015 and we no longer offer them. Series 4 JNIORs are essentially an improved version of the Series 3 JNIOR that offer improved hardware, more applications, and more built-in functionality. Most Series 3 applications have been modified to run on the Series 4 JNIORs as well, but the dimensions and foot print of the Series 3 JNIOR are the same as the Series 4 though.

    Here are just a few of the improvements implemented from the Series 3 to Series 4:

    • Faster processor allows for quicker responses from applications running on the JNIOR and quicker reboots for the JNIOR.
    • The Model 410 JNIORs have RS-485 capabilities for their serial connections.
    • Applications such as Tasker, Analog Presets, MQTT, Grapher, and DMX provide new functionality for the JNIOR to use.
    • Easy-to-use configuration pages through web browsers that provide more ways to make customizing your JNIOR simpler, such as a folder tab to view files on the JNIOR.
    • Series 4 JNIORs can capture network traffic between the JNIOR and other devices to help investigate and troubleshoot all data being communicated with it.

    If you have a Series 3 JNIOR and are looking to replace or upgrade to a Series 4 JNIOR, let us know and we’ll help you transition your setup!

    Using the JNIOR should be a smooth process, with only having to connect an ethernet cord to your network and finding it in the JNIOR support tool. Unfortunately nothing always goes perfectly, and maybe you aren’t able to access your JNIOR via beacon or an internet browser. Connecting to a Series 3 JNIOR serially is also a great way to troubleshoot when its no longer responding correctly. Luckily, the JNIOR can be connected to serially to access and hopefully fix this issue.

    To access the JNIOR serially, a serial cable needs to be connected between the RS-232 port on JNIOR and your computer. If you don’t have a serial port on your computer, you may need a serial to USB cable instead. Once that is connected, you can then open a command line prompt (You can open an easy to use command line from the support tool under the Tools Tab.) and access the serial connection. When doing this, make sure that the setting for the Serial Connection match what your JNIORs are. If you can’t check, the default settings for the connection are:

    • Baud Rate: 115200
    • DataBits: 8
    • StopBits: 1
    • Parity: None

    Once you have set the correct serial settings, you should be able to hit connect and access the JNIOR via the command line! If by chance you are trying to change the JNIOR’s IP because its using one that doesn’t work with your local networks IP, you can change the IP of a JNIOR by using the ‘ipconfig’ command. Simply enter ‘ipconfig -a’ followed by a space and the IP address you are trying to change the JNIOR to. For example, you are trying to change the IP address to 10.0.0.201, you would use this in the command line: ‘ipconfig -a 10.0.0.201’.

    When setting up a connection from Cinema Server to a JNIOR, there are multiple ways to create that connection. This post will go through different options, and help you determine the connection that benefits you the most.

    JNIOR Protocol

    • Advantage: It requires less time to setup, as the JNIOR protocol is listening by default, only needing the Cinema Server to be configured to connect to the JNIOR protocol.


    • Disadvantage: Commands are limited to whatever the Cinema Server’s built-in library provides. Available commands vary between Cinema Servers. Ex. Cinema Server has commands for I/O control but no commands for macro execution.

    The JNIOR Protocol is an OS defined binary protocol the JNIOR listens on. A built-in library means that the device already has pre-built commands that you can use to send to a JNIOR versus having to create the commands yourself. This connection uses both of these and should make connecting to a JNIOR much easier.

    You can check your JNIORs active connections by opening a telnet connection to it. This can be done via command line, or by using the JNIOR’s Web Pages (Java Applets for Series 3 JNIOR). Once you have this connection, you’ll enter the command ‘netstat’. This shows all the active connections on the JNIOR. If the JNIOR device is listening on a port that is defined in the list as the JNIOR protocol, then that is the port number for the JNIOR protocol.

    netstat command

    Devices that use built-in libraries will usually need to create a JNIOR device inside its interface. When creating the JNIOR device, it will typically auto-populate the device with a username and password (‘jnior’, ‘jnior’), and the port number (usually 9200 which is the default port number for the JNIOR protocol). The information missing that will need to be entered is the IP address of your JNIOR. With the IP address entered, the information required to successfully create a JNIOR device should be done. Commands can then be created using that JNIOR device to be sent to the JNIOR, such as a relay output pulse or macro execution. These commands will be already be created by the built in library and just need to be selected to be used.

    If both the Cinema Server and the JNIOR are configured as stated above and the connection doesn’t appear established when trying to send the JNIOR commands, you may need to reboot both devices for your settings to take effect.

    MODBUS Protocol

    • Advantage: It requires little time to setup, needing only the JNIOR to enable the MODBUS application and then the Cinema Server to be configured to connect to the MODBUS protocol.
    • Disadvantage: Commands are limited to whatever the Cinema Server’s built-in library provides. Available commands vary between Cinema Servers. Connection is only for devices that communicate using a modbus protocol. (GDC is the only Cinema Server that uses the modbus protocol)

    MODBUS is another application on the JNIOR that allows a Cinema Server to connect with the JNIOR. If a Cinema Server doesn’t use the Modbus protocol, it shouldn’t use this type of connection. This application comes pre-installed on the JNIOR, and needs to be enabled to run on boot. To get MODBUS running on your JNIOR you’ll need to enable it by going to the Applications section of the Configuration Tab of the JNIOR Web Pages. You’ll go to the MODBUS application and check the checkbox next to it. Once you’ve done that, you’ll need to reboot the JNIOR to get the application to start running. 

    You can check if the application is running after the reboot by going to the Console Tab of the JNIOR Web Pages and entering the command ‘ps’. This will show you all the processes running on the JNIOR, and if you enabled MODBUS is should be listed as one of the those processes. With MODBUS running, you can also check if MODBUS is listening on the correct port by running the ‘netstat’ command. The MODBUS connection should display when the ‘netstat’ command is entered in the command line.

    ps command
    netstat command

    With MODBUS running, you’ll then need to create a device in the Cinema Server interface to connect to the JNIOR. Communicating with MODBUS will use the Cinema Server’s built-in library. Devices that use built-in libraries will usually need to create a JNIOR device inside its interface. When creating the JNIOR device, it will typically auto-populate the device with a username and password (‘jnior’, ‘jnior’), and the port number (usually 9200 which is the default port number for the JNIOR protocol). The port number will need to be changed to 502 for the modbus protocol. Then the information missing that will still need to be entered is the IP address of your JNIOR. With the IP address entered, the information required to successfully create a JNIOR device should be done. Commands can then be created using that JNIOR device to be sent to the JNIOR, such as a relay output pulse or macro execution. These commands will be already be created by the built in library and just need to be selected to be used.

    If both the Cinema Server and the JNIOR are configured as stated above and the connection doesn’t appear established when trying to send the JNIOR commands, you may need to reboot both devices for your settings to take effect.

    Cinema Application

    • Advantage: Execution of macros grants more functionality then what might be available from other connections that can be created.

    • Disadvantage: Requires more setup compared to other connections that can be made between a Cinema Server and JNIOR.

    Another way to connect between a Cinema Server and the JNIOR is the Cinema application. This connection can be done via TCP or Serially. To setup this type of connection we first need to update the JNIOR with the Cinema application. Once Cinema has been installed on your JNIOR, you’ll then need to configure it to connect on a selected port. To do this you need to access the registry of the JNIOR, which can be done via command line or through the JNIOR’s Web Page (Java Applets for Series 3 JNIOR). You’ll need to edit the registry of the Cinema application to properly handle a TCP or Serial connection, which you can read about here. Once the Cinema application’s TCP port/serial settings are entered, the macro and device files will need to be created using the support tool. Macro and device files tell the JNIOR what actions to perform when they receive a specified command sent to the Cinema application. How to create macros can be viewed in a post here.

    After you have created macros and published them to your JNIOR, you will need to create a device on the Cinema Server’s interface. Make sure that if you are using a serial connection that you are creating a serial device, or if its an Ethernet connection that its a TCP device. You’ll then enter the same connection settings for that device that you have for the Cinema application on the JNIOR. (For example, if you set the Cinema application to listen on 9600, set the Ethernet device you are creating on the Cinema Server to 9600 as well.)

    Example Commands

    Finally when that is created, you can then create commands in the Cinema Server to send to the JNIOR. These commands should be made to activate macros on the JNIOR and will use ASCII instead of binary. You can also create Serial Control Commands inside of Cinema. Here are some example commands below:

    Macro Commands

    run Test\r\n - activates a macro uploaded to the JNIOR called 'Test'
    run Macro\r\n - activates a macro uploaded to the JNIOR called 'Macro'

    Serial Commands

    ::C1 - Close relay output 1
    ::O234 - Open relays 2, 3 and 4 
    ::C* - Close all relay outputs
    ::O+2 - Open relay 10
    ::C1p=1000 - Pulse relay 1 closed for 1 second

    With this you should be able to send commands from the Cinema Server to the JNIOR using the Cinema Application.

    Again, if both the Cinema Server and the JNIOR are configured as stated above and the connection doesn’t appear established when trying to send the JNIOR commands, you may need to reboot both devices for your settings to take effect.

    Serial Control

    • Advantage: It is a lightweight application and won’t use as much processing power as other applications.

    • Disadvantage: Can only control the JNIORs I/O.

    This connection can also be done via TCP or Serially. Every JNIOR comes with bundled software already installed on it, and Serial Control is one of those applications. However, its not set to run so the application doesn’t start when the JNIOR is booted up. To get Serial Control running on your JNIOR you’ll need to enabled it by going to the Applications section of the Configuration Tab of the JNIOR Web Pages. You’ll go to the Serial Control application check the checkbox next to it. Once you’ve done that, you’ll need to reboot the JNIOR to get the application to start running. Once the Serial Control application is running, you will then need to set the port number or serial settings its listening on

    You can check if the application is running after the reboot by going to the Console Tab of the JNIOR Web Pages and entering the command ‘ps’. This will show you all the processes running on the JNIOR, and if you enabled Serial Control is should be listed as one of the those processes. With Serial Control running, you can also check if Serial Control is listening on the correct port by running the ‘netstat’ command. The Serial Control connection should display when the ‘netstat’ command is entered in the command line.

    ps command
    netstat command

    Once Serial Control is running, now the Cinema Server needs a device created in its interface to connect to the JNIOR. You’ll create an Ethernet or Serial device in the Cinema Server interface, and you’ll set the IP to the IP of the JNIOR. For either a Ethernet connection or serial connection you configure them to match the settings in the Serial Control registry.

    Example Commands

    Once that device is made, you’ll make commands in the Cinema Server interface to send to the Serial Control application. Here are some examples:

    Serial Commands

    C1 - Close relay output 1
    O234 - Open relays 2, 3 and 4 
    C* - Close all relay outputs
    O+2 - Open relay 10
    C1p=1000 - Pulse relay 1 closed for 1 second

    Here is also a post that goes over commands that Serial Control can receive after a connection to it is made from the Cinema Server. With these commands created you should be able to send commands from the Cinema Server to Serial Control on the JNIOR.

    Like previously, if both the Cinema Server and the JNIOR are configured as stated above and the connection doesn’t appear established when trying to send the JNIOR commands, you may need to reboot both devices for your settings to take effect.

    When setting up a connection on your JNIOR, you may want to better customize the actions a device tells your JNIOR to perform past just I/O changes. Creating macros is a great way to get more functionality from issuing commands to the JNIOR. This post will explain how to create and upload macros to your JNIOR.

    To create macros you need to have the support tool download, which you can get here. Once the support tool is downloaded, you’ll open it and go to the macro tab. In the macro tab is where you can create and upload macros to your JNIOR. To add a new macro, you’ll select the ‘add’ button at the bottom left of the update tab and select ‘macro’. With the new macro added, you can click on the new macro to edit its name.

    After adding and naming the macro, you can then add actions to the macro. The actions are on the right side of the update tab and you can add new actions at the bottom of the action view, or edit existing ones by selecting them and editing the values in their columns. By selecting the macro and then the action you can select the arrow button between them to add the action to the macro.

    Once you finish adding your macros and actions, you’ll then need to save and publish your macro file to your JNIOR by selecting the ‘publish to JNIOR’ button. This will prompt you to save your macro file. After you save, you can then select your JNIOR to publish to. With that you’ll have created and published your macro file to a JNIOR. Now when the JNIOR receives a command to execute a macro you created, it will go through and execute each action inside the macro in order.

    Web Pages have been added for the Cinema application! These web pages have been implemented to make configuring cinema easier. This post will go over the different tabs the Cinema Web Pages have. To start, there are 7 tabs available on the Cinema Web Page. Other then the home page, each tab should display different registry settings to configure for the Cinema application.

    Home Tab

    The home tab is the opening tab when the cinema web pages are loaded. Unlike the other tabs, this page allows you extra functionality over the cinema application besides editing the registry keys. The first section allows you to enable/disable the cinema application to run on boot. Keep in mind that when changing this setting a reboot is need for it to take effect.

    The second section allows you to test the communication settings of an external device. This allows you to test the communication between the JNIOR and an external device before having to create it in the macro and devices files. Below is a quick explanation for each field.

    • Command – This section is where you enter the command you wish to try sending to the external device.
    • IP – This is where you enter the IP address of the device you wish to send to.
    • Port – This is where you enter the Port number of the device you wish to send to.
    • Hex or ASCII – This sets weather the command you send is in ASCII (text), or hexadecimal format.

    The third section displays the current connection status of the cinema application, and allows you to test macros that have been published to the JNIOR. Clicking execute will run the macros across from it. If Cinema doesn’t have a successful connection setup, it will display what isn’t setup correctly to create a connection to the Cinema application. It will also display if macros haven’t been loaded on the JNIOR yet.

    Cinema Server Tab

    Cinema.JAR can accept one or more connections from an external device using the Cinema Server Client port and this connection can be over the serial port and/or the Ethernet port. The Cinema Server tab allows you to edit the settings of the Cinema Server Client from the web page. Below is a quick explanation for each field.

    • TCP Port – Sets the TCP port that the Cinema Server connects on.
    • Serial Port – Sets the serial connection that the Cinema Server connects on.
    • Send Unsolicited I/O Alerts – Determines if any Alert such as I/O Counts or Date Stamps should be allowed through the Cinema Server Connection.
    • Send Ack – Determines if the Cinema Server Connection allows responses to be returned from the external device through the Cinema Server Connection.
    • Send Counts – Determines if the JNIOR reports each time an input changes to the external device connected through the Cinema Server Connection.
    • Send Date Stamp – Determines if each report of an I/O change on the JNIOR reported through the Cinema Server Connection gets appended with the current data and time.
    • Incoming Termination String – Sets the string that Cinema looks for at the end of each message sent to it to know if that is the end of message being sent.
    • Outgoing Termination String – Sets the string that Cinema adds to the end of each message it sends. The external device being sent to needs to know to look for this Outgoing Termination String.
    • Enable Serial Commands – Enables commands to be sent in Serial Control Format. This allows commands to be sent through that can close or open outputs on the JNIOR.

    Control Panel

    The JNIOR Control Panel Switches can be configured to trigger a macro to execute whenever the switch is pressed. The Control Panel tab allows you to assign macros to execute on the 12 control panel switches that are available. This requires you to own the control panel and have it connected to the JNIOR through the JNIOR’s sensor port.

    Fire Alarm

    The JNIOR can be assigned inputs to activate and release a fire alarm macro. The Fire alarm tab allows you to assign the inputs and the names of the macros that activate when the fire alarm is triggered and released.

    Logic and Schedule

    Cinema can setup logic statements and time events to determine when macros should be executed. The Logic Tab allows you to run macros based off of the current values of the JNIOR’s I/O as well as when other macros execute. The Schedule Tab allows you to set the time of day, the date, and the reoccurrence of when a macro is executed.

    Triggers

    Cinema can allow I/O to trigger macros similar to how the control panel works. The Triggers tab lets you assign what macros execute off specific I/O. The I/O in the triggers tab will reflect the type of JNIOR you are configuring.

    While JNIOR 412DMX units may be unavailable, JNIOR 410s can be made to work as a substitute. Note that this does NOT work for JNIOR 412s and 414s, as 410s RS-485 compatibility is the reason why it can be used as a 412DMX substitute.

    Cabling

    When trying to connect to a 410 with DMX, the cabling will need to be corrected as you need to go from an AUX port to a male/female 5-pin XLR connector. By splicing into an existing DMX cable, you can attach a DB9 adapter with screw terminals to the end of the cable. It should look something like the picture below.

    Here is the pin numbering for splicing the adapter on. Note the wire colors vary.

            Signal           XLR      DB-9 Male
    --------------------  ---------  -----------
    Signal Ground (GND)       1          5
    Data (D-)                 2          3
    Data (D+)                 3          7
    Not Used (NC)            4,5     1,2,4,6,8,9

    This cable allows the JNIOR to be a DMX FIXTURE. THE RESULTING DMX CONNECTION IS NOT ISOLATED. We recommend using an isolated power supply for the JNIOR and not sharing that voltage with other circuits. Take great care in making ground connections. Note that the JNIOR relay outputs are naturally isolated.

    Aux Port Application

    Below is an application you’ll need to update and install on the JNIOR. This is required for the JNIOR to interpret DMX communication on the JNIOR.

    Name Version Release Date Size MD5
    DmxPort for enabling DMX on 410 Mar 17 2021 3.5 KB 299c66717c03a9c9b702716d9d56d095

    Serial Settings

    The serial settings of the JNIOR need to be configured so the AUX port output doesn’t disrupt the DMX communications. Below are the settings you need to set for the AUX Port. This is located on the JNIOR\’s Webpage, in the Serial I/O section under the Configuration Tab.

    Once the cabling has been created, the DMX Port application is on the JNIOR, and the Serial Settings have been set, DMX communication should be possible on the JNIOR 410.

    If you have any questions about this, contact our support to get help with this setup using pure chat or our email: support@integpg.com.

    Name Version Release Date Size MD5
    Cinema.jar - Update Project v5.0 Mar 30 2022 547.3 KB 6a1f8c4c9f470ccd303133aa10401579
    • [!] Ignoring white-space around schedule keys.
    • [!] Schedule keys no longer require a reboot when changed or added. removed schedules will require a reboot
    • [!] Fixing an issue with embedding quotes in macro action data field
    • [!] Allow comma delimited list of macros for input triggers
    • [!] A macro in a macro list can be delayed since the start of executing the list or the execution of the last macro
    • [!] Updating the http request to handle https responses better
    • [+] Added a UDP Client listener
    • [+] Added a device test event handler
    • [+] Added Web Pages for Cinema to make testing macros and editing registry keys easier.  Access by going to http://JNIOR_IP/cinema

    Go to the Cinema.jar Application page for more information. The Cinema Knowledge-base has helpful information on how to use the features in Cinema.jar.

    Cinema.jar 4.5 December 21, 2020

    Name Version Release Date Size MD5
    Cinema.jar - Update Project v5.0 Mar 30 2022 547.3 KB 6a1f8c4c9f470ccd303133aa10401579

    4.0, 4 oct 2019

    • [+] added code to detect barco series 4 device and launch the barco pulse rpc application.

    4.1, 03 dec 2019

    • [!] trim unwanted spaces.

    4.2, 04 mar 2020

    • [!] fixed cp+8=1000 signed issue.

    4.3, 29 apr 2020

    • [!] changing the logging to use .bak files.  the addition of the logarchiver application will compress the .bak files into zip archives.
    • [!] forcing cinema_ prefix on all log files"),

     4.4, 17 nov 2020

    • [!] Modified the macro web handler to get the list of loaded macros"),
                  

    4.5, 10 dec 2020

    • [!] Fixed issue working with outputs > 20.
    • [+] rolled the barco pulse api into cinema.jar.

    Go to the Cinema.jar Application page for more information. The Cinema Knowledge-base has helpful information on how to use the features in Cinema.jar.

    Cinema.jar 3.6 August 14, 2019

    Name Version Release Date Size MD5
    Cinema.jar - Update Project v3.6 Aug 14 2019 334.6 KB d96d4ae9b9adc4f0b8cdaf9bd87518f3

    + Adding web handlers for getDevice without a device for internal io getAll.

    Cinema.jar 3.5 June 2, 2019

    Name Version Release Date Size MD5
    Cinema.jar - Update Project v3.5 Jun 02 2019 327.0 KB 57a834f2c5ac177b7b19b6dec52350ce

    + Added HTTP POST method to Macro Actions.

    + Added the ability the use HTTPS for GETs and POSTs

    Cinema.jar 3.4.1 May 29, 2019

      Cinema.jar - Update Project v3.4.1 [ May 28 2019, 320 KB, MD5: 74f51ea7ccb40962eb2118bf16457c50 ]

    • Released May 28 2019

    ! Fixed a bug where the watchdog was no longer working. In the Cinema application crashed it would not be restarted.

    Cinema.jar 3.4.0 May 16, 2019

      Cinema.jar - Update Project v3.4 [ May 16 2019, 320 KB, MD5: 63b627ede9c8a79710ddb3d7fd3ca852 ]

    • Released May 16 2019

    + Allow you to query the temperature sensor via a HTTP Request.  A JSON representation of the device will be returned.

    As of now the only available devices are Type28 and Type7E...

    Type28 is the temperature probe and Type7E is the environmental sensor.

    To enable this you will need to set the AppData/Cinema/WebServer/Port registry key. The JNIOR will need to be rebooted after this key has been changed. In this example I chose 8081. Port 80 or 443 is normally the default web server port. This web server port is an additional web server that cinema is hosting to handle these types of requests.

    Unlike the Series 4 JNIOR, the Series 3 JNIOR’s do not have a command that can be used to factory reset them. To get a Series 3 JNIOR as close to factory reset is to follow the steps below:

    Step 1: Delete the Registry

    On every JNIOR is a jnior.ini file. This file is the saved registry values on the JNIOR. To reset the registry we will need to remove this file from the JNIOR. Two ways to remove the file is to either right click the JNIOR in the support tool and go to Tools/FTP to access the files on the JNIOR, or make and command line connection and remove the file using the command line. Thing is, the JNIOR automatically backups the registry every couple of minutes, so even though we delete the jnior.ini file, it will repopulate after a few minutes. To make sure the registry does not regenerate, we have to delete the jnior.ini file, and then quickly after pull power from the JNIOR for 30 seconds. This will prevent the a backup of the JNIOR from being created. Below is how to get to the jnior.ini file by using FTP.

    Use FTP from support tool and go to the flash folder
    Delete jnior.ini file and pull power from jnior for 30 seconds

    Below is how to remove the jnior.ini with the command line:

    In the picture below we use the Series 3 Java applet configuration page to send command through command line. To open the Java applet, right click the JNIOR in support tool and select Tools/Open Classic Monitor, Configure, Control Application. Then go to the Command Line Tab and that’s where you’ll enter the command rm flash/jnior.ini. This removes the jnior.ini file in the flash folder from the JNIOR.

    Go to the Command Line tab once you login using jnior, jnior
    Enter the command rm flash/jnior.ini and hit enter, then remove power for 30 seconds

    Step 2: jrflash -f

    After resetting the registry, we’ll then want to reformat the flash memory. To do this, if you haven’t already we’ll need to make a command line connection to the JNIOR. Once a command line connection is made, you’ll enter the command jrflash -f. Let this command run, and once this is done you’ll re-update the JNIOR with the Series 3 All-In-One update project. In the picture below we use the Series 3 Java applet configuration page to send command through command line. To open the Java applet, right click the JNIOR in support tool and select Tools/Open Classic Monitor, Configure, Control Application. Then go to the Command Line Tab and that’s where you’ll enter the command.

    Go to the Command Line tab once you login using jnior, jnior
    Enter the command jrflash -f and hit enter, when command finishes update JNIOR using Series 3 All-in-one update project

    Step 3: reboot -a

    Once the flash has been reformatted and the JNIOR’s been reupdated with the Series 3 All-in-one update project, you’ll connect to the command line again the same way you did for the last step and enter one more command. Enter reboot -a, as this will reset the heap memory.  This clears up fragmented memory, so when memory is being allocated for applications or files to be moved on the JNIOR, enough space is available for them to exist.

    After that, your Series 3 JNIOR should be as close to factory reset as possible!

    You can use the scheduling in Cinema.jar to schedule macros daily, weekly or monthly. When Cinema.jar is installed and executed for the first time it will create 3 default keys. They will look like this in the registry. 

    Below are examples for the logic you can implement in Cinema using these registries.

    OnIOChange

    This logic expression will be checked whenever the JNIOR I/O changes. The I/O that can be monitored are the internal inputs and outputs on the JNIOR as well as any outputs on a 4 relay output expansion module.

    OnIOChange, din1 and din2, run test

    For the above example, each time either input 1 or 2 changes, the logic rule (din1 AND din2) will be evaluated and the macro (test) will execute if both inputs are ON.

    OnPreshowClient()

    This logic expression will be checked whenever the Preshow Client in Cinema.JAR receives a message. To specify the string/message that will cause the logic to be evaluated put it inside the parenthesis.

    OnPreshowClient(start), din3 and din4, run preshow start

    For the above example, each time the device connected to the JNIOR as the Preshow Client sends the string “start” to Cinema.JAR, the logic rule (din3 AND din4) will be evaluated and the macro (preshow start) will execute if both inputs are ON.

    OnCinemaServer()

    This logic expression will be checked whenever the Cinema Server Client in Cinema.JAR receives a message. To specify the string/message that will cause the logic to be evaluated put it inside the parenthesis.

    OnCinemaServer(movie), din5 or din6, run movie start

    For the above example, each time the device connected to the JNIOR as the Cinema Server Client sends the string “movie”, the logic (din5 OR din6) will be evaluated and the macro (movie start) will be run if either digital input is ON.

    OnMacro()

    This logic expression will be evaluated whenever the named macro has been requested to run. This logic expression can be used as a ‘lock’ to make sure certain macros can only execute when a certain I/O state exists or cannot be executed when a certain I/O state exists. To specify the macro that is bound by this logic place its name inside the parenthesis.

    OnMacro(flat start), din7

    For the above example, if the macro “flat start” is triggered to run via any method, the logic (din7) will be checked. If (din7) is ON, the macro will be allowed to run. If (din7) is OFF, the macro will not be allowed to run. 

    Below is an example registry using some of the examples above.