Plugins I have created to use with Cronicle (https://github.com/jhuckaby/Cronicle)
Create a new plugin in Cronicle and upload each script to the Cronicle server. You can make the scripts directly executable by using chmod +x plugin.py
and then just specify the path to the file for the plugin to execute.
Read more about how I am using these plugins here: https://techministry.blog/2020/07/16/automating-production-equipment-using-a-chromebox-and-a-scheduling-server/
Allows control of an AJA Ki Pro unit. Requires the following parameters:
ip
: Text Field: IP Address of the AJA Ki Protransport
: Menu: Itemsrecord
,stop
,play
clipname
: TextField: Name of the clip. All clips will automatically be appended with the date in yyyymmdd format followed by an 8-character uuid to ensure a unique filename
Allows control of an AJA Ki Pro unit's media state to put it in Record-Play or Data-LAN state depending on your needs. Requires the following parameters:
ip
: Text Field: IP Address of the AJA Ki Prostate
: Menu: Itemsrecord
,data
Checks the available space on the AJA Ki Pro. If the percentage is less than the desired percentage free, the job will fail and pass a message in the chain_data
to be used in the next job (if configured).
Requires the following parameters:
ip
: Text Field: IP Address of the AJA Ki Propercentage
: Text Field: Threshold percentage. If the available space on the drive is less than this number, the job will fail.
Checks the transport state on the AJA Ki Pro. If it does not match the desired transport state, the job will fail and pass a message in the chain_data
to be used in the next job (if configured).
Requires the following parameters:
ip
: Text Field: IP Address of the AJA Ki Protransport_state
: Menu: ItemsPlaying Reverse
,Reverse 2X
,Forward 2X
,Forward 4X
,Forward 8X
,Forward 16X
,Stop
,Paused
,Recording
,Idle
Checks the lamp hours of the Christie projector. If the lamp hours are past the threshold, the job will fail and pass a message in the chain_data
to be used in the next job.
Requires the following parameters:
ip
: Text Field: IP Address of the Projectorname
: Text Field: Friendly name of the Projector used in the error messagethreshold
: Text Field: Threshold number of hours. If the lamp hours are greater than this, the job will fail.
Allows you to send on/off commands to Christie projectors. Requires the following parameters:
ip
: Text Field: IP Address of the Projectorport
: Text Field: Port to establish connection with. Default is 3002command
: Text Field: Command to send to projector (on/off). Job will fail if invalid command is passed
Allows buttons in Bitfocus Companion to be pressed remotely. Requires the following parameters:
ip
: Text Field: IP address of the device running Bitfocus Companionport
: Text Field: TCP listening port in Companion (default of 51234)page
: Text Field: Page that the button is on that you want to executebutton
: Text Field: Button number on that page that you want to execute
Allows you to execute CueScripts on an Interactive Technologies CueServer.
Requires the following parameters:
ip
: Text Field: IP address of the CueServercuescript
: Text Field: CueScript to execute (will be URL encoded)
Allows you to send generic TCP strings to the specified IP/port. Requires the following parameters:
ip
: Text Field: IP address of the deviceport
: Text Field: TCP listening portmessage
: Text Field: Message string you want to send. Automatically sends\n
at the end.
Allows you to control routings on a JTech Digital HDMI Matrix. Requires the following parameters:
ip
: Text Field: IP address of the deviceoutput
: Text Field: Output Number; also acceptsAll
to assign the Input to all Outputsinput
: Text Field: Input Number
Allows you to control routings on a JTech Digital HDMI Matrix but sends the command via a GlobalCache IP2SL device to the matrix via serial. Requires the following parameters:
ip
: Text Field: IP address of the GlobalCache IP2SLoutput
: Text Field: Output Number; also acceptsAll
to assign the Input to all Outputsinput
: Text Field: Input Number
Allows you to control a KXWell PTZ head and recall presets. Requires the following parameters:
ip
: Text Field: IP address of the devicepreset
: Text Field: Preset to recall. Uses port 5000.
Allow you to turn a Lyntec RPC breaker zone on/off. Requires the following parameters:
ip
: Text Field: IP address of the devicezone
: Text Field: Zone number to control. e.g.001
power
: Menu: Itemson
,off
Allows you to send MIDI notes via midi-relay to the specified IP/port. Requires the following parameters:
ip
: Text Field: IP address of the device runningmidi-relay
port
: Text Field: TCP listening port formidi-relay
(default of 4000)midiport
: Text Field: MIDI port to send messages tomidicommand
: Menu: Items:noteon
,noteoff
channel
: Text Field: Channel Number (0-15)note
: Text Field: Note Number (0-127)velocity
: Text Field: Velocity Number (0-127)
Allows you to send notifications to the ntfy service (or a custom ntfy server). Requires the following parameters:
server
: Text Field: Server address for ntfy (default of https://ntfy.sh)topic
: Text Field: Topic to send the notification touseauth
: Checkbox: Whether or not to use Authentication with the request (the default ntfy server does not require it)authtype
: Menu: Items: (Basic Auth, Bearer Token), Default: “Basic Auth”override
: Checkbox: Whether or not to override the headers with custom headers (useful for utilizing additional parameters I did not feel like implementing)headers
: Text Box: All the custom headers, JSON formattitle
: Text Field: Title to include with the notificationmessage
: Text Box: Message Bodypriority
: Menu: Items: (Min, Low, Default, High, Max/Urgent), Default: “Default”email
: Text Field: Email Address to also send notification to
Allows you to control OBS Studio using the Websockets protocol.
- Requires the following parameters:
host
: Text Field: IP Address of OBS computer.port
: Text Field: Port that OBS websockets is using. Example:4455
password
: Text Field: Password that OBS websockets is using.command
: Menu: Command to send to OBS. Items: Start Stream, Stop Stream, Switch ScenedestinationScene
: Text Field: Scene to switch to in OBS
Copy the obs
folder to your Cronicle server and then run npm install
within that folder to install the dependencies.
Allows you to control presets of your Panasonic PTZ. Requires the following parameters:
ip
: Text Field: IP address of the camerapreset
: Text Field: Preset Number
Allows you to use Cronicle to load the PCO LIVE page for your next plan in a service type automatically in Safari on the computer running VICREO Listener. Requires the following parameters:
ip
: Text Field: IP Address of the computer running VICREO Listenerport
: Text Field: Port of the VICREO program (default of 10001)appid
: Hidden: AppID you set up in your PCO Developer Account for this application.secret
: Hidden: Secret Key you set up in your PCO Developer Account for this application.servicetype
: Text Field: PCO Service Type Id for plan you want to load the LIVE page for
Allows you to generate the PDF path needed to print Planning Center Services custom reports on a schedule. More information here: https://techministry.blog/2020/09/16/using-cronicle-the-planning-center-online-api-and-automator-on-a-mac-to-automate-printing-weekly-paperwork/ Requires the following parameters:
ip
: Text Field: IP Address of the computer running VICREO Listenerport
: Text Field: Port of the VICREO program (default of 10001)appid
: Hidden: AppID you set up in your PCO Developer Account for this application.secret
: Hidden: Secret Key you set up in your PCO Developer Account for this application.servicetypes
: Text Field: semicolon;
delimited list of PCO Service Type Ids for plans you want to include in the reportreportid
: Text Field: Custom Report Id of the report you want to usepagesize
: Menu: ItemsA4
,US-Letter
,US-Legal
,US-Tabloid
printorientation
: Menu: ItemsPortrait
,Landscape
printmargin
: Menu: Items0.0in
,0.25in
,0.5in
,0.75in
,1.0in
Performs a ping test to the hostname.
hostname
: Text Field: IP or host to pingscenario
: Menu: ItemsTest
,Success
,Failure
timeout
: Text Field: Timeout in seconds so that it won't try to ping forever
- For
Test
: If it pings succesfully, the job succeeds. If it can't ping, it fails. - For
Success
: It will ping the hostname until it succeeds (or hits the timeout). This lets you use the job with chaining, to only do something once it is online. - For
Failure
: Same as Success, but with fail. It will ping until it fails to respond (or hits the timeout). This lets you do something once the host has gone offline.
Allows you to send data to a Rock RMS workflow via webhook. Specifically designed to use a workflow that sends texts/emails to a Rock Group in the event that a Cronicle job fails, or to simply send a notfication at a certain time. Requires the following parameters:
workflowid
: Hidden: The ID of the workflow to rungroupid
: Text Field: The Group ID to send the notification totype
: Menu: ItemsSMS
,Email
subject
: Text Fieldbody
: Text Fieldtoken
: Hidden: Auth token to authenticate the webhook requestworkflowurl
Hidden: Complete URL to Rock server and workflow entry API (/api/Workflows/WorkflowEntry/
)
Allows commands to be sent to any device that accepts RossTalk commands. Requires the following parameters:
ip
: Text Field: IP Address of the Ross switcherport
: Text Field: Port of the switcher (default of 7788)command
: RossTalk command to send (send multiple commands in the same string by separating them with semicolons;
) For a list of RossTalk commands: http://help.rossvideo.com/carbonite-device/Topics/Protocol/RossTalk/CNT/RT-CNT-Comm.html
Allows you to control Vizio TVs with Smartcast.
Requires the following parameters:
ip
: Text Field: IP Address of the TVport
: Text Field: Port (7345 or 9000 - older tv's use 9000)token
: Text Field: Auth Tokencommand
: Menu: Items (Power On
,Power Off
,Change Input
)input
: Text Field: Input Name (HDMI-1
) if changing the input
Copy the smartcast
folder to your Cronicle server and then run npm install
within that folder to install the dependencies.
Allows you to send commands via the REST API to spotify-controller. Requires the following parameters:
ip
: Text Field: IP Address of the computer running spotify-controllercommand
: Menu: Items: (Play
,Play Track
,Play Track In Context
,Pause
,Play Toggle
,Next
,Previous
,Volume Up
,Volume Down
,Set Volume
,Ramp Volume
,Mute
,Unmute
,Repeat On
,Repeat Off
,Repeat Toggle
,Shuffle On
,Shuffle Off
,Shuffle Toggle
trackid
: Text Field: Track ID to playcontextid
: Text Field: Context of Track IDvolume
: Text Field: Volume Level (0-100)
Allows you to check if your Shure batteries in your SBC220 or SBC240 are present in the dock. Useful to make sure people put the mics back on charge after an event. Requires the following parameters:
ip
: Text Field: IP Address of the Shure chargerroom_name
: Text Field: Friendly name of the room/location of this charger, for the chain message.
It currently only checks for Battery Detection in Slots 1 & 2. If both are present, the job will succeed. If one or both are missing, the job will fail and print a message for job chaining. Then you can set a chaining job to send a notification, for example.
Allows you to update dB values for controller inputs on your Symetrix DSP over TCP. Requires the following parameters:
ip
: Text Field: IP address of the device running Bitfocus Companionport
: Hidden Field: TCP port (default should be "48631")controller
: Text Field: Controller Number / Input to adjust. Might need to be 0-based depending on your configuration.db
: Text Field: dB value to adjust to. The plugin uses this formula to calculate the Controller Position: Volume dB = -72 + 84*(CONTROLLER POSITION/65535)
Allows commands to be sent to a TimeKeeper server to set up timers automatically. Requires the following parameters:
ip
: Text Field: IP Address of the TimeKeeper serverport
: Text Field: Port of the server (usually 4000)date
: Text Field: Date you want to use for the timer. Must be M/D/YY. Keep blank and it will use "today's date" (based on the server)time
: Text Field: Time you want to use for the timer. Must be H:M:S. Keep blank and it will use 6AM.label
: Text Field: The label for the timer.roomid
: Text Field: The room ID to target. You can useroom-0
to target all rooms.timerid
: Text Field: The Timer ID, if you want to choose it explicitly rather than having it auto generated.triggers
: Text Box: JSON Object Array for triggers. See TimeKeeper documentation for more information.
Allows you to turn on/off TP-Link HS100 Wifi Outlets. Requires the following parameters:
ip
: Text Field: IP address of the HS100 outlet. Recommend you set a DHCP reservation for the outlet if you do not want this to change.command
: Menu: Command to send. Items:on
,off
Turns a TP Link Kasa Plug Off, waits the specified delay time in seconds, and then turns the plug back on. Helpful to avoid multiple events just to turn on a device that might need to be turned off before it will boot up on power. Requires the following parameters:
ip
: Text Field: IP address of the HS100 outlet. Recommend you set a DHCP reservation for the outlet if you do not want this to change.delay
: Text Field: Delay time in seconds to wait between turning the plug off and then back on. Default of 5 seconds.
Allows AppleScripts to be executed on the remote computer running the free VICREO Listener software, provided that the remote computer is MacOS.
ip
: Text Field: IP Address of the computer running VICREO Listenerport
: Text Field: Port of the VICREO program (default of 10001)applescript
: Text Box: The AppleScript to execute. Recommend you test it locally on the remote computer first to ensure proper syntax of the AppleScript. Any necessary'
or"
marks must be escaped (i.e.\'
or\"
).password
: Text Box: optional If your instance of VICREO Listener has a password set, then include this.
Allows files and programs to be opened on remote computers running the free VICREO Listener software. Requires the following parameters:
ip
: Text Field: IP Address of the computer running VICREO Listenerport
: Text Field: Port of the VICREO program (default of 10001)path
: Text Field: File to open or Program to execute on the remote computerpassword
: Text Box: optional If your instance of VICREO Listener has a password set, then include this.
Allows hotkeys to be sent to a remote computer running VICREO Listener. Requires the following parameters:
ip
: Text Field: IP Address of the computer running VICREO Listenerport
: Text Field: Port of the VICREO program (default of 10001)key
: Menu: Remote key to press- Items: backspace, delete, enter, tab, escape, up, down, right, left, home, end, pageup, pagedown, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, command, alt, control, shift, right_shift, space, audio_mute, audio_vol_down, audio_vol_up, audio_play, audio_stop, audio_pause, audio_prev, audio_next, numpad_0, numpad_1, numpad_2, numpad_3, numpad_4, numpad_5, numpad_6, numpad_7, numpad_8, numpad_9, lights_mon_up, lights_mon_down, lights_kbd_toggle, lights_kbd_up, lights_kbd_down
modifiers_shift
: Checkboxmodifiers_fn
: Checkboxmodifiers_ctrl
: Checkboxmodifiers_command
: Checkboxmodifiers_alt
: Checkboxmodifiers_rightshift
: Checkboxmodifiers_rightalt
: Checkboxmodifiers_rightctrl
: Checkboxpassword
: Text Box: optional If your instance of VICREO Listener has a password set, then include this.
Allows shell scripts to be executed on remote computers running the free VICREO Listener software. Requires the following parameters:
ip
: Text Field: IP Address of the computer running VICREO Listenerport
: Text Field: Port of the VICREO program (default of 10001)shell
: Text Field: Shell script/command execute on the remote computerpassword
: Text Box: optional If your instance of VICREO Listener has a password set, then include this.
Allows destinations routes to be changed on Blackmagic VideoHub devices. Requires the following parameters:
ip
: Text Field: IP Address of the VideoHubdestination
: Destination to change (not zero-based, use the actual number)source
: Source to use (not zero-based)
Allows destinations routes to be changed in bulk on Blackmagic VideoHub devices. Requires the following parameters:
-
ip
: Text Field: IP Address of the VideoHub -
routes
: Text Box: A list of Destinations and their new Sources, not zero-based, separated by a spaceExample: This routes Destinations 53 and 54 to Source 7
53 7 54 7
Allows cues to be triggered on Chroma-Q/Jands Vista consoles, provided they are configured to respond to midi messages via midi-relay Requires the following parameters:
ip
: Text Field: IP Address of Vista computer/consolemidiport
: Text Field: MIDI port to send messages tocuelist
: Text Field: Cue List that contains Cue to triggercue
: Text Field: Cue to trigger
Allows magic packets to be sent to the specified MAC address. Requires the wakeonlan
command line function. You can install this on Ubuntu with sudo apt-get install wakeonlan
Requires the following parameters:
mac
: Text Field: MAC Address of the device you want to send the magic packet to.