Device action nodes

Device action nodes send commands to your loaded shockers, or choose which shockers a command should go to. See how nodes work for how to read the diagrams below.

Choosing shockers

Shock, Vibrate, Beep, and Stop share the same targeting rules:

  • Device IDs and Shocker IDs narrow down which loaded shockers get the command. Each accepts a single number, a list of numbers such as the outputs of Select Shocker, or comma-separated text like 123,456.
  • When neither is connected, every loaded shocker matches.
  • The Target property then sends the command to all matching shockers, or to one of them picked at random.

Shock

Sends a shock.

ShockExecuteIntensityDurationDevice IDsShocker IDsDone
Inputs
ExecuteFlow
IntensityNumber
Overrides the property when connected and not 0.
DurationNumber
Seconds. Overrides the property when connected and not 0.
Device IDsAny
Shocker IDsAny
Outputs
DoneFlow
Properties
Intensity
1 to 100. Default 10.
Duration (seconds)
0.1 to 15. Default 0.5.
Target
All Shockers or Random Shocker. Default All Shockers.

Intensity is limited to 1–100 and duration to 0.1–15 seconds, whether the value comes from an input or a property.

Vibrate

Sends a vibration.

VibrateExecuteIntensityDurationDevice IDsShocker IDsDone
Inputs
ExecuteFlow
IntensityNumber
Overrides the property when connected and not 0.
DurationNumber
Seconds. Overrides the property when connected and not 0.
Device IDsAny
Shocker IDsAny
Outputs
DoneFlow
Properties
Intensity
1 to 100. Default 50.
Duration (seconds)
0.1 to 15. Default 1.
Target
All Shockers or Random Shocker. Default All Shockers.

Uses the same limits as Shock.

Beep

Sends a beep. Beeps have no intensity.

BeepExecuteDurationDevice IDsShocker IDsDone
Inputs
ExecuteFlow
DurationNumber
Seconds. Overrides the property when connected and not 0.
Device IDsAny
Shocker IDsAny
Outputs
DoneFlow
Properties
Duration (seconds)
0.1 to 15. Default 1.
Target
All Shockers or Random Shocker. Default All Shockers.

Stop

Meant to stop whatever the targeted shockers are doing. In the current version it has no effect; use Stop everything instead (see safety controls).

StopExecuteDevice IDsShocker IDsDone
Inputs
ExecuteFlow
Device IDsAny
Shocker IDsAny
Outputs
DoneFlow
Properties
Target
All Shockers or Random Shocker. Default All Shockers.

Stop sends a vibration with intensity 0, which shockers ignore, so nothing is stopped. Stopping the flow doesn't cancel commands it already sent either.

Random Shocker

Picks one loaded shocker at random. It does not send a command by itself.

Random ShockerExecuteDoneDevice IDShocker IDShocker Name
Inputs
ExecuteFlow
Outputs
DoneFlow
Device IDNumber
Shocker IDNumber
Shocker NameString

Wire Device ID and Shocker ID into an action node to target the chosen shocker. The node fails if no shockers are loaded.

Select Shocker

Chooses from a set of shockers you pick. It does not send a command by itself.

Select ShockerExecuteDoneDevice IDsShocker IDsShocker NamesSelected CountDevice IDShocker IDShocker Name
Inputs
ExecuteFlow
Outputs
DoneFlow
Device IDsArray
Shocker IDsArray
Shocker NamesArray
Selected CountNumber
Device IDNumber
The first selected shocker. Kept for older flows.
Shocker IDNumber
The first selected shocker. Kept for older flows.
Shocker NameString
The first selected shocker. Kept for older flows.
Properties
Selection Mode
All Selected, Random, or Round Robin. Default All Selected.
Targets
The shockers this node chooses from.
Minimum Random Amount
Random mode only. Fewest shockers to pick, 1 to 1000. Default 1.
Maximum Random Amount
Random mode only. Most shockers to pick, 1 to 1000. Default 1.
  • All Selected outputs every shocker in Targets.
  • Random outputs a random number of different shockers, between the minimum and maximum amount.
  • Round Robin outputs one shocker per run, moving to the next one each time.

Shockers in Targets that are not currently loaded are skipped, and the node fails if none of them are loaded. Wire Device IDs and Shocker IDs into an action node to send the command to the selection.

Contributors

Thank you to everyone who has helped improve this documentation.