Tag Archive: triggers

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

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


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

OnIOChange, din1 and din2, run test

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


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

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

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


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

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

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


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

OnMacro(flat start), din7

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

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

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. This post shows an example doing this.

You’ll start by going to the Tasker web page, and once there 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!

This post assumes you have the Cinema application installed on your JNIOR, and a macro created and published to your JNIOR. If you don’t know how to create a macro command for a JNIOR to send to external devices, here is a post on Sending Commands from a JNIOR to a Device with Cinema.

When you create macros for Cinema, there are many ways they can be triggered. One of these ways is by setting the macro names in the trigger registry for Cinema. To do this, the first thing we’ll want to do is go to the JNIOR Web UI by selecting the JNIOR in the beacon tab of the support tool. There you’ll right click it, and go to tools/open web page. Once on the JNIOR web page, you’ll go to the registry tab. On the registry tab, you’ll select AppData/Cinema/Triggers. Once there, you’ll go to any of the registry keys named either ‘Input#Macro’ or ‘Output#Macro’ and enter the name of the macro we created in the support tool. We named it ExampleMacro, but if you named it something different you’ll enter that name here. This should set the JNIOR so that when that I/O value on the JNIOR you picked goes ON, the macro will activate. 


The Control Panel is a very useful add-on to the JNIOR.  It gives you manual switches, visual indicators and an audio alarm.  Each of these features can be configured and used in Tasker.  Let’s check out how!

Before addressing how Tasker works with the Control Panel, you’ll want to make sure its connected properly. You can do so by using the extern command. When you are sure the Control Panel is correctly connected you’ll be able to integrate it with Tasker.

Here are the actions associated with the Control Panel.  Each one will be talked about in depth further down this post.

Control Panel actions for Tasks in Tasker

Using the Control Panel Switches as a Trigger

To enable the Control Panel Switches to be a Trigger that will be used to activate a Task is a very simple process. You only need to go to the trigger tab and add a trigger type set to the control panel switches.

Triggers have an automatic reset of 10 seconds after activating, but the reset can be made to activate based off other actions or different time intervals. Resets prevent the trigger from activating again until the reset condition has been met.

Using the Visual Indicators in a Task

The Visual Indicators on the Control Panel are the the 12 LEDs labeled L1 through L12.  The LEDs can be controlled by setting them to be OFF, ON, or to flash at different rates.  The LED will be on or flashing until it is turned off.

Set Control Panel LED Tasker example

Using the Audio Alarm in a Task

The Control Panel has a PC speaker on the back on the unit that can produce an audible alarm.  This is great for alerting people without the person needing to be looking at the Control Panel already.  Here is the setup when configuring the Alarm to be played.

The alarm plays with an oscillating sound.  You can select between slow, medium, fast, or custom.  Then a duration is needed in seconds followed by the volume on a scale of 0 – 100%.

Control Panel alarm Tasker example

If the custom option is selected then then additional options of the audio frequency to use and the duration of each beep are presented.

Control Panel alarm custom example

You can also elect to Silence and Alarm.  Maybe you have an alarm that plays for 60 seconds but can be silenced when someone responds to a given situation.  To do that we will use the Silence Alarm action.


When using the control panel, you might want to have the switches trigger macros you created in the support tool. This post will explain how to do just that. To start you’ll need to have created a macro in the support tool. If you haven’t done that already and don’t know how, here is a post on how to do it. You’ll also need to have installed cinema on your JNIOR as well.

Next, you’ll want to makes sure that your control panel is properly connected. You can check what external devices have been connected to the sensor port by opening the JNIOR’s WebUI, going to the Console tab, and after logging in entering “extern” into the console. If you have left-over information from previous external devices that you’d wish to get rid of, then you can remove devices no longer present by typing the extern -r command.

extern command for JNIOR command line

Once you have your macros created and published to a JNIOR along with  your control panel being connected, you can now hook up the macros to the control panel using the JNIOR’s registry. Open your JNIOR’s WebUI and go to the registry tab. Once there, you’ll then go to AppData/Cinema/Panel.

Control Panel registry for JNIOR Web Page

Once here, you’ll simply enter the macro name on whichever switch trigger you want to activate the command. Now the macros you created will send a command when you hit a switch on the control panel.

As long as the device you are sending to can create TCP or serial connections, the JNIOR should be able to send commands to it. If you are starting from scratch with a JNIOR, you’ll need to download the JNIOR Support Tool and the Cinema update project. The JNIOR Support Tool allows you to install update projects on JNIORs, and the Cinema update project installs the Cinema application, which is what listens for commands to activate JNIOR macros.

Name Version Release Date Size MD5
JNIOR Support Tool v7.16 Jun 12 2024 6.2 MB b4eac87e53ef1567185520a6e495486b
Cinema.jar - Update Project v6.9 Jan 03 2024 545.1 KB 0a2c670e461116768b75288e652c5253

To update your JNIOR with an update project, here is a link to a post on our site that shows how to install Cinema.

Once the Cinema update project has been published to your JNIOR, we’ll now need to create a device in the support tool to send to. In the support tool, you’ll go to the device tab and select add. You can select the device and rename it. After that you’ll now configure the settings of the device so we can send macros to it. To start you’ll select your device type, and if you see the device you want to send to there you’ll select it. If not you’ll select Raw Ethernet for a TCP connection or Raw Serial for a serial connection. You’ll then set the rest of the device configuration according to the device’s TCP or serial settings.

Once you finish setting the device information, you’ll then want to save the device file by clicking the Save As button. After that you’ll then publish the file to the JNIOR you are using by clicking the Publish to JNIOR button.

After you’ve done that, we’ll now create the macro that will be sent to the device that will contain the text command. Going back to the support tool, you’ll go to the macro tab.

The first thing we’ll want to do here is click the “Link Devices” button at the top. Here we’ll select the device file we just created, so we can reference it in our action for the macro we are going to create.

After completing that, at the bottom left corner of the macro view and you’ll select add/macro. A new macro should populate the macro view, and you can then click on it and rename it. I’m going to name it ExampleMacro.

Once you’ve done that you’ll now go to the action view and select the add button there. A new action should appear in the action view. You can rename this if you’d like, and then we’ll want to select the device we previously created in the Support Tool to send to. Lastly, in the data field you’ll want to enter the text command you wish to send to the device. If you are using a Raw Serial/Raw Ethernet device, make sure you include the termination string at the end of your text command for the device you are sending to.

Once that is finished, make sure you add the action we created to the macro we created. You do this by selecting the macro, then the action, followed by the arrow between the macro and action view.

Lastly, like we did with the device file, we’ll save this using the Save As button, followed by publishing it to the correct JNIOR using the Publish to JNIOR button.

Macro tab for JNIOR Support Tool

Now the JNIOR has a macro created that will send the text command to your specified device!

Signals and Triggers are very useful tools in the Tasker application. Signals are I/O values on either the JNIOR or a compatible expansion module with the JNIOR. Triggers are reactions to when a signal occurs. This post will explain all the parts of the Signal and Trigger tabs in detail.

The Signal Tab

To start, since signals in the Signal tab can be used in triggers we’ll start with Signals. Signals are I/O values on either the JNIOR or a compatible expansion module with the JNIOR. Each Signal values has what device the Signal is coming from, the channel number of the value, and then the type of value its getting. These can be used either in a Trigger or to set/evaluate the value of a variable defined in a task.

Tasker Signal Example

The Trigger Tab

The Trigger is a reaction to a Signal value. Triggers are made up of first, a Trigger value that watches a Signal to react to, along with what the Signal value needs to be to activate the Trigger. Second, is the Reset value that monitors a Signal like the Trigger value does. This is optional and a reset value is not required. If you don’t set a reset value for a Trigger, the Trigger value will always activate the Trigger. If you do add a Reset value, a Trigger that has activated won’t activate again until the reset value condition is met. Lastly, a task name is selected as the task to run when the Trigger value is met and the Trigger activates.

There are currently 5 types of events that can be added as a value for a trigger or reset. The first is a discrete signal, which consists of Input or Output changes going High or Low. The second is a continuous signal, which pertains to the temperature and 4-20ma/10volt values that are constantly being reported and updated. Discrete and continuous values use the signals created in the Signal Tab as the values available in a trigger. Third is the control panel switch signal, which as is name suggests is for when a switch on the control panel is pressed. Forth is the multi-switch control panel signal, which is that same as the normal control panel signal but is activated from two switches being pressed at the same time. Lastly, is the delayed Reset which activates a reset after a certain duration. As the name suggests, this is only available for the reset and can’t be used as a trigger signal. The control panel and delay reset values do not need to be made as signals in the Signal Tab to be used in a trigger, while the discrete and continuous signals do.

Tasker Trigger Example

These steps show show you how to properly create a Signal and Trigger.


The example below will show you how to make a Trigger activate when Relay output 1 on the JNIOR goes High.

We’ll create two Signals with the first ones values being: Device is the Relay Output states of a JNIOR, the channel 1, and the type being the state. The second ones values would be: Device is the Relay Output states of a JNIOR, the channel 2, and the type being the state.

Tasker Signal Reset

Afterwards you would begin configuring a Trigger. The Trigger values would be the Example Signal we created, and its trigger value will be high. For the Reset values, we’ll select the Example Signal Reset we created as the Reset value, and its reset value will be high as well. Lastly, we’ll pick whichever task we want to run during the Trigger activation as the Task value. In this example my task I created is Example Task. The final product of this example is a trigger that will activate when Relay Output 1 goes high. It won’t activate again though until Relay Output 2 goes high.

Analog Presets is an application that lets you control and automate expansion modules such as 4-20ma Module, the 10v Module, or the 3 channel LED module. To get started, you’ll want to download the Analog Presets application, which you can download below.

Name Version Release Date Size MD5
Analog Presets v2.6 Dec 14 2021 334.1 KB d9eeeded688fe9c875402948f562f9b1

After updating your JNIOR with the application, you’ll want to go to the URL containing the IP of your JNIOR with /analogpresets after it to access the application on your JNIOR. Here you can add levels containing different commands you want to create for your modules. You can name the command, what you want it to do, how long it should last, and if you want other commands to start once it starts or finishes. You can also use these as macros by defining a port number and termination string on the general tab.

To send a macro to the Analog Presets application, first we’ll need to configure it. Here is an example using the 3 Channel LED Dimmer. We’ll start by adding a new level at the bottom middle of the first tab in Analog Presets, and giving it a name. (For this example we named ours MacroTest) Once that is added, we’ll want to go to setting level and add the brightness of each output we want set. For this example, since the 3 Channel LED Dimmer has 3 outputs, we’ll set each of them to 100 by typing in the field 100,100,100. We’ll also want to go the 3 Channel LED Output Channel field and type 1,2,3 to represent the channels we want to set the brightness of. If in the setting level field we set the brightness to 50,75,100, and the 3 Channel LED Output Channel was still 1,2,3, then channel 1’s brightness would 50, 2’s would be 75, and 3’s would be 100. For this example though, we’ll set them all to 100. If you have the 3 Channel LED Dimmer plugged into your JNIOR and the 3 Channel LED Output Channel field is still grayed out, then reboot your JNIOR and it then should be configurable.

We’ll then click on the General tab of the Analog Presets application. Here we can set the TCP port that the macro will send to. (In this example we have 9700) Make sure the Termination string is \r\n.

After that you’ll need the cinema application. You’ll download the Cinema.jar application and using the update tab in the support tool load it onto your JNIOR. Once its on your JNIOR, we’ll want to go to the support tool and create a device in the device tab. We need to do this so that the macro will know what information to send. At the bottom of the Device tab, click add Device. From there, we’ll want to name our device (You can name it anything), set the device type to RAW ETHERNET, set the IP Address to the JNIOR you are using, and the port number to the one you set above in the Analog Presets application. (Mine for this example is 9700).

Once you have set this up, you’ll want to click “publish to JNIOR” and it will prompt you to save the device configuration as a file. Once this is done, select the JNIOR you are using as the one to publish to. Once its published, you’ll then go to the Macro tab. The first thing we’ll do here is click “link devices”, and select the device file we previously created. After this we will go to the Action view and add a new action. Here you’ll name your action (It can have any name), the device we’ll set the to the one we previously created, the action should be send, and the data should be formatted as follows:

Trigger “Name of level from analog presets application”\r\n.

Once this is done, we will then add a Macro in the Macro view. First we name the macro and then we can add the action to this macro, by selecting the Macro we created, the action we created, and then clicking <- button.

Once you have done this, you’ll want to click “publish to JNIOR” like we did previously for the device tab, and create a macro file. Once that is created select the JNIOR you are using as the one to publish to. Now to test this, we’ll want to go to the tools tab of the support tool and click command line.

Once the command line is open, we need to configure the command line to create the right connection, at the bottom of the command line we’ll set the values to our IP and then the TcpPort value in our JNIOR’s Registry. You’d find this by opening the JNIOR’s web page in beacon, and then after going to the registry tab look for the path: AppData/Cinema/CinemaServerClient/TcpPort

Make sure that the value is not -1 like it is above. If it is, change that registry key. (An example value to change it to is 5000). Once you find this value, set it as the port number next to the IP address at the bottom your command line. The IP address should be the one your JNIOR has.

Also, go the options drop down list and check each option.

Now all you should have to do is click the connect button at the bottom right and type:

run “Name of macro from support tool”\r\n

This will run the macro you wanted to send to the 3 Channel LED Dimmer!