ayatec logo
Home Store Blog Contact
unicontrol user guide by ayatec
Home Store Blog Contact

Topics

  1. Welcome
  2. Getting started
    1. What is unicontrol
    2. How it works
    3. Connectivity
    4. Integration options
    5. Basic I/O
    6. Special I/O
    7. Special inputs - Digital sensors
    8. Special outputs - RGB driver
    9. Special outputs - Audio driver
    10. Network API - HTTP
    11. Network API - MQTT
    12. Network security
    13. Downloads
  3. Web Interface
    1. Processes
      1. Process
      2. Name
      3. Main state
      4. Initial state
      5. Display
      6. Constraints
        1. Process timer
        2. Variable contraints
        3. Force output
      7. Input
        1. Input source
        2. Channel
        3. Control period
        4. Value
        5. Publish
        6. Frequency
        7. Subtopic
      8. Events
        1. On/Off event
        2. Condition
        3. Idle/running time
        4. Delay on/off
        5. Fade in/out
        6. High/low input
        7. Mid point/Tolerance
        8. Out on when
      9. Output
        1. Primary output
        2. Action
        3. Type
        4. Invert
        5. Duty cycle
        6. Mem value
        7. High/low output
        8. Folder/Track
        9. RGB mode
        10. RGB color
        11. RGB brightness
        12. RGB speed
        13. Publish
        14. Subtopic
        15. Secondary outputs
      10. Cycle
        1. Cycles
        2. High/Low phase
      11. On/Off button
    2. Peripheral
      1. Hardware
      2. Type
      3. Calibration
      4. Mapping (edit)
      5. IR remote (edit)
      6. Impulse_counter (edit)
      7. RGB driver (edit)
      8. DS18B20 (edit)
    3. Device
    4. Network
    5. System
    6. License
  4. Tutorials
    1. First boot
    2. First process
    3. Connect to MQTT
    4. Process sequencing

    5. DIY Project: Bath Fan

In this article

  • Introduction
advert
unicontrol > Web interface > Processes > Output > Secondary outputs

Secondary outputs

Introduced in version 1.05

In addition to the Primary output of a given process (i.e. the calling process or primary process), up to three additional Secondary outputs can be selected to react to the Switch event. Instead of being defined directly as is the Primary output, these outputs are represented by other processes, inheriting parameters of the respective processes' (i.e. the called process or secondary process) Primary output and Constraints.

Example of Secondary outputs

The Secondary outputs are, however, only triggered when following two conditions are met:

  • The calling process' output is being called directly. If the process was called indirectly as the Secondary output of another process, its own Secondary outputs are not triggered.
  • In other words, the Secondary outputs cannot be triggered from another process' Secondary output to prevent the program from getting into an infinite loop.
    Assume three processes: A, B, and C. In process A, there is only a Secondary output set to process B. The process B controls D2 peripheral as its Primary and process C as its Secondary output. Lastly, process C only has a Primary output D3:
    Process Primary output Secondary output
    1: A-=> B, same action
    2: BD2=> C, same action
    3: CD3-
    Now, let's consider following two scenarios:
    • Scenario 1: A is switched ON (manually or automatically):
      With no Primary output defined, the action only affects the Secondary outputs. A (the calling or primary process in this context) has process B (the called or secondary process) defined as its secondary output. As a result, the D2 peripheral, designated as B's Primary output, will be switched ON. However, because B was invoked indirectly as a Secondary output itself, its own Secondary outputs, including process C, will NOT be triggered.

    • Scenario 2: B is switched ON (manually or automatically):
      In this context, process B is triggered directly as the calling process. As a result, not only the B's Primary output (D2), but also its Secondary output (D3) is switched ON this time. However, if process C (the called process) had Secondary outputs defined, they would not be invoked, similar to the previous case, as its outputs were only called indirectly.
  • The called process' Constraints are satisfied at the moment it is called.
  • In Scenario 2 of the above Example, D3 will only be switched ON if the Constraints defined in process C (the called process) are satisfied at that specific moment (not bypassed by the manual commands).

    Please note that the Constraints defined in process B effectively apply to both D2 and D3 in the same way and are effectively ignored by both if the initial command was provided manually.

It is worth noting that it is not necessary to have the Primary output defined in order to utilize the Secondary outputs. This may be a desirable practice in specific applications.

Response

The actions performed with the Secondary outputs, unlike the Primary output, are not directly predetermined by an On or Off Event. Each Secondary output can react to the original event in any specific way, selected in the Response option as summarized in the table below.

Please note that the process_out command also counts as a switching event, with 0 representing an Off event and 1 representing an On event.
[VALUE] Secondary Action Primary Output Action
Label ON OFF
1Same Action ONOFF
2Opposite Action OFFON
3On -> On (only) ON-
4On -> Off (only) OFF-
5Off -> Off (only)-OFF
6Off -> On (only) -ON
7Action -> On ONON
8Action -> Off OFFOFF
The following example outlines the Secondary outputs designated for Process 1:
Example of Secondary outputs
Once the Process 1 is turned ON with this setup, the output of Process 8 will also turn ON, as long as the Constraints associated to Process 8 are met. Similarly, the output of Process 7 is turned OFF when its associated Constraints are met. Vice versa, when Process 1 is turned OFF, the outputs of Processes 7 and 8 will not be directly affected.
© 2024 ayatec.eu • Found a mistake?  Let us know!