Any expansion module used with the JNIOR Controller needs a way to connect to it. On each JNIOR is a sensor port that allows a cable to connect from the expansion module to the JNIOR. These are 6 6-pin modular Flat cables and they use RJ-12 connectors. These cables are supplied with the purchase of an expansion module. The length of the cable that comes with each expansion module varies depending on what expansion module is purchased.
These cables can be made by anyone. All that is needed is a 6-pin modular Flat cable, two RJ-12 connectors, and a crimp tool. We have tested a cable length of 100 feet with one module, but the number of modules impacts the maximum length of the cable before failure. If the cable is too long, either the expansion module will lose power, or it will no longer receive data from the JNIOR to operate correctly. Testing and validation of the cable is up to the customer and INTEG provides no guarantees for the functionality of the modules when custom cables are used. If you are interested in making your own, here are some links to these items:
The end of the cable needs to be stripped. This will expose the 6 individual wires. The crimp tool has a stop, indicated by the arrow, that will ensure the correct length will be removed.
Insert the cable into the modular connector
Our rule of thumb is “white on the right with the tab down. It doesn’t matter as long as both ends are done the same way. Make sure to push the cable in all the way. The second picture below shows the white wire going past the copper injection pins.
Crimp the connector onto the wire
Insert the modular connecter into the crimp tool and clamp down with moderate pressure. Too light and the pins won’t puncture the insulation on the wires and touch the conductor. Too hard and the connector can be broken.
[+] Added OSC (Open Sound Control) Device, Task Action, and Trigger for OSC Device control
[+] Added Serial Devices to the Device Tab
[+] Added Device Send Action as a general action for sending and receiving data from TCP, UDP and Serial Devices
[-] Depreciated the Serial Send Action. The Device Send action should be used instead, but will continue to work until the workspace is upgraded
[-] Depreciated the TCP Send Action. The Device Send action should be used instead
[-] Depreciated the TCP Receive Action. The Device Send action should be used instead
[+] Added (Device_name)_buffer in scripting. To be used in the Device Send action. Bytes returned from the Device with the specified name inside of the (Device_name)_buffer value are returned
[+] Added hexutils.bytestohex() in scripting. Formats bytes received from the (Device_name)_buffer value to Hex format
[+] Added string.frombytes() in scripting. Formats bytes received from the (Device_name)_buffer value to String format
To get more information on anything in Tasker, you can visit the Tasker help manual from the Tasker Web Page. Select the help drop-down and click “Help”.
[+] variables that start with $$ are global variables. These are global WITHIN the workspace.
[+] added Control Panel Switch implementation
[+] added a tasks.get WebSocket handler
[+] added a task.list WebSocket handler
[+] added http post functionality
[!] scheduling changes take effect immediately when a workspace is reloaded
[+] validation on task names, device names, logger names, signal names, trigger names, and schedule names to prevent spaces and bad characters. Names can only be alphanumeric and can include underscores.
3.9, 18 nov 2020
[!] fix error where parameters used to have to be named starting with $.
3.8, 07 oct 2020
[!] fix error for only handling 8 output triggers.
[!] fix error where a temp probe couldnt be assigned to a variable.
[+] added http post functionality.
3.7, 02 oct 2020
[+] Added tracking the parent workspace name so that all of the tasks can be removed from the collection that belong to a workspace that is updated or removed.
3.6
[+] Added a tasks.get handler.
[+] Added a tasks.list message.
3.5
[+] Added a user.alert message.
3.4
[+] removed the requirement for the schedule start day.
[+] fixed the schedule reloading so that the new schedule takes effect and does not require a reboot.
It has been a while since Tasker was released. Tasker was a quick attempt at making a replacement for the Task Manager application that has been around for more than a decade, starting on the Series 3.
Ample time has now been taken to create a fully capable application that will be every bit as functional as Task Manager but offer the benefits of a rewrite, using configuration files and the latest web technology.
Some of the changes and new features are as follows:
Faster– The tasks are executed much faster and the triggers and schedule are monitored in real-time instead of once every 5 – 10 seconds.
Workspaces - Separate configuration logic into multiple workspaces. Then multiple workspaces can be loaded on the JNIOR at the same time.
Tasks are now separate from triggers. In Task Manager a Task was created and a Trigger was configured to get the Task to execute. In Tasker 3.0 Tasks are a separate entity that can be executed several different way including manual execution from the configuration page and being requested via an ASCII TCP connection.
Tasks can now send data via an Ethernet connection. To do this, a Device must be created so that the action can specify which device to send the data to. Multiple devices can be configured.
New Actions – We implemented actions that were previously available in Task Manager but are introducing many new actions like external module control, TCP communication and control structures.
Drag n Drop – Drag and Drop functionality makes it easier to design your Task logic.
Signals are now created to assign a specific property of a I/O point or sensor a name. The name can then be used in Tasks, Triggers or Loggers.
Loggers can be created to define the file name and schema or what data should be logged to that file. Each line in a Logger will be prepended with a timestamp followed by a comma. Loggers also allow you to define the number of files that should be kept with the given naming pattern. Name patterns can include date patterns. This will help you create a file per day for example.
Schedule – The schedule has additional options.
JSON Configuration files are used now instead of registry keys. Registry keys were limiting in size. The Series 3 could only store 255 characters in a registry key. It is much easier to upload configuration files to other JNIORs to replicate setups.
User Interface – The User Interface is now a native HTML application that uses the latest web technology. The latest web technology uses native HTML controls and Web-sockets to communicate with the JNIOR from your browser. This will allow accessibility over remote connections as long as port 80 is available. This is now consistent with the communication method used by the DCP. Task Manager had always used Java Applets. The Java Applets have not been able to launch in browsers for several years as they became frowned upon as security vulnerabilities.
This was just a short list of changes and new features. The documentation for Tasker should explain these topics as well as many others. If there is anything you don't understand please reach out to us for help. Additionally, if you have any suggestions or need the JNIOR to do something specific for you, please let us know.
While the netstat command has had the ability to record data being transmitted between Series 4 JNIORs and other devices for a set duration, the netstat -s command allows the JNIOR to display that information in real time. netstat -s will run a network sniffer and display all data communication connections except for the session being used to run the network sniffer.
What is a network sniffer?
A network sniffer is a tool used to analyze data packets traveling on a network. This will allow you to monitor devices connecting to the JNIOR along with the network packets they are sending to and from the JNIOR. So to start, if you want to quickly observe the list of devices that have network traffic with the JNIOR, instead of taking a whole network capture you can just use netstat -s. Once the netstat -s command is running, any keystrokes in the terminal will terminate the network sniffer.
IP Filtering
When using the netstat -s command, there is also an option to provide a filter after the command. This is useful because depending on how the JNIOR is configured, it may have tons of data being sent back and forth between different devices. Once the filer is applied, it will only show data within the filter’s parameters. For example, in the picture below the filter provided was an IP Address. So the netstat -s command will only show devices being connecting to the JNIOR with that IP address.
Port Filtering
The netstat -s command can also use port numbers for the filter as well. Any device connecting with the JNIOR on the filtered port will have that connection displayed. The example below shows a port number being used as a filter for netstat -s.
Netstat -sd
Additionally, another command option for netstat is to use netstat -sd. This command not only activates the network sniffer and displays the devices that are communicating with the JNIOR, but also displays the packet data being sent between the them as well!
Note: If the data packets for a connection are encrypted, you will not be able to see them.
The JNIOR Support Tool version 7.9 addresses an issue with new installs. The C:\INTEG\JNIOR Support Tool directory was not getting created upon install. This would prevent the Support Tool from opening.
Also in this update is a selection for the new Barco Series 4 projector.
--- Bundled --- FTP Client JBakup MODBUS Server 1.9.268 Serial Control 7.2.61 Serial To Ethernet 6.2.70 Slaving Service 3.2.156 SNMP 3.1.667 Bundled Web Pages
--- Bundled --- FTP Client JBakup MODBUS Server 1.9.268 Serial Control 7.2.61 Serial To Ethernet 6.2.70 Slaving Service 3.2.156 SNMP 3.1.667 Bundled Web Pages
--- Bundled --- FTP Client JBakup MODBUS Server 1.9.268 Serial Control 7.2.61 Serial To Ethernet 6.2.70 Slaving Service 3.2.156 UPDATED SNMP 3.1.667 Bundled Web Pages
--- Bundled --- FTP Client JBakup UPDATED MODBUS Server 1.9.268 Serial Control 7.2.61 Serial To Ethernet 6.2.70 Slaving Service 3.1.133 SNMP 3.1.667 Bundled Web Pages
--- Bundled --- FTP Client JBakup MODBUS Server 1.9.268 Serial Control 7.2.61 Serial To Ethernet 6.2.70 Slaving Service 3.1.133 SNMP 3.1.667 Bundled Web Pages
--- Bundled --- FTP Client JBakup MODBUS Server 1.9.268 UPDATED Serial Control 7.2.47 UPDATED Serial To Ethernet 6.2.70 UPDATED Slaving Service 3.1.120 UPDATED SNMP 3.1.498 UPDATED Bundled Web Pages ADDED
All-In-One 211215 December 15, 2021
This Update was pushed to support manufacturing and the supply chain issues brought on by COVID-19. Component workarounds were needed and a bump to the OS was required to support those component changes. Units built after this date will not be able to roll back to previous versions of the OS.
--- Bundled --- FTP Client JBakup ADDED MODBUS Server 1.7.236 Serial Control 7.0.31 Serial To Ethernet 6.1.53 UPDATED Slaving Service 2.0.104 SNMP 3.1.667 Tasker REMOVED [Has its own installer]
All-In-One 210304 March 4, 2021
--- Core --- JANOS 2.0 build 1.0 UPDATED DCP 3.0.1 UPDATED (moved from flash/www.zip to flash/www/config/zip)
--- Bundled --- FTP Client MODBUS Server 1.7.236 Serial Control 7.0.31 Serial To Ethernet 6.0.48 Slaving Service 2.0.104 SNMP 3.1.667 Tasker 6.0.1601 Task Manager 7.0.351
All-In-One 210202 February 2, 2021
--- Core --- JANOS 2.0 UPDATED DCP 2.4
--- Bundled --- FTP Client MODBUS Server 1.7.236 Serial Control 7.0.31 UPDATED Serial To Ethernet 6.0.48 Slaving Service 2.0.104 UPDATED SNMP 3.1.667 UPDATED Tasker 5.0.1505 ADDED Task Manager 7.0.351
All-In-One 200501 May 1, 2020
--- Core --- JANOS 1.9 UPDATED DCP 2.4
--- Bundled --- FTP Client MODBUS Server 1.7.236 Serial Control 5.0.122.1501 Serial To Ethernet 6.0.48 Slaving Service 1.5.1810.225 SNMP 2.6.532 UPDATED Task Manager 7.0.351
All-In-One 200203 February 3, 2020
--- Core --- JANOS 1.9 UPDATED DCP 2.4 UPDATED
--- Bundled --- FTP Client MODBUS Server 1.7.236 Serial Control 5.0.122.1501 Serial To Ethernet 6.0.48 Slaving Service 1.5.1810.225 SNMP 2.4.1.494 Task Manager 7.0.351
All-In-One 190618 June 18, 2019
--- Core --- JANOS 1.8 DCP 2.3
--- Bundled --- FTP Client MODBUS Server 1.7.236 Serial Control 5.0.122.1501 Serial To Ethernet 6.0.48 Slaving Service 1.5.1810.225 SNMP 2.4.1.494 Task Manager 7.0.351
While JNIORs can be configured via their Webpages or from the support tool, using the command line can offer more powerful ways to interact with them. Commands from the command line can capture network data, provide accurate logging of I/O activations, offer in-depth control on applications and more. Interacting with the help search at the bottom right of the JNIOR web page can open up the JNIOR User Manual.
This manual allows you to search for helpful information on configuring the JNIOR. We’ve generated a print out of this manual, and its accessible here. Specifically, the User Commands section should help explain what commands you can use in the command line to interact with the JNIOR.
Even though any information you’d need about the command line can be found in the JNIOR User Manual, below are links to posts about command line commands that may quicken/simplify your search for what command you may need.
--- Bundled --- FTP Client JBakup MODBUS Server 1.9.268 Serial Control 7.2.61 Serial To Ethernet 6.2.70 Slaving Service 3.2.156 SNMP 3.1.667 Bundled Web Pages
--- Bundled --- FTP Client JBakup MODBUS Server 1.9.268 Serial Control 7.2.61 Serial To Ethernet 6.2.70 Slaving Service 3.2.156 UPDATED SNMP 3.1.667 Bundled Web Pages
--- Bundled --- FTP Client JBakup UPDATED MODBUS Server 1.9.268 Serial Control 7.2.61 Serial To Ethernet 6.2.70 Slaving Service 3.1.133 SNMP 3.1.667 Bundled Web Pages
--- Bundled --- FTP Client JBakup MODBUS Server 1.9.268 Serial Control 7.2.61 Serial To Ethernet 6.2.70 Slaving Service 3.1.133 SNMP 3.1.667 Bundled Web Pages
--- Bundled --- FTP Client JBakup MODBUS Server 1.9.268 UPDATED Serial Control 7.2.47 UPDATED Serial To Ethernet 6.2.70 UPDATED Slaving Service 3.1.120 UPDATED SNMP 3.1.498 UPDATED Bundled Web Pages ADDED
All-In-One 211215 December 15, 2021
This Update was pushed to support manufacturing and the supply chain issues brought on by COVID-19. Component workarounds were needed and a bump to the OS was required to support those component changes. Units built after this date will not be able to roll back to previous versions of the OS.
--- Bundled --- FTP Client JBakup ADDED MODBUS Server 1.7.236 Serial Control 7.0.31 Serial To Ethernet 6.1.53 UPDATED Slaving Service 2.0.104 SNMP 3.1.667 Tasker REMOVED [Has its own installer]
All-In-One 210304 March 4, 2021
--- Core --- JANOS 2.0 build 1.0 UPDATED DCP 3.0.1 UPDATED (moved from flash/www.zip to flash/www/config/zip)
--- Bundled --- FTP Client MODBUS Server 1.7.236 Serial Control 7.0.31 Serial To Ethernet 6.0.48 Slaving Service 2.0.104 SNMP 3.1.667 Tasker 6.0.1601 Task Manager 7.0.351
All-In-One 210202 February 2, 2021
--- Core --- JANOS 2.0 UPDATED DCP 2.4
--- Bundled --- FTP Client MODBUS Server 1.7.236 Serial Control 7.0.31 UPDATED Serial To Ethernet 6.0.48 Slaving Service 2.0.104 UPDATED SNMP 3.1.667 UPDATED Tasker 5.0.1505 ADDED Task Manager 7.0.351
All-In-One 200501 May 1, 2020
--- Core --- JANOS 1.9 UPDATED DCP 2.4
--- Bundled --- FTP Client MODBUS Server 1.7.236 Serial Control 5.0.122.1501 Serial To Ethernet 6.0.48 Slaving Service 1.5.1810.225 SNMP 2.6.532 UPDATED Task Manager 7.0.351
All-In-One 200203 February 3, 2020
--- Core --- JANOS 1.9 UPDATED DCP 2.4 UPDATED
--- Bundled --- FTP Client MODBUS Server 1.7.236 Serial Control 5.0.122.1501 Serial To Ethernet 6.0.48 Slaving Service 1.5.1810.225 SNMP 2.4.1.494 Task Manager 7.0.351
All-In-One 190618 June 18, 2019
--- Core --- JANOS 1.8 DCP 2.3
--- Bundled --- FTP Client MODBUS Server 1.7.236 Serial Control 5.0.122.1501 Serial To Ethernet 6.0.48 Slaving Service 1.5.1810.225 SNMP 2.4.1.494 Task Manager 7.0.351
--- Bundled --- FTP Client JBakup MODBUS Server 1.9.268 Serial Control 7.2.61 Serial To Ethernet 6.2.70 Slaving Service 3.2.156 UPDATED SNMP 3.1.667 Bundled Web Pages
--- Bundled --- FTP Client JBakup UPDATED MODBUS Server 1.9.268 Serial Control 7.2.61 Serial To Ethernet 6.2.70 Slaving Service 3.1.133 SNMP 3.1.667 Bundled Web Pages
--- Bundled --- FTP Client JBakup MODBUS Server 1.9.268 Serial Control 7.2.61 Serial To Ethernet 6.2.70 Slaving Service 3.1.133 SNMP 3.1.667 Bundled Web Pages
--- Bundled --- FTP Client JBakup MODBUS Server 1.9.268 UPDATED Serial Control 7.2.47 UPDATED Serial To Ethernet 6.2.70 UPDATED Slaving Service 3.1.120 UPDATED SNMP 3.1.498 UPDATED Bundled Web Pages ADDED
All-In-One 211215 December 15, 2021
This Update was pushed to support manufacturing and the supply chain issues brought on by COVID-19. Component workarounds were needed and a bump to the OS was required to support those component changes. Units built after this date will not be able to roll back to previous versions of the OS.
--- Bundled --- FTP Client JBakup ADDED MODBUS Server 1.7.236 Serial Control 7.0.31 Serial To Ethernet 6.1.53 UPDATED Slaving Service 2.0.104 SNMP 3.1.667 Tasker REMOVED [Has its own installer]
All-In-One 210304 March 4, 2021
--- Core --- JANOS 2.0 build 1.0 UPDATED DCP 3.0.1 UPDATED (moved from flash/www.zip to flash/www/config/zip)
--- Bundled --- FTP Client MODBUS Server 1.7.236 Serial Control 7.0.31 Serial To Ethernet 6.0.48 Slaving Service 2.0.104 SNMP 3.1.667 Tasker 6.0.1601 Task Manager 7.0.351
All-In-One 210202 February 2, 2021
--- Core --- JANOS 2.0 UPDATED DCP 2.4
--- Bundled --- FTP Client MODBUS Server 1.7.236 Serial Control 7.0.31 UPDATED Serial To Ethernet 6.0.48 Slaving Service 2.0.104 UPDATED SNMP 3.1.667 UPDATED Tasker 5.0.1505 ADDED Task Manager 7.0.351
All-In-One 200501 May 1, 2020
--- Core --- JANOS 1.9 UPDATED DCP 2.4
--- Bundled --- FTP Client MODBUS Server 1.7.236 Serial Control 5.0.122.1501 Serial To Ethernet 6.0.48 Slaving Service 1.5.1810.225 SNMP 2.6.532 UPDATED Task Manager 7.0.351
All-In-One 200203 February 3, 2020
--- Core --- JANOS 1.9 UPDATED DCP 2.4 UPDATED
--- Bundled --- FTP Client MODBUS Server 1.7.236 Serial Control 5.0.122.1501 Serial To Ethernet 6.0.48 Slaving Service 1.5.1810.225 SNMP 2.4.1.494 Task Manager 7.0.351
All-In-One 190618 June 18, 2019
--- Core --- JANOS 1.8 DCP 2.3
--- Bundled --- FTP Client MODBUS Server 1.7.236 Serial Control 5.0.122.1501 Serial To Ethernet 6.0.48 Slaving Service 1.5.1810.225 SNMP 2.4.1.494 Task Manager 7.0.351
Added hysteresis to garbage collection to eliminate GC storming
Fixed web server memory leak
Enhanced command line RM/DEL command to override confirmation on wildcard use
Allow multiple commands on a single command line using separators like ‘;’
Implemented command line ‘|’ piping capability
Enhanced CAT command with HEAD and TAIL usage to support piping
Implemented command line conditional execution && and || syntax
Enhanced GC -M and GC -B memory analysis to report Java class information
Applications can optionally log to external SYSLOG server
Hostname in SYSLOG report includes jrS/N Birthname
Corrected direct JMP connection not forwarding console output
Corrected direct JMP connection File Read failure
Fixed issue with Java Sockets SoTimeout exceptions
Improved inter-process messaging to avoid queue assertions
Added command line real-time network sniffer with filtering
Added Email queue management
Corrected REGEX matching issue
Eliminated memory leak with JSON decode
Fixed Web Authentication. No longer gets stuck in loop.
Expanded command line history to 200 commands
Eliminated dormant message queue issues
Fixed FTPClient class issue with retrieving data
Corrected buffer overrun by command line parameters
Eliminated null pointer issue in network race condition
Enhanced MANIFEST to use optional database
Prevent illegal IP address settings blocking network use
Corrected buffer overrun caused by security scanners
Eliminated Resource Deadlock after assertion
JANOS 2.3 Release February 2, 2023
The release fixed an issue with the Ethernet becoming "locked up". The JNIOR could become unresponsive while servicing the network on busy networks.
Build 1.0
Corrected memory issue with KILL and message loop use
Corrected garbage collection issue with static classes in the JVM
Corrected memory issue with serial port buffer resizing
Delayed Java Thread startup to insure completion of initialization
Added KILL -A feature to terminate all applications
Initial (January 25 2023)
Initialized the Working Directory for command line scripting
Increased network frame buffers to improve throughput
Increased number of available application watchdogs from 8 to 16
Added WDT_SILENT so watchdogs can be used to schedule programs and not logged as triggered
Updated PS process listings to display pending watchdogs as scheduled execution
Improved PING statistics
Eliminated assertion in loading classes using InvokeDynamic
Eliminated memory leak in JVM class caching
Corrected IO signature performance with IO changes
Corrected TAB auto-complete issue with second parameter
PHP Registry lists now sorted by name
Eliminated chance of socket deadlock that would require a hard reboot
Added check for network during boot logging to avoid reboot loop
JANOS 2.2 Release June 28, 2022
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
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
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.
When creating a device in the Support Tool to send macros to, there is a predefined list of devices you can select from. If the device you are trying to send to isn’t listed, you can still send to it. The Doremi is one of these devices, and Cinema has preset commands implemented to send to it. This post should explain how to use these preset commands to communicate with it via Ethernet.
Note: This functionality requires that you have Cinema 6.0 or greater. Also, if you are unfamiliar with creating macro and device files, check out this post first to better understand how.
To communicate with any device that doesn’t exist in the predefined device list, you need to choose the Raw Ethernet device from that list. This is placeholder that you can use to define whatever Ethernet device you are trying to connect to. In order to use the preset command for the Doremi, all you need to do is name the device “doremidcp”, and assign the IP of the Doremi and its Port number. Unless you changed the Doremi’s default port number, it should be 11730. With this the Doremi Device file should be good to save and publish.
Next you’ll want to link the device file in the Macro tab of the Support Tool, add and name a macro to the macro view, and then add and name an action to the action view. The Doremi has hex commands which it uses to let other devices send it commands. Cinema has been updated to convert 5 of these hex commands as preset strings for the Doremi commands: Play, Pause, Eject, Shutdown, and Reboot. In order to create an action in the action view for sending one of these Doremi commands, you’ll select the Doremi Device you created as the device in the action, choose the send action, and for the data being sent you’ll enter ‘command:’ followed by the command you want to send. For example, if you want to send the Play command to the Doremi, you’ll enter ‘command:play’. After that you simply add the action to the macro and publish it to the JNIOR.
Note: As mentioned previously these preset commands were made from hex commands that the Doremi uses. There are other commands the Doremi can receive using hex, but these presets were made for the more commonly used ones.
With that, you should have a macro that sends to your Doremi via Ethernet! If you need other commands or additional assistance, reach out to our support team and we’ll help you further.
Sometimes when changing around the configuration on the JNIOR, you may be changing different registry keys to get your desired setup. Some point in the future, being able to check when those registry keys were changed can be useful. Doing the reg [registry key name] -m command allows you to get the timestamp of the last a time a registry key was changed. The timestamp format is [YYMMDDHHMM]
For example, if you wanted to see the last time the IP of your JNIOR changed, you can type ‘reg IpConfig/IPAddress -m’ in the JNIOR command line, and it will return the last time the registry key for the JNIOR’s IP changed.
You can also do this command for registry folders, which will return the last time each registry key in that folder has changed.
+ 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.
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.
While the Cinema application has the functionality to send a UDP command to another JNIOR, did you know that it can do a UDP broadcast command also? This allows the JNIOR to send a UDP command to any JNIORs listening on that UDP port at the same time. This post will explain how to set this up. This post assumes you’ve already installed the Cinema application on your JNIOR. If you haven’t, here is a post that shows you how to install Cinema on your JNIOR.
Device File
First, to setup the broadcast you need to create a RAW UDP device in the support tool under the device tab. Here you can add a device from the ‘Add’ button at the bottom of the Device tab, and after naming it (I’ve named it ‘UDP_Broadcast’ for this example) you assign it as a RAW UDP device type. For the IP Address, it needs to be set to 255.255.255.255 so when this device is sent to from a macro command, it will send to any device listening on the same UDP port. The UDP port will be whatever UDP port you want to broadcast on. Just make sure the devices you are broadcasting to are also listening on that same UDP port (This example uses port 5554).
Macro File
Once this device is setup, you’ll save the device file locally and publish it to the JNIOR that will be broadcasting the command. You’ll then move onto the Macro tab in the JNIOR support tool. The first thing to do here is to select the ‘Link Devices’ option and select the device file you just created. This allows you to reference the ‘UDP_Broadcast’ device you created in your macros. Here in the Macro tab, a macro can be made that sends a command out to JNIORs via the UDP_Broadcast device. You’ll select the ‘Add’ button at the bottom left of the Macro tab, and this will add a macro in the macro view. You’ll name the macro (I’ve named it ‘Hello’ for this example) and then you’ll add an action to this macro. You’ll select the ‘Add’ button at the bottom right of the Macro tab this time, and add an action to the action view. Here you’ll name the action (I’ve named it ‘Broadcast Hello’ for this example) and then you’ll set the action’s device to the ‘UDP_Broadcast’ device from the device file we created. After this you’ll select the ‘send’ action for the macro, and for the data you can enter the whatever data you want to broadcast to other devices (I’ve made the data ‘Hello’ for this example). Lastly, you’ll select the macro ‘Hello’ and the action ‘Broadcast Hello’ at the same time, and then select the ‘<-‘ button between the Macro and Action views. This will add the ‘Broadcast Hello’ action to the ‘Hello’ Macro. After this you’ll save the macro file locally and publish it to the JNIOR that will be broadcasting the command.
Setting Cinema UDP Port
Your JNIOR should now be setup so when the ‘Hello’ macro is activated, it will broadcast to any JNIOR listening on port 5554 the command ‘Hello’. If you are trying to broadcast to other JNIOR’s running Cinema, you can send UDP commands to their Cinema application directly. Just make sure you have Cinema’s UDP port setup for each JNIOR that should be listening for those UDP commands. You can do this by going to the registry of a JNIOR, and under AppData/Cinema/ you set the registry key UdpServerPortNumber to the UDP port Cinema should be listening on. After setting this registry key, make sure to reboot that JNIOR so the change takes effect.
[+] variables that start with $$ are global variables. These are global WITHIN the workspace.
[+] added Control Panel Switch implementation
[+] added a tasks.get WebSocket handler
[+] added a task.list WebSocket handler
[+] added http post functionality
[!] scheduling changes take effect immediately when a workspace is reloaded
[+] validation on task names, device names, logger names, signal names, trigger names, and schedule names to prevent spaces and bad characters. Names can only be alphanumeric and can include underscores.
3.9, 18 nov 2020
[!] fix error where parameters used to have to be named starting with $.
3.8, 07 oct 2020
[!] fix error for only handling 8 output triggers.
[!] fix error where a temp probe couldnt be assigned to a variable.
[+] added http post functionality.
3.7, 02 oct 2020
[+] Added tracking the parent workspace name so that all of the tasks can be removed from the collection that belong to a workspace that is updated or removed.
3.6
[+] Added a tasks.get handler.
[+] Added a tasks.list message.
3.5
[+] Added a user.alert message.
3.4
[+] removed the requirement for the schedule start day.
[+] fixed the schedule reloading so that the new schedule takes effect and does not require a reboot.
It has been a while since Tasker was released. Tasker was a quick attempt at making a replacement for the Task Manager application that has been around for more than a decade, starting on the Series 3.
Ample time has now been taken to create a fully capable application that will be every bit as functional as Task Manager but offer the benefits of a rewrite, using configuration files and the latest web technology.
Some of the changes and new features are as follows:
Faster– The tasks are executed much faster and the triggers and schedule are monitored in real-time instead of once every 5 – 10 seconds.
Workspaces - Separate configuration logic into multiple workspaces. Then multiple workspaces can be loaded on the JNIOR at the same time.
Tasks are now separate from triggers. In Task Manager a Task was created and a Trigger was configured to get the Task to execute. In Tasker 3.0 Tasks are a separate entity that can be executed several different way including manual execution from the configuration page and being requested via an ASCII TCP connection.
Tasks can now send data via an Ethernet connection. To do this, a Device must be created so that the action can specify which device to send the data to. Multiple devices can be configured.
New Actions – We implemented actions that were previously available in Task Manager but are introducing many new actions like external module control, TCP communication and control structures.
Drag n Drop – Drag and Drop functionality makes it easier to design your Task logic.
Signals are now created to assign a specific property of a I/O point or sensor a name. The name can then be used in Tasks, Triggers or Loggers.
Loggers can be created to define the file name and schema or what data should be logged to that file. Each line in a Logger will be prepended with a timestamp followed by a comma. Loggers also allow you to define the number of files that should be kept with the given naming pattern. Name patterns can include date patterns. This will help you create a file per day for example.
Schedule – The schedule has additional options.
JSON Configuration files are used now instead of registry keys. Registry keys were limiting in size. The Series 3 could only store 255 characters in a registry key. It is much easier to upload configuration files to other JNIORs to replicate setups.
User Interface – The User Interface is now a native HTML application that uses the latest web technology. The latest web technology uses native HTML controls and Web-sockets to communicate with the JNIOR from your browser. This will allow accessibility over remote connections as long as port 80 is available. This is now consistent with the communication method used by the DCP. Task Manager had always used Java Applets. The Java Applets have not been able to launch in browsers for several years as they became frowned upon as security vulnerabilities.
This was just a short list of changes and new features. The documentation for Tasker should explain these topics as well as many others. If there is anything you don't understand please reach out to us for help. Additionally, if you have any suggestions or need the JNIOR to do something specific for you, please let us know.
The release fixed an issue with the Ethernet becoming “locked up”. The JNIOR could become unresponsive while servicing the network on busy networks.
Build 1.0
Corrected memory issue with KILL and message loop use
Corrected garbage collection issue with static classes in the JVM
Corrected memory issue with serial port buffer resizing
Delayed Java Thread startup to insure completion of initialization
Added KILL -A feature to terminate all applications
Initial (January 25 2023)
Initialized the Working Directory for command line scripting
Increased network frame buffers to improve throughput
Increased number of available application watchdogs from 8 to 16
Added WDT_SILENT so watchdogs can be used to schedule programs and not logged as triggered
Updated PS process listings to display pending watchdogs as scheduled execution
Improved PING statistics
Eliminated assertion in loading classes using InvokeDynamic
Eliminated memory leak in JVM class caching
Corrected IO signature performance with IO changes
Corrected TAB auto-complete issue with second parameter
PHP Registry lists now sorted by name
Eliminated chance of socket deadlock that would require a hard reboot
Added check for network during boot logging to avoid reboot loop
JANOS 2.2 Release June 28, 2022
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
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
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.
--- Bundled --- FTP Client JBakup UPDATED MODBUS Server 1.9.268 Serial Control 7.2.61 Serial To Ethernet 6.2.70 Slaving Service 3.1.133 SNMP 3.1.667 Bundled Web Pages
--- Bundled --- FTP Client JBakup MODBUS Server 1.9.268 Serial Control 7.2.61 Serial To Ethernet 6.2.70 Slaving Service 3.1.133 SNMP 3.1.667 Bundled Web Pages
--- Bundled --- FTP Client JBakup MODBUS Server 1.9.268 UPDATED Serial Control 7.2.47 UPDATED Serial To Ethernet 6.2.70 UPDATED Slaving Service 3.1.120 UPDATED SNMP 3.1.498 UPDATED Bundled Web Pages ADDED
All-In-One 211215 December 15, 2021
This Update was pushed to support manufacturing and the supply chain issues brought on by COVID-19. Component workarounds were needed and a bump to the OS was required to support those component changes. Units built after this date will not be able to roll back to previous versions of the OS.
--- Bundled --- FTP Client JBakup ADDED MODBUS Server 1.7.236 Serial Control 7.0.31 Serial To Ethernet 6.1.53 UPDATED Slaving Service 2.0.104 SNMP 3.1.667 Tasker REMOVED [Has its own installer]
All-In-One 210304 March 4, 2021
--- Core --- JANOS 2.0 build 1.0 UPDATED DCP 3.0.1 UPDATED (moved from flash/www.zip to flash/www/config/zip)
--- Bundled --- FTP Client MODBUS Server 1.7.236 Serial Control 7.0.31 Serial To Ethernet 6.0.48 Slaving Service 2.0.104 SNMP 3.1.667 Tasker 6.0.1601 Task Manager 7.0.351
All-In-One 210202 February 2, 2021
--- Core --- JANOS 2.0 UPDATED DCP 2.4
--- Bundled --- FTP Client MODBUS Server 1.7.236 Serial Control 7.0.31 UPDATED Serial To Ethernet 6.0.48 Slaving Service 2.0.104 UPDATED SNMP 3.1.667 UPDATED Tasker 5.0.1505 ADDED Task Manager 7.0.351
All-In-One 200501 May 1, 2020
--- Core --- JANOS 1.9 UPDATED DCP 2.4
--- Bundled --- FTP Client MODBUS Server 1.7.236 Serial Control 5.0.122.1501 Serial To Ethernet 6.0.48 Slaving Service 1.5.1810.225 SNMP 2.6.532 UPDATED Task Manager 7.0.351
All-In-One 200203 February 3, 2020
--- Core --- JANOS 1.9 UPDATED DCP 2.4 UPDATED
--- Bundled --- FTP Client MODBUS Server 1.7.236 Serial Control 5.0.122.1501 Serial To Ethernet 6.0.48 Slaving Service 1.5.1810.225 SNMP 2.4.1.494 Task Manager 7.0.351
All-In-One 190618 June 18, 2019
--- Core --- JANOS 1.8 DCP 2.3
--- Bundled --- FTP Client MODBUS Server 1.7.236 Serial Control 5.0.122.1501 Serial To Ethernet 6.0.48 Slaving Service 1.5.1810.225 SNMP 2.4.1.494 Task Manager 7.0.351
--- Bundled --- FTP Client JBakup MODBUS Server 1.9.268 Serial Control 7.2.61 Serial To Ethernet 6.2.70 Slaving Service 3.1.133 SNMP 3.1.667 Bundled Web Pages
--- Bundled --- FTP Client JBakup MODBUS Server 1.9.268 UPDATED Serial Control 7.2.47 UPDATED Serial To Ethernet 6.2.70 UPDATED Slaving Service 3.1.120 UPDATED SNMP 3.1.498 UPDATED Bundled Web Pages ADDED
All-In-One 211215 December 15, 2021
This Update was pushed to support manufacturing and the supply chain issues brought on by COVID-19. Component workarounds were needed and a bump to the OS was required to support those component changes. Units built after this date will not be able to roll back to previous versions of the OS.
--- Bundled --- FTP Client JBakup ADDED MODBUS Server 1.7.236 Serial Control 7.0.31 Serial To Ethernet 6.1.53 UPDATED Slaving Service 2.0.104 SNMP 3.1.667 Tasker REMOVED [Has its own installer]
All-In-One 210304 March 4, 2021
--- Core --- JANOS 2.0 build 1.0 UPDATED DCP 3.0.1 UPDATED (moved from flash/www.zip to flash/www/config/zip)
--- Bundled --- FTP Client MODBUS Server 1.7.236 Serial Control 7.0.31 Serial To Ethernet 6.0.48 Slaving Service 2.0.104 SNMP 3.1.667 Tasker 6.0.1601 Task Manager 7.0.351
All-In-One 210202 February 2, 2021
--- Core --- JANOS 2.0 UPDATED DCP 2.4
--- Bundled --- FTP Client MODBUS Server 1.7.236 Serial Control 7.0.31 UPDATED Serial To Ethernet 6.0.48 Slaving Service 2.0.104 UPDATED SNMP 3.1.667 UPDATED Tasker 5.0.1505 ADDED Task Manager 7.0.351
All-In-One 200501 May 1, 2020
--- Core --- JANOS 1.9 UPDATED DCP 2.4
--- Bundled --- FTP Client MODBUS Server 1.7.236 Serial Control 5.0.122.1501 Serial To Ethernet 6.0.48 Slaving Service 1.5.1810.225 SNMP 2.6.532 UPDATED Task Manager 7.0.351
All-In-One 200203 February 3, 2020
--- Core --- JANOS 1.9 UPDATED DCP 2.4 UPDATED
--- Bundled --- FTP Client MODBUS Server 1.7.236 Serial Control 5.0.122.1501 Serial To Ethernet 6.0.48 Slaving Service 1.5.1810.225 SNMP 2.4.1.494 Task Manager 7.0.351
All-In-One 190618 June 18, 2019
--- Core --- JANOS 1.8 DCP 2.3
--- Bundled --- FTP Client MODBUS Server 1.7.236 Serial Control 5.0.122.1501 Serial To Ethernet 6.0.48 Slaving Service 1.5.1810.225 SNMP 2.4.1.494 Task Manager 7.0.351
String Converter is an application that works as a middle man between two devices trying to communicate with each other, converting the commands between them so they can understand one another. This post aims to explain how this application is setup to work after installing it on your JNIOR.
To configure StringConverter, you’ll first open a web browser and enter the in the URL your JNIOR’s IP address followed by “stringconverter”. For example, if your JNIOR’s IP address is 10.0.0.100, StringConverter’s URL in the web browser will be “10.0.0.100/stringconverter”.
After accessing StringConverter’s Web Page, the first thing you’ll need to do is setup the connection settings at the top of the page. There are two connections you are setting up: one for the device sending to the JNIOR (Server Settings), and one for device the JNIOR is sending to (Client Settings). This communication can go from Client, to JNIOR, to Server as well though.
String Converter handles the connection scheme of Server -> JNIOR -> Client AND Client -> JNIOR -> Server
Ethernet and Serial Connections
When settings up the connections for String Converter, you can either have a Serial connection or an Ethernet connection for the Server and Client. Serial and Ethernet connections will require different settings to connect, but will always have a field for the Termination String. So before explaining the settings of each type of connection we’ll go over the Termination String. The Termination String is used to determine when the end of a command has been reached. Termination Strings are not required, but if not entered String Converter will wait for a timeout. This means after a device has sent to a command to the String Converter application, it will wait for small amount of time and if nothing else was sent it assumes the command has been fully sent.
Ethernet Settings
For the Ethernet settings, for the Server Settings only the port number value is listed, because the IP will always be the JNIOR’s IP. The port value should be set to listen for the device sending to it. (If the device is sending on port 9222, the set the server port number value to 9222) For the Client, the IP field will be there and requires the IP and port number of the device the JNIOR is sending to.
Serial Settings
For both Server and Client Serial Settings, you only have to declare if the Serial connection is going to the AUX or COM (RS-232) port of the JNIOR.
As the note says in the picture, both the Server and Client can’t be set to the same Serial port. StringConverter will not save if this happens.
If the device connecting to the JNIOR has specific Serial settings, you’ll need to set the JNIOR to match them. This is set on the JNIOR Web Page in the Serial I/O section under the Configuration Tab.
Lastly, when entering the connection settings for the Server and Client, fields other then the termination string can’t be left empty. This is true for both Serial AND Ethernet connections of the Server and Client, meaning if you are using a Serial connection for the Server or Client, the Ethernet settings for them cannot be left blank even while hidden. String Converter’s web page will not let you save if a field (other then the Termination String) in the Server or Client’s connections settings is left blank. Dummy data can be entered to get around this.
Conversions
Once the connection settings have been entered, the next section to setup is the Conversions. In this section there are conversions from the Server to the Client, and conversions from the Client to the Server.
The arrows between the conversions indicate what the command is being converted to. For example if under Server to Client Conversions you have “test >>> testing”, that means that if the Server sends “test” to the String Converter application, it will convert it to “testing” and pass that command over to the Client.
NOTE: When making conversions, make sure a command doesn’t have multiple conversions. An example would be having one conversion be “test >>> testing” and another conversion be “test >>> tester”. StringConverter wouldn’t know which conversion to use for test because it has more then one defined, and will not save if you do this.
Hex
Hex can be entered in conversions regardless if its being sent from the Server or Client. Hex values should be formatted as \x00 for each hex value with no spaces between them.
Regex
Regex or Regular Expression, is a sequence of characters that represents a search pattern in text. Regex can be used to represent certain parts of text without specifically entering them. A good example of how this is useful is if you are trying to make conversions in StringConverter for commands that set the volume of device. If the devices range of volume is 1 – 100, and you want conversions to handle each volume level, you’d have to make one hundred conversions! To avoid that, you can use a regex pattern to represent the digit of the volume, while specifying the rest of the command that would be used to set the volume. When implementing Regex for each grouping of values, they can each be substituted in for by order. In the order they are defined in the conversion from left to right, the first grouping is represented by %1, the second by %2, the third by %3, etc. regexr.com is a good place to try out testing and understanding regular expressions if you are unfamiliar with them.
Saving
After you have defined your connection settings and conversions correctly. You’ll want to save your settings for StringConverter. Either at the bottom right or top right of the page should have a Save button. Select this, and if there are no errors in your configuration it will save. If it doesn’t save, then that means you need to look back through and make sure you have everything filled out, that no commands have multiple conversions for themselves, and that the Serial setting aren’t set to the same Serial port. After saving, the last step is to restart the StringConverter application. The easiest way to do this is by rebooting the JNIOR. This is needed to make sure the JNIOR is listening and connecting on the right connection settings. Now StringConverter should be ready to convert commands between your two devices!
We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.OK