Name Version Release Date Size MD5
JANOS - UPD v2.0 Mar 08 2021 915.6 KB 0ac9a73fec33b08f0b0512a38afe5bc6
Series 4 All-In-One Update Project v2.0 Mar 08 2021 2.7 MB ecad5513459a8ad78b3b36ffc95da0b6
Core JANOS Update Project v2.0 Mar 08 2021 1.0 MB 32f939fc0d0c5d13d9481aa46c0ba2c8
JANOS Release Notes v2.0 Mar 04 2021 324.3 KB 81f7edf74db3d83c8792ba551cf6db88
  • 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 (Released February 3 2020) 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) 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 3 December 2018) 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 26 July 2018) 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

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 see the 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

This post goes over an application that goes through the Iolog, grabs IoEvents that occur every second, reports their Input States as a String out the AUX Port. Link to the GitHub code is here: Serial Input State Reporter Code


It starts by declaring 4 Global variables:

Iolog iolog = new Iolog: Creates an instance of the Iolog, where we can grab IoEvents that occurred on the JNIOR.

AUXSerialPort serialPort = new AUXSerialPort: Creates an instance of the AUX Port object that we can use to send serial commands out the AUX Port.

Long refreshTime = 0: This Long gets set to the most recent IoEvent’s timestamp pulled from the Iolog. This is used in iolog.refresh(Long) to pull only recent IoEvents, else we’d be checking every IoEvent from the Iolog everytime, which would include ones we’ve already looked at.

String lastKnownStates: This string is populated with what we build with the stringBuilder variable. This is what gets sent out the AUX Port.


This application first uses a constructor that will call the other functions used in this application. This constructor also is used to open the AUX Port for sending out data.


The first function called in the application is getInputEvents(). This function checks the Iolog for IoEvents, and if they exist it goes through each one, takes its Input State, and calls the buildInputStateString(Int) for each IoEvents Input State. If there are no IoEvents pulled from the Iolog, then the JNIOR’s current Input State is grabbed instead and is used in the buildInputStateString(Int) function.


The buildInputStateString(Int) function goes through the Input State value its given and loops through the value by its bits, shifting each one down to the end and doing an AND operation against each bit to determine for each Input State if the Input is High or Low. Every 4th bit is spaced out. These values are appended by a stringBuilder, which after looping through the Input State given to the function, generates a String command relaying each Input States value. This is set to the global variable lastKnownStates, and then is used in the sendInputStateString() function.


The sendInputStateString() function uses the global variable lastKnownStates String by sending the String out the AUX Port.


Finally, the main function declares a constructor of this applications class, uses it to call the getInputEvents() function inside of a while loop. This loop then checks every second for all of the IoEvents that occurred and uses their Input State for the other functions, sending their Input States as Strings out of the AUX Port.

Example String: If an IoEvent reported input 1 and 7 were high, the string generated and then sent out of the AUX Port would be “0000 0100 0001”.

Name Version Release Date Size MD5
Tasker v8.1 Jul 29 2021 2.9 MB 48f35fa8f1bd4fe285857cd55df99f49
  • [!] fixed addressing more than one LED modules
  • [+] added 10v Fade for percentage and voltage
  • [!] fixed an issue where new signals were not available until the page was reloaded
  • [~] new objects have a default name provided
  • [+] now indicating the Latitude and Longitude format
  • [!] fixed the user alert action
  • [!] fixed where object could be added twice quickly
  • [+] added a delay to the tool tips to prevent them from flashing
  • [+] email profile names can now be specified in a variable

Tasker 8.0 July 8, 2021

Name Version Release Date Size MD5
Tasker v8.0 Jul 12 2021 2.9 MB ada6b724f74b802fb5d880c1124209b8

New Help System! Take a look and give us your feedback!

  • [+] created a Workspace page to manage multiple Workspaces
  • [+] created a Workspace Pane on the right of the Tasker Page when a Workspace is open
  • [+] added a Registry Write Action
  • [+] added a Serial Send Action
  • [+] added a prompt for user when leaving the Tasker web page when Changes are in progress.
  • [+] new help system
  • [+] added notes for Workspaces
  • [+] added the ability to clone Workspaces and tasks
  • [+] added the ability to initialize variables via json task.execute handler
  • [~] all disabled objects now contain red font and a gray background
  • Lots of small UI tweaks for a better user experience

Go to the Tasker Application page for more information

Tasker 7.0 May 10, 2021

Name Version Release Date Size MD5
Tasker v7.0 May 10 2021 2.2 MB 796406e49d98e58119d9f39b94886b14
  • [!] corrected the Log Null On Boot checkbox.  It was showing unchecked though it should be checked by default.
  • [!] corrected an issue where a deleted workspace does not unload from tasker
  • [+] can now easily enable / disable an entire workspace via the File menu
  • [+] disabled workspaces will have a red banner and footer alerting the user that they are disabled
  • [+] added the ability to trigger on any input or any output
  • [+] added the ability to reorder the tasks in the Web App
  • [+] added a warning message when navigating away from the Web App to alert the user of unsaved changes.
  • [~] redesigned the "Add Action" dialog to be less busy
  • [+] previously selected Task will be reselected on page reload
  • [+] added Grapher to the Tasker install

Go to the Tasker Application page for more information

Tasker 6.1 April 30, 2021

  • [!] Fixed an issue where a blank DateFormat field in a Log Profile would cause the timestamp to not get logged
  • [+] added the ability to trigger on either high or low signals for digital inputs or relay outputs
  • [+] added a variable to task scope for the object that caused a task to execute. the variable can be referenced as task.caller
  • [+] adding get task devices web handler
  • [!] fixed issue where devices werent found when loading tasks because tasks were being loaded before devices
  • [+] log what is being sent from an Eethernet device to tasker_devices.log
  • [!] corrected issue with the log profile file retention method. We were not correctly identifying the files matching the fileformat.
  • [!] corrected issue where getDoubleParam was expecting a variable to start with $. This is no longer a requirement.
  • [+] implemented Clear Input Latch action
  • [+] added the ability to trigger on ANY control panel switch
  • [*] Updated the status message that it is sent any time a task is executed with the name of the calling object

Tasker 6.0 March 18, 2021

Name Version Release Date Size MD5
Tasker v6.0 Mar 18 2021 1.3 MB dc9fd5f96047b8e946e67cfcab9d79cb

Warning: The Triggers tab functionality was reworked!  Any Triggers that are currently defined will need to be reconfigured.

  • [*] reworking triggers
  • [*] adding single switch control panel trigger
  • [*] adding multi-switch control panel trigger
  • [*] adding delayed reset
  • [+] added WebServerPort registry key Default -1 or meaning disabled
  • [+] adding ExecuteTask web request handler /executetask name=TASK_NAME
  • [+] adding GetLoadedTasks web request handler /getloadedtasks
  • [+] automatic upgrading of old trigger configuration

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

Tasker 5.0 May 5, 2021

  • [+] adding action to kill, cancel or abort a task
  • [+] adding HTTP request action
  • [+] adding MQTT publish action

Tasker 4.0 December 18, 2020

Name Version Release Date Size MD5
Tasker v4.0 Dec 18 2020 1.2 MB e0b99c9f4ffdb2294dab5596c9d9613f

4.0, 10 dec 2020

  • [+] 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.

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

Tasker 3.3 July 29, 2020

Name Version Release Date Size MD5
Tasker v3.3 Jul 30 2020 1.0 MB 5783b3bda071222b48775e5ffb9e4b3d
  • [+] adding duplicate instance check
  • [+] variables that start with :: shall be global
  • [+] add TCP Recv
  • [+] add TCP Close
  • [+] new execute script action
  • [+] uses new scripting engine
  • [!] fixed issue where dst timezone was not being logged
  • [+] adding action to prepend to file
  • [+] adding retry logic to external identifier objects. included creating external identifier parent class
  • [+] adding action to copy file
  • [+] adding action to move file
  • [+] add ascii tcp and serial servers for tasker control
  • [~] now preventing spaces in workspace names. current workspace files with spaces will be renamed with an UNDERSCORE

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

Tasker 3.2 June 18, 2020

Name Version Release Date Size MD5
Tasker v3.2 Jun 18 2020 958.1 KB 953712536000b330ad267047b7ee274d
  • + added 4-20ma modules
  • + added 10v modules
  • + added email send attachment option

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

Tasker 3.1 May 1, 2020

Name Version Release Date Size MD5
Tasker v3.1 May 05 2020 942.1 KB 47e03374e8a8791ec0a922f38e62f174
  • Added If / Else Block Task Action
  • Added While Loop Task Action
  • Added SNMP Trap Task Action - Tutorial
  • Help pages are in progress
  • Upload and download workspaces
  • Delete a workspace (Workspace is backed up)

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

Tasker 3.0 April 20, 2020

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.

For more information go to the Tasker Page

When working within Tasker, if you’ve created a workspace you no longer want, you can delete it using the file menu or workspace pane. But what if you delete and then realize that was a mistake? The good news is that its recoverable. To re-obtain the workspace you need to open the JNIOR Web Page and access the Folder Tab and go to the directory /flash/tasker/workspaces.

In this example the workspace we are trying to recover is called “Example_Workspace”. While all workspace files are json files, you’ll notice that the file we are looking for has a “.bak” at the end of it. This is a backup of the workspace you made. To recover it, you simply need to re-name the file without the .bak. Once you’ve done that, the workspace should be accessible again!

When using Tasker, there may be an instance where something isn’t working properly. Here is a list of solutions for different issues where your Tasker setup might not be running correctly.

Workspace/Trigger/Schedule/Task may be disabled

When waiting for a schedule to activate, pressing a control panel to activate a trigger, or executing a task in the Task tab, all three of these things can be disabled so they don’t activate when you don’t want them to. Even the entire workspace can be disabled. Make sure that when activating something in Tasker that it isn’t disabled. You can make sure by looking at the checkbox next to them and making sure they are checked. Checked means enabled, unchecked means disabled.

Variable/Value is not logging

Being able to use variables and reference I/O on the JNIOR in Tasker is major factor in Tasker’s usefulness. Sometimes though, if these variables/values aren’t entered correctly, it can lead to errors in Tasker. If you are logging variables/values in Tasker that you are encasing each one in {{}}. This denotes the value as not just a string of letters but the actual value its supposed to represent.

Variable isn’t working in different Task

One of the ways variables in a workspace are useful, is that they can be referenced from other tasks. You can create a Global Variable by putting “$$” in front of it. For example, if you wanted the word “number” to be a Global Variable, when you declare it you’ll put “$$number”. 

Tasks in the Task Tab are grayed out

An easy way to test a Task is by manually executing it in the Task Tab. When you are currently within a workspace that has changes being made to it though, the play buttons to execute tasks are grayed out. This is because the workspace needs to save the changes made before it can execute Tasks.

External Module not working when referenced in Tasker

In Tasker, you can reference External Modules that you have connected to the JNIOR in Tasker. Sometimes though, Tasker might have trouble interacting with your External Modules. This is because when you connect an External Module to the JNIOR, its information is saved. Then if a different External Module is connected, it may still be trying to connect to the previous one that was there. To avoid this issue, make sure when a External Module is removed that you perform the “extern -r” command in the JNIOR console. This will clear any information in the JNIOR of External Modules that are no longer connected, and Tasker will then reference only Modules currently connected to the JNIOR.

Communication action not working with Device

Tasker has the functionality to communicate with other devices, sending them data or commands. When communicating with an external device though, you need to make sure that the device you are sending to is configured to receive data the same way the device in your device tab is configured to. Make sure if its a TCP send that the device has the IP and TCP port you set for the Ethernet Device in the Device Tab. Same goes for SNMP with its IP and UDP port.

Name Version Release Date Size MD5
Tasker v8.0 Jul 12 2021 2.9 MB ada6b724f74b802fb5d880c1124209b8

New Help System! Take a look and give us your feedback!

  • [+] created a Workspace page to manage multiple Workspaces
  • [+] created a Workspace Pane on the right of the Tasker Page when a Workspace is open
  • [+] added a Registry Write Action
  • [+] added a Serial Send Action
  • [+] added a prompt for user when leaving the Tasker web page when Changes are in progress.
  • [+] new help system
  • [+] added notes for Workspaces
  • [+] added the ability to clone Workspaces and tasks
  • [+] added the ability to initialize variables via json task.execute handler
  • [~] all disabled objects now contain red font and a gray background
  • Lots of small UI tweaks for a better user experience

Go to the Tasker Application page for more information

Tasker 7.0 May 10, 2021

Name Version Release Date Size MD5
Tasker v7.0 May 10 2021 2.2 MB 796406e49d98e58119d9f39b94886b14
  • [!] corrected the Log Null On Boot checkbox.  It was showing unchecked though it should be checked by default.
  • [!] corrected an issue where a deleted workspace does not unload from tasker
  • [+] can now easily enable / disable an entire workspace via the File menu
  • [+] disabled workspaces will have a red banner and footer alerting the user that they are disabled
  • [+] added the ability to trigger on any input or any output
  • [+] added the ability to reorder the tasks in the Web App
  • [+] added a warning message when navigating away from the Web App to alert the user of unsaved changes.
  • [~] redesigned the "Add Action" dialog to be less busy
  • [+] previously selected Task will be reselected on page reload
  • [+] added Grapher to the Tasker install

Go to the Tasker Application page for more information

Tasker 6.1 April 30, 2021

  • [!] Fixed an issue where a blank DateFormat field in a Log Profile would cause the timestamp to not get logged
  • [+] added the ability to trigger on either high or low signals for digital inputs or relay outputs
  • [+] added a variable to task scope for the object that caused a task to execute. the variable can be referenced as task.caller
  • [+] adding get task devices web handler
  • [!] fixed issue where devices werent found when loading tasks because tasks were being loaded before devices
  • [+] log what is being sent from an Eethernet device to tasker_devices.log
  • [!] corrected issue with the log profile file retention method. We were not correctly identifying the files matching the fileformat.
  • [!] corrected issue where getDoubleParam was expecting a variable to start with $. This is no longer a requirement.
  • [+] implemented Clear Input Latch action
  • [+] added the ability to trigger on ANY control panel switch
  • [*] Updated the status message that it is sent any time a task is executed with the name of the calling object

Tasker 6.0 March 18, 2021

Name Version Release Date Size MD5
Tasker v6.0 Mar 18 2021 1.3 MB dc9fd5f96047b8e946e67cfcab9d79cb

Warning: The Triggers tab functionality was reworked!  Any Triggers that are currently defined will need to be reconfigured.

  • [*] reworking triggers
  • [*] adding single switch control panel trigger
  • [*] adding multi-switch control panel trigger
  • [*] adding delayed reset
  • [+] added WebServerPort registry key Default -1 or meaning disabled
  • [+] adding ExecuteTask web request handler /executetask name=TASK_NAME
  • [+] adding GetLoadedTasks web request handler /getloadedtasks
  • [+] automatic upgrading of old trigger configuration

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

Tasker 5.0 May 5, 2021

  • [+] adding action to kill, cancel or abort a task
  • [+] adding HTTP request action
  • [+] adding MQTT publish action

Tasker 4.0 December 18, 2020

Name Version Release Date Size MD5
Tasker v4.0 Dec 18 2020 1.2 MB e0b99c9f4ffdb2294dab5596c9d9613f

4.0, 10 dec 2020

  • [+] 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.

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

Tasker 3.3 July 29, 2020

Name Version Release Date Size MD5
Tasker v3.3 Jul 30 2020 1.0 MB 5783b3bda071222b48775e5ffb9e4b3d
  • [+] adding duplicate instance check
  • [+] variables that start with :: shall be global
  • [+] add TCP Recv
  • [+] add TCP Close
  • [+] new execute script action
  • [+] uses new scripting engine
  • [!] fixed issue where dst timezone was not being logged
  • [+] adding action to prepend to file
  • [+] adding retry logic to external identifier objects. included creating external identifier parent class
  • [+] adding action to copy file
  • [+] adding action to move file
  • [+] add ascii tcp and serial servers for tasker control
  • [~] now preventing spaces in workspace names. current workspace files with spaces will be renamed with an UNDERSCORE

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

Tasker 3.2 June 18, 2020

Name Version Release Date Size MD5
Tasker v3.2 Jun 18 2020 958.1 KB 953712536000b330ad267047b7ee274d
  • + added 4-20ma modules
  • + added 10v modules
  • + added email send attachment option

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

Tasker 3.1 May 1, 2020

Name Version Release Date Size MD5
Tasker v3.1 May 05 2020 942.1 KB 47e03374e8a8791ec0a922f38e62f174
  • Added If / Else Block Task Action
  • Added While Loop Task Action
  • Added SNMP Trap Task Action - Tutorial
  • Help pages are in progress
  • Upload and download workspaces
  • Delete a workspace (Workspace is backed up)

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

Tasker 3.0 April 20, 2020

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.

For more information go to the Tasker Page

When the JNIOR Boots up we may want to define an initial state.  Sure, the JNIOR WebUI gives you a way to configure this for the Internal Outputs.  But what about the Outputs on the External Modules?

An application like this is extremely easy to write.  You can set the states for up to 16 outputs using the .setOutputStates(bits, mask) in the JANOS Runtime Library.

How do we know what outputs to set you ask?  Well we will take an argument that supplies a mask containing which outputs to close.  The mask can be represented as HEX or DECIMAL.  To specify the mask in HEX we must prefix the value with 0x.  For example, flash/closeoutputsonboot 0x7 will close outputs 1, 2, and 3 when the application executes.

Here is the code for this application.

package closeoutputsonboot;

import com.integpg.system.JANOS;
import java.io.IOException;

public class CloseOutputsOnBoot {

    public static void main(String[] args) throws IOException {
        // make sure one argument was supplied
        if (1 != args.length) {
            // print the usage string to the stdout.  This isnt useful when the 
            // application is executed on boot.  So we will also log it to the 
            // syslog in case the argument is not supplied in the run key.   Then
            // exit with -1 indicating an error occurred.
            String usage = "MUST supply an argument that contains the "
                    + "MASK of OUTPUTS that should be closed.";
            System.out.println(usage);
            JANOS.syslog(usage);
            System.exit(-1);
        }

        // get the binary mask and set the ALL of the output states.  we 
        // allow the mask to be specified in HEX or DECIMAL
        int binaryMask;
        if (args[0].startsWith("0x")) {
            // HEX representation
            binaryMask = Integer.valueOf(args[0].substring(2), 16);
        } else {
            // DECIMAL representation
            binaryMask = Integer.valueOf(args[0]);
        }

        JANOS.setOutputStates(binaryMask, 0xffff);
    }

}

To get this application to run on boot we set a run key. My run key will close output 13 on boot. I chose to specify the mask in hexadecimal. This will cause the application to execute on boot for a brief period of time while is reads the mask argument and sets the outputs. Once that has been completed the application will finish.

The JAR file below can be loaded into the flash/ directory on the JNIOR.

Name Version Release Date Size MD5
CloseOutputsOnBoot.jar v1.0 Jul 01 2021 2.0 KB 774c7b1cb6a7dda818ee02c2242ada13

Tasker implements lots of different logic. One such instance are Logic Operators, specifically the AND Operator (&&) and OR Operator (||). We will start with the AND Operator, which will succeed if separate conditions are met simultaneously. For example, lets say we want to close Relay Output 3, but only if Relay Outputs 1 AND 2 are closed. To create this logic in Tasker, we’ll create an empty Task and add an If Statement to it, followed by adding a Close Relay 3 action inside the If Statement. Here we’ll enter the following:

rout[1].state == 1 && rout[2].state ==1

This statement evaluates as “If Relay Output 1 AND Relay Output 2 are closed, then close Relay Output 3”. Now if Relay Outputs 1 and 2 were closed when this Task runs, it will pass the If Statement condition and close Output 3.

&& goes between the two conditions that both need to be met

Next is the OR Operator which is less strict then the AND Operator, as its condition succeeds when at least one of multiple conditions are met. Lets use a similar example as before where we want to close Relay Output 3, but this time if EITHER Relay Outputs 1 and 2 are closed. We’ll do the same thing we did for the AND Operator by creating an empty task and adding an If Statement to it along with a Close Relay 3 action inside the If Statement. Here we’ll enter the following:

rout[1].state == 1 || rout[2].state ==1

This statement evaluates as “If either Relay Output 1 or Relay Output 2 are on, then close Relay Output 3”.

|| goes between the conditions where only one of them needs to be met

Lastly, a more advanced example can use both Operators in a logic statement at once. For example, lets say we want close Relay Output 3 if Relay Outputs 1 AND 2 are closer, OR if the time of day is past 2:00pm. We’ll add another if statement in an empty Task and add a Close Relay 4 action inside of it. Here we’ll enter the following:

(rout[1].state == 1 && rout[2].state == 1) || time.isAfter(“14:00”)

This statement evaluates as “If either Relay Output 1 and Relay Output 2 are on, or the current time is past 2:00pm, close Relay Output 3”.

() goes around the “rout[1].state == 1 && rout[2].state == 1” to group them together separately from the time function
Name Version Release Date Size MD5
Tasker v7.0 May 10 2021 2.2 MB 796406e49d98e58119d9f39b94886b14
  • [!] corrected the Log Null On Boot checkbox.  It was showing unchecked though it should be checked by default.
  • [!] corrected an issue where a deleted workspace does not unload from tasker
  • [+] can now easily enable / disable an entire workspace via the File menu
  • [+] disabled workspaces will have a red banner and footer alerting the user that they are disabled
  • [+] added the ability to trigger on any input or any output
  • [+] added the ability to reorder the tasks in the Web App
  • [+] added a warning message when navigating away from the Web App to alert the user of unsaved changes.
  • [~] redesigned the “Add Action” dialog to be less busy
  • [+] previously selected Task will be reselected on page reload
  • [+] added Grapher to the Tasker install

Go to the Tasker Application page for more information

Tasker 6.1 April 30, 2021

  • [!] Fixed an issue where a blank DateFormat field in a Log Profile would cause the timestamp to not get logged
  • [+] added the ability to trigger on either high or low signals for digital inputs or relay outputs
  • [+] added a variable to task scope for the object that caused a task to execute. the variable can be referenced as task.caller
  • [+] adding get task devices web handler
  • [!] fixed issue where devices werent found when loading tasks because tasks were being loaded before devices
  • [+] log what is being sent from an Eethernet device to tasker_devices.log
  • [!] corrected issue with the log profile file retention method. We were not correctly identifying the files matching the fileformat.
  • [!] corrected issue where getDoubleParam was expecting a variable to start with $. This is no longer a requirement.
  • [+] implemented Clear Input Latch action
  • [+] added the ability to trigger on ANY control panel switch
  • [*] Updated the status message that it is sent any time a task is executed with the name of the calling object

Tasker 6.0 March 18, 2021

Name Version Release Date Size MD5
Tasker v6.0 Mar 18 2021 1.3 MB dc9fd5f96047b8e946e67cfcab9d79cb

Warning: The Triggers tab functionality was reworked!  Any Triggers that are currently defined will need to be reconfigured.

  • [*] reworking triggers
  • [*] adding single switch control panel trigger
  • [*] adding multi-switch control panel trigger
  • [*] adding delayed reset
  • [+] added WebServerPort registry key Default -1 or meaning disabled
  • [+] adding ExecuteTask web request handler /executetask name=TASK_NAME
  • [+] adding GetLoadedTasks web request handler /getloadedtasks
  • [+] automatic upgrading of old trigger configuration

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

Tasker 5.0 May 5, 2021

  • [+] adding action to kill, cancel or abort a task
  • [+] adding HTTP request action
  • [+] adding MQTT publish action

Tasker 4.0 December 18, 2020

Name Version Release Date Size MD5
Tasker v4.0 Dec 18 2020 1.2 MB e0b99c9f4ffdb2294dab5596c9d9613f

4.0, 10 dec 2020

  • [+] 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.

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

Tasker 3.3 July 29, 2020

Name Version Release Date Size MD5
Tasker v3.3 Jul 30 2020 1.0 MB 5783b3bda071222b48775e5ffb9e4b3d
  • [+] adding duplicate instance check
  • [+] variables that start with :: shall be global
  • [+] add TCP Recv
  • [+] add TCP Close
  • [+] new execute script action
  • [+] uses new scripting engine
  • [!] fixed issue where dst timezone was not being logged
  • [+] adding action to prepend to file
  • [+] adding retry logic to external identifier objects. included creating external identifier parent class
  • [+] adding action to copy file
  • [+] adding action to move file
  • [+] add ascii tcp and serial servers for tasker control
  • [~] now preventing spaces in workspace names. current workspace files with spaces will be renamed with an UNDERSCORE

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

Tasker 3.2 June 18, 2020

Name Version Release Date Size MD5
Tasker v3.2 Jun 18 2020 958.1 KB 953712536000b330ad267047b7ee274d
  • + added 4-20ma modules
  • + added 10v modules
  • + added email send attachment option

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

Tasker 3.1 May 1, 2020

Name Version Release Date Size MD5
Tasker v3.1 May 05 2020 942.1 KB 47e03374e8a8791ec0a922f38e62f174
  • Added If / Else Block Task Action
  • Added While Loop Task Action
  • Added SNMP Trap Task Action - Tutorial
  • Help pages are in progress
  • Upload and download workspaces
  • Delete a workspace (Workspace is backed up)

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

Tasker 3.0 April 20, 2020

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.

For more information go to the Tasker Page

  • [+] adding action to kill, cancel or abort a task
  • [+] adding HTTP request action
  • [+] adding MQTT publish action

Tasker 4.0 December 18, 2020

Name Version Release Date Size MD5
Tasker v4.0 Dec 18 2020 1.2 MB e0b99c9f4ffdb2294dab5596c9d9613f

4.0, 10 dec 2020

  • [+] 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.

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

Tasker 3.3 July 29, 2020

Name Version Release Date Size MD5
Tasker v3.3 Jul 30 2020 1.0 MB 5783b3bda071222b48775e5ffb9e4b3d
  • [+] adding duplicate instance check
  • [+] variables that start with :: shall be global
  • [+] add TCP Recv
  • [+] add TCP Close
  • [+] new execute script action
  • [+] uses new scripting engine
  • [!] fixed issue where dst timezone was not being logged
  • [+] adding action to prepend to file
  • [+] adding retry logic to external identifier objects. included creating external identifier parent class
  • [+] adding action to copy file
  • [+] adding action to move file
  • [+] add ascii tcp and serial servers for tasker control
  • [~] now preventing spaces in workspace names. current workspace files with spaces will be renamed with an UNDERSCORE

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

Tasker 3.2 June 18, 2020

Name Version Release Date Size MD5
Tasker v3.2 Jun 18 2020 958.1 KB 953712536000b330ad267047b7ee274d
  • + added 4-20ma modules
  • + added 10v modules
  • + added email send attachment option

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

Tasker 3.1 May 1, 2020

Name Version Release Date Size MD5
Tasker v3.1 May 05 2020 942.1 KB 47e03374e8a8791ec0a922f38e62f174
  • Added If / Else Block Task Action
  • Added While Loop Task Action
  • Added SNMP Trap Task Action - Tutorial
  • Help pages are in progress
  • Upload and download workspaces
  • Delete a workspace (Workspace is backed up)

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

Tasker 3.0 April 20, 2020

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.

For more information go to the Tasker Page

  • [!] Fixed an issue where a blank DateFormat field in a Log Profile would cause the timestamp to not get logged
  • [+] added the ability to trigger on either high or low signals for digital inputs or relay outputs
  • [+] added a variable to task scope for the object that caused a task to execute. the variable can be referenced as task.caller
  • [+] adding get task devices web handler
  • [!] fixed issue where devices werent found when loading tasks because tasks were being loaded before devices
  • [+] log what is being sent from an Eethernet device to tasker_devices.log
  • [!] corrected issue with the log profile file retention method. We were not correctly identifying the files matching the fileformat.
  • [!] corrected issue where getDoubleParam was expecting a variable to start with $. This is no longer a requirement.
  • [+] implemented Clear Input Latch action
  • [+] added the ability to trigger on ANY control panel switch
  • [*] Updated the status message that it is sent any time a task is executed with the name of the calling object

Tasker 6.0 March 18, 2021

Name Version Release Date Size MD5
Tasker v6.0 Mar 18 2021 1.3 MB dc9fd5f96047b8e946e67cfcab9d79cb

Warning: The Triggers tab functionality was reworked!  Any Triggers that are currently defined will need to be reconfigured.

  • [*] reworking triggers
  • [*] adding single switch control panel trigger
  • [*] adding multi-switch control panel trigger
  • [*] adding delayed reset
  • [+] added WebServerPort registry key Default -1 or meaning disabled
  • [+] adding ExecuteTask web request handler /executetask name=TASK_NAME
  • [+] adding GetLoadedTasks web request handler /getloadedtasks
  • [+] automatic upgrading of old trigger configuration

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

Tasker 5.0 May 5, 2021

  • [+] adding action to kill, cancel or abort a task
  • [+] adding HTTP request action
  • [+] adding MQTT publish action

Tasker 4.0 December 18, 2020

Name Version Release Date Size MD5
Tasker v4.0 Dec 18 2020 1.2 MB e0b99c9f4ffdb2294dab5596c9d9613f

4.0, 10 dec 2020

  • [+] 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.

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

Tasker 3.3 July 29, 2020

Name Version Release Date Size MD5
Tasker v3.3 Jul 30 2020 1.0 MB 5783b3bda071222b48775e5ffb9e4b3d
  • [+] adding duplicate instance check
  • [+] variables that start with :: shall be global
  • [+] add TCP Recv
  • [+] add TCP Close
  • [+] new execute script action
  • [+] uses new scripting engine
  • [!] fixed issue where dst timezone was not being logged
  • [+] adding action to prepend to file
  • [+] adding retry logic to external identifier objects. included creating external identifier parent class
  • [+] adding action to copy file
  • [+] adding action to move file
  • [+] add ascii tcp and serial servers for tasker control
  • [~] now preventing spaces in workspace names. current workspace files with spaces will be renamed with an UNDERSCORE

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

Tasker 3.2 June 18, 2020

Name Version Release Date Size MD5
Tasker v3.2 Jun 18 2020 958.1 KB 953712536000b330ad267047b7ee274d
  • + added 4-20ma modules
  • + added 10v modules
  • + added email send attachment option

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

Tasker 3.1 May 1, 2020

Name Version Release Date Size MD5
Tasker v3.1 May 05 2020 942.1 KB 47e03374e8a8791ec0a922f38e62f174
  • Added If / Else Block Task Action
  • Added While Loop Task Action
  • Added SNMP Trap Task Action - Tutorial
  • Help pages are in progress
  • Upload and download workspaces
  • Delete a workspace (Workspace is backed up)

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

Tasker 3.0 April 20, 2020

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.

For more information go to the Tasker Page

When you have a JNIOR with a Temperature sensor connected to it, you can have Tasker trigger a Task when the temperature reaches a certain degree. For this example, you first need to make sure that your JNIOR has the Tasker application. If it doesn’t you can follow this post to install Tasker to a JNIOR. 

To start, you’ll want to open the Tasker web page by either entering into a web browser (Your JNIOR’s IP)/tasker or by clicking on the Tasker pop out link in the applications section of the configuration tab of the JNIOR web page.

Once on the Tasker web page we can start by creating a new workspace and then going to the Task tab. Here we’ll create the task we want to execute when the temperature reaches a certain temperature. In this example, we’ll pulse relay 1 for 7 seconds. You can do this by clicking the ‘new task’ button to create and name a new task, and then clicking the ‘add action’ button. This will open the action dialog box. You’ll want to go to the Output Relay section and select Pulse Relay. You’ll then set the first field of the action you added to 1 for output 1 and the second field to 7 for 7 seconds. We did this in the example below, naming the Task ‘Pulse_Relay_1’

After creating a task, we’ll then go to the Signal Tab. Here we’ll click ‘add signal’ and name the new signal we are creating. Once its created we’ll want to select the Signal type as Temperature probe, or Environmental sensor depending on which one you are using. The JNIOR can handle up to two Temperature sensors connected at one time, so unless you have two Temperature sensors connected the channel for the Signal will be 1. If you have two connected, set the channel according to which temperature sensor is first in the Registry order. One way to check this is by going to the External section of the Input/Output tab of the JNIOR web page, and seeing which expansion module is at the top as that one should be channel 1 and the one below it should be channel 2. Lastly you’ll want to determine what measurement of temperature you wish to use, (or humidity if you are using the environmental sensor). Once these values are set, you’ll then want to move to the Trigger Tab. Here is an example of the signal we created below, naming it Temperature_Sensor.

In the Trigger Tab you’ll want to click ‘add trigger’, giving it a name and selecting it as a continuous signal for its trigger type. Once the trigger is created you’ll want to set the trigger to the temperature sensor signal we created previously, along with what temperature will activate the trigger. Lastly, you’ll set the Task Name to the Task that you want executed when the trigger activates. We created this trigger below, naming it Temp_Trigger. The Task we set for this trigger is the one we created earlier, “Pulse_Relay_1”.

After that, you’ll save the the workspace and then should have a task that executes when your temperature sensor reaches a certain degree or humidity!

Name Version Release Date Size MD5
Tasker v6.0 Mar 18 2021 1.3 MB dc9fd5f96047b8e946e67cfcab9d79cb

Warning: The Triggers tab functionality was reworked!  Any Triggers that are currently defined will need to be reconfigured.

  • [*] reworking triggers
  • [*] adding single switch control panel trigger
  • [*] adding multi-switch control panel trigger
  • [*] adding delayed reset
  • [+] added WebServerPort registry key Default -1 or meaning disabled
  • [+] adding ExecuteTask web request handler /executetask name=TASK_NAME
  • [+] adding GetLoadedTasks web request handler /getloadedtasks
  • [+] automatic upgrading of old trigger configuration

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

Tasker 5.0 May 5, 2021

  • [+] adding action to kill, cancel or abort a task
  • [+] adding HTTP request action
  • [+] adding MQTT publish action

Tasker 4.0 December 18, 2020

Name Version Release Date Size MD5
Tasker v4.0 Dec 18 2020 1.2 MB e0b99c9f4ffdb2294dab5596c9d9613f

4.0, 10 dec 2020

  • [+] 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.

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

Tasker 3.3 July 29, 2020

Name Version Release Date Size MD5
Tasker v3.3 Jul 30 2020 1.0 MB 5783b3bda071222b48775e5ffb9e4b3d
  • [+] adding duplicate instance check
  • [+] variables that start with :: shall be global
  • [+] add TCP Recv
  • [+] add TCP Close
  • [+] new execute script action
  • [+] uses new scripting engine
  • [!] fixed issue where dst timezone was not being logged
  • [+] adding action to prepend to file
  • [+] adding retry logic to external identifier objects. included creating external identifier parent class
  • [+] adding action to copy file
  • [+] adding action to move file
  • [+] add ascii tcp and serial servers for tasker control
  • [~] now preventing spaces in workspace names. current workspace files with spaces will be renamed with an UNDERSCORE

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

Tasker 3.2 June 18, 2020

Name Version Release Date Size MD5
Tasker v3.2 Jun 18 2020 958.1 KB 953712536000b330ad267047b7ee274d
  • + added 4-20ma modules
  • + added 10v modules
  • + added email send attachment option

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

Tasker 3.1 May 1, 2020

Name Version Release Date Size MD5
Tasker v3.1 May 05 2020 942.1 KB 47e03374e8a8791ec0a922f38e62f174
  • Added If / Else Block Task Action
  • Added While Loop Task Action
  • Added SNMP Trap Task Action - Tutorial
  • Help pages are in progress
  • Upload and download workspaces
  • Delete a workspace (Workspace is backed up)

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

Tasker 3.0 April 20, 2020

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.

For more information go to the Tasker Page

Name Version Release Date Size MD5
Utility.Jar v4.0 Mar 04 2021 496.3 KB 650d1c2b6f585243a7695919eb6a8a55
  • [!] fixed an issue preventing the flash/utility/storage location from performing cleanup.  Once there were too many utility data files the JNIOR would perform slowly

Utility 3.0 Released June 14, 2019

Utility version 3.0 has been released

  • + Added cycleevents.dat log for each input in flash/utility/storage/by-hours/
    The format of this line will be:
TIMESTAMP of cycle completion, TOTAL CYCLE TIME, HIGH TIME, LOW TIME

For example, the following file contains the cycle events ending in the 8am hour on July 23rd, 2019. Only the first 5 minutes are shown.

One of the actions you can perform in Tasker is the HTTP request action. This action allows you to post information to a specific URL. This post will show you an example of this.

To start you’ll want to make sure that you have the Tasker application installed on your JNIOR. Here is a post explaining how to install Tasker.

Once you have Tasker installed, you’ll want to open the Tasker web page. You can do this by opening a web browser and navigating to http://JNIOR_IP/tasker. Once you are on the web page you’ll want to create new workspace, and then add a task to it. 

Once you’ve created and named a task for the workspace, you’ll want to add the HTTP request action to the Task. You’ll do this by clicking the add action button, and then selecting the HTTP request action in the Add Action Dialog box.


After you have added the HTTP request action to your Task, you’ll now want to enter the URL you wish to request from which will include the data that we are requesting. For this example, we are going to request a macro from the Cinema application. Here is a link to a post for installing the Cinema application if you don’t have it. This example assumes you’ve created a macro in the support tool called ‘pulse_output_1’, but the URL can include the name of any macro you have. Also the URL we are about to enter will use the IP address of 10.0.0.131, but this value should be of YOUR JNIOR’s IP address when doing a URL request to Cinema or the IP of whatever device you would be doing a HTTP request to. Lastly, the URL will include 8090 because that is the port Cinema listens on for macros. With this in mind, we’ll set the URL field to http://10.0.0.131:8090/macro?name=pulse_output_1.

You can then execute this task and Cinema will activate the macro included in the URL, which based off its name would have pulsed output 1 showing you have successfully sent a HTTP request!

A username:password@ can be provided prior to the IP Address for those HTTP requests the require login.

When using Tasker, to execute a task you can click the play button next to the task you wish to execute. But what if you wanted to execute a task remotely? This post explains how.

For this example, you first need to make sure that your JNIOR has the Tasker application. If it doesn’t you can follow this post to install Tasker to a JNIOR. You will also need to have the JNIOR Support Tool, which you can find here.

Once Tasker is successfully installed on your JNIOR, to start you’ll want to open web browser and navigate to the Tasker web page by going to http://JNIOR_IP/tasker. Once on the Web page you’ll simply create a workspace, and then create a task inside the workspace. Give it an action so when we execute it remotely we can see it perform the action. Then save the workspace.

In this example, we created a task that simply pulses Output 1 for 5 seconds.

The next step to remotely communicating with Tasker in this example is by opening a command line session. You can do this through the JNIOR Support Tool by going to Tools/Command Line.

You can use any command line tool. Since the support tool provides a command line tool, that is what we use in this example.

Once you’ve opened a command line session, you can then connect to Tasker using a TCP connection and connecting to your JNIOR’s IP (ours is 10.0.0.120 for this example) and port 9210. You’ll activate all the setting in the option drop-down also.

Once this is done, all you need to do now is type the command to execute a task. To do this you type “task.execute TASKNAME\r\n”. So if you had a Task in Tasker called CloseOutput1, to execute it here remotely you would type “task.execute CloseOutput1\r\n”.

With this, you should now be able to remotely execute Tasks in Tasker!

In Tasker, the JNIOR can interact with the MQTT application to publish data to a specific topic. This post explains how with an example.

To start you’ll need to first make sure you have both the Tasker application and the MQTT application installed on your JNIOR. If you don’t have one or both of these you’ll want to follow this link for installing Tasker, and follow the same steps for the MQTT application.

Once you have both the Tasker and MQTT application, we’ll start with opening the MQTT application web page, which you can access by opening a web browser and going to the URL http://JNIOR_IP/mqtt. The MQTT page is where we configure the MQTT broker, which manages all topics and handles the subscriptions. To use MQTT you need to find a broker to interact with. The one we are using in this example is broker.hivemq.com which is free. We don’t recommend this broker for anything serious or commercial, as it is not secured or dedicated.

http://www.mqtt-dashboard.com/

For this example we will enter HiveMQ’s broker information on the right side of the page. Not all the boxes are required. The only information we need for the HiveMq broker is the MQTT Broker Host address. HiveMQ uses the default 1883 port number. After that if the connection hasn’t already been set, click the connect button and you should be connected with the HiveMQ Broker.

NOTE: The bottom of the MQTT web page also shows what topics you can interact with for MQTT. This will be useful as a reference when creating the MQTT publish action in Tasker.

More topics are available on the MQTT web page

Once you have established a connection with a broker on the MQTT web page, the next step is to open the Tasker web page. Similarly to how you access the MQTT web page, you open a web browser and go to http://JNIOR_IP/tasker.

Once on the Tasker web page, the first thing you’ll want to do is create a new workspace, we’ve named our example MQTT_Example. 

Once the workspace is created you’ll want to create a new Task in the Task Tab, and then add the MQTT publish action from the Add Action button to the Task.

After adding the MQTT publish action, you can now set the topic in the top field of the action, and the data you wish to publish to the topic in the bottom field. In this example, we publish to the state of output 1 on a JNIOR to switch it from false to true, turning the output ON.

The value after ‘jnior’ in the picture above is the serial number of the JNIOR we use in this example

After executing this task, you will have published an MQTT topic to your JNIOR and set Output 1 to ON!

3.1     10 Feb 2021    
    [*] rebuild for update to the logging framework
    [!] fixed issues with finalizers locking up when killing the application

3.0     15 Jan 2020
    [*] reboot no longer needed on device name change
    [*] removed the use of the contains() string method.  it was causing topic subscriptions to be slow
    [+] added the ability to unsubscribe from old device group names when they change
    [*] unsubscribe from old hostname when it changes
    [*] gray out the web page when the app isnt running
    [+] implement the username and password
    [+] implement 10v modules
    [+] implement temperature probes
    [+] implement environmental modules

2.0     10 Apr 2019
    [!] resolved memory leak when adding published topic names to array list.  using hashtable now instead.

1.4     09 Apr 2019
    [*] debugging memory issue

1.3     17 Jan 2019
    [*] enhancing library options

1.2     03 jan 2019
    [+] added a button to control from the web page to connect and disconnect
    [*] hostname will report on change
    [+] last will implemented
    [*] all io information uses publish retention to ensure new mqtt clients get the last known information
    [*] all io information is reported on application start-up

1.1     19 dec 2018
    [+] Added web page for configuration and status

1.0     19 Nov 2018
    [ ] Initial Release
Name Version Release Date Size MD5
MQTT v3.1 Feb 10 2021 492.9 KB 80afadef666970cf7cd06ba6380366ec

MQTT Release Notes February 12, 2021

3.1     10 Feb 2021    
    [*] rebuild for update to the logging framework
    [!] fixed issues with finalizers locking up when killing the application

3.0     15 Jan 2020
    [*] reboot no longer needed on device name change
    [*] removed the use of the contains() string method.  it was causing topic subscriptions to be slow
    [+] added the ability to unsubscribe from old device group names when they change
    [*] unsubscribe from old hostname when it changes
    [*] gray out the web page when the app isnt running
    [+] implement the username and password
    [+] implement 10v modules
    [+] implement temperature probes
    [+] implement environmental modules

2.0     10 Apr 2019
    [!] resolved memory leak when adding published topic names to array list.  using hashtable now instead.

1.4     09 Apr 2019
    [*] debugging memory issue

1.3     17 Jan 2019
    [*] enhancing library options

1.2     03 jan 2019
    [+] added a button to control from the web page to connect and disconnect
    [*] hostname will report on change
    [+] last will implemented
    [*] all io information uses publish retention to ensure new mqtt clients get the last known information
    [*] all io information is reported on application start-up

1.1     19 dec 2018
    [+] Added web page for configuration and status

1.0     19 Nov 2018
    [ ] Initial Release
Name Version Release Date Size MD5
Tasker v5.0 Jan 31 2021 1.2 MB fbaeda6484aa5ff0a2b818cb96c6a7d2

5.0

  • [+] adding action to kill, cancel or abort a task
  • [+] adding HTTP request action
  • [+] adding MQTT publish action

4.1

  • [+] Added SNMP Set action
  • [+] added tempc and tempf properties to the environ sensor object to make the code work with older configurations

Tasker 4.0 December 18, 2020

Name Version Release Date Size MD5
Tasker v4.0 Dec 18 2020 1.2 MB e0b99c9f4ffdb2294dab5596c9d9613f

4.0, 10 dec 2020

  • [+] 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.

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

Tasker 3.3 July 29, 2020

Name Version Release Date Size MD5
Tasker v3.3 Jul 30 2020 1.0 MB 5783b3bda071222b48775e5ffb9e4b3d
  • [+] adding duplicate instance check
  • [+] variables that start with :: shall be global
  • [+] add TCP Recv
  • [+] add TCP Close
  • [+] new execute script action
  • [+] uses new scripting engine
  • [!] fixed issue where dst timezone was not being logged
  • [+] adding action to prepend to file
  • [+] adding retry logic to external identifier objects. included creating external identifier parent class
  • [+] adding action to copy file
  • [+] adding action to move file
  • [+] add ascii tcp and serial servers for tasker control
  • [~] now preventing spaces in workspace names. current workspace files with spaces will be renamed with an UNDERSCORE

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

Tasker 3.2 June 18, 2020

Name Version Release Date Size MD5
Tasker v3.2 Jun 18 2020 958.1 KB 953712536000b330ad267047b7ee274d
  • + added 4-20ma modules
  • + added 10v modules
  • + added email send attachment option

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

Tasker 3.1 May 1, 2020

Name Version Release Date Size MD5
Tasker v3.1 May 05 2020 942.1 KB 47e03374e8a8791ec0a922f38e62f174
  • Added If / Else Block Task Action
  • Added While Loop Task Action
  • Added SNMP Trap Task Action - Tutorial
  • Help pages are in progress
  • Upload and download workspaces
  • Delete a workspace (Workspace is backed up)

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

Tasker 3.0 April 20, 2020

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.

For more information go to the Tasker Page