2026-10-08 09:00:56 -04:00
{
2026-10-13 16:00:41 -04:00
"site" : {
"id" : "na" , "name" : "North Attleboro" , "ingest_name" : "NA Ingest" , "ingest_hostname" : "na-ingest.local" ,
"ingest_ips" : [ "10.1.1.1" , "10.6.3.222" ],
"live_services" : []
},
2026-10-08 09:00:56 -04:00
"companion" : { "host" : "127.0.0.1" , "port" : 8000 },
"page" : 19 ,
"page_name" : "19\\nStatus" ,
2026-10-08 09:44:03 -04:00
"nav_keys" : [ "pagenum" ],
2026-10-08 09:52:21 -04:00
"nav_hold_ms" : 1000 ,
2026-10-08 09:58:59 -04:00
"nav_tap_page" : 1 ,
2026-10-08 09:00:56 -04:00
"variables" : { "state" : "sp_state" , "heartbeat" : "sp_hb" , "command" : "sp_cmd" },
"service_windows" : [
{ "days" : [ "mon" , "tue" , "wed" , "thu" , "fri" , "sat" , "sun" ], "start" : "00:00" , "end" : "23:59" }
],
"debounce_seconds" : 3 ,
"flap" : { "count" : 3 , "window_seconds" : 600 },
"network" : {
"interface" : "en0" ,
"gateway" : "10.1.0.1" ,
"burst_connections" : 4 ,
"burst_groups" : 3 ,
"burst_window_seconds" : 10 ,
2026-10-08 18:38:19 -04:00
"remember_seconds" : 300
2026-10-08 09:00:56 -04:00
},
"alert_webhook" : "" ,
2026-10-13 16:00:41 -04:00
"timing" : { "fix_cooldown_seconds" : 60 , "alert_after_seconds" : 30 },
"page_hold_ms" : 2000 ,
"spotify" : { "playlist" : "spotify:playlist:2uTpJVYQLFnKF1WnSOuco8" , "name" : "Christian EDM 2026" , "open_wait" : 8 , "play_wait" : 3 },
2026-10-08 09:00:56 -04:00
2026-10-08 11:34:44 -04:00
"ssh_key" : "~/.ssh/id_status_panel" ,
2026-10-08 13:31:51 -04:00
"dante_switches" : [ "10.66.1.100" , "10.66.1.102" ],
2026-10-08 11:34:44 -04:00
"hosts" : {
"prop" : { "ssh" : "napropresenter@10.1.14.225" },
"tracks" : { "ssh" : "waterschurchmedia@10.1.3.227" },
2026-10-08 14:52:19 -04:00
"translation" : { "ssh" : "studio@10.1.7.39" },
2026-10-13 16:00:41 -04:00
"bibletv" : { "ssh" : "media@10.6.7.13" , "os" : "windows" },
"lighting" : { "ssh" : "media@10.1.10.206" , "os" : "windows" },
2026-10-11 09:26:26 -04:00
"studiob" : { "ssh" : "studiob@10.1.13.175" },
2026-10-13 16:00:41 -04:00
"livestream" : { "ssh" : "media@10.1.9.126" , "os" : "windows" , "mac" : "6c:24:08:d7:fb:57" , "wake_broadcast" : "10.1.255.255" }
2026-10-08 11:34:44 -04:00
},
"fixes" : {
2026-10-08 11:41:44 -04:00
"propresenter" : { "host" : "prop" , "short" : "PROPRES" , "label" : "restart ProPresenter (newest installed)" ,
2026-10-08 11:34:44 -04:00
"run" : "APP=$(ls -d /Applications/ProPresenter*.app | sort -V | tail -1); if pgrep -xq ProPresenter; then pkill -TERM -x ProPresenter; for i in 1 2 3 4 5 6 7 8 9 10; do pgrep -xq ProPresenter || break; sleep 1; done; pkill -KILL -x ProPresenter; sleep 1; fi; open \"$APP\"" },
2026-10-08 18:57:04 -04:00
"ableton" : { "host" : "tracks" , "short" : "ABLETON" , "label" : "start Ableton if it is not running, with the set it last had open" ,
"run" : "pgrep -xq Live || { L=$(ls -td ~/Library/Preferences/Ableton/Live*/ | head -1); S=$(grep -a 'info: Loading document \"' \"${L}Log.txt\" | grep -v '/Templates/' | tail -1 | sed -E 's/^.*Loading document \"(.*)\"[^\"]*$/\\1/'); if [ -n \"$S\" ] && [ -f \"$S\" ]; then open -a 'Ableton Live 11 Suite' \"$S\"; else open -a 'Ableton Live 11 Suite'; fi; }" },
2026-10-08 11:41:44 -04:00
"translate" : { "host" : "translation" , "short" : "TRANSLATE" , "label" : "start Church Translate if it is not running" ,
2026-10-08 11:34:44 -04:00
"run" : "pgrep -xq 'Church Translate' || open -a 'Church Translate'" },
2026-10-08 18:08:29 -04:00
"dvs_prop" : { "host" : "prop" , "short" : "DVS" , "label" : "restart Dante Virtual Soundcard on the ProPresenter Mac (its engine restarts; audio to and from that Mac drops for 5-10 s)" , "run" : "sudo -n /usr/local/sbin/status-panel-dvs-start && open -g -a 'Dante Virtual Soundcard'" },
"dvs_tracks" : { "host" : "tracks" , "short" : "DVS" , "label" : "restart Dante Virtual Soundcard on the Tracks Mac (its engine restarts; audio to and from that Mac drops for 5-10 s)" , "run" : "sudo -n /usr/local/sbin/status-panel-dvs-start && open -g -a 'Dante Virtual Soundcard'" },
"dvs_translation" : { "host" : "translation" , "short" : "DVS" , "label" : "restart Dante Virtual Soundcard on NA Translation (its engine restarts; audio to and from that Mac drops for 5-10 s)" , "run" : "sudo -n /usr/local/sbin/status-panel-dvs-start && open -g -a 'Dante Virtual Soundcard'" },
"dvs_ingest" : { "kind" : "local" , "short" : "DVS" , "label" : "restart Dante Virtual Soundcard on NA Ingest, then ProdCom (it keeps a dead DVS input otherwise)" , "run" : "sudo -n /usr/local/sbin/status-panel-dvs-start && open -g -a 'Dante Virtual Soundcard' || exit 1; sleep 5; pkill -TERM -x ProdCom; i=0; while pgrep -xq ProdCom && [ $i -lt 20 ]; do sleep 0.5; i=$((i+1)); done; pgrep -xq ProdCom && pkill -KILL -x ProdCom; sleep 1; open -g /Applications/ProdCom.app" },
2026-10-08 11:41:44 -04:00
"bridge" : { "kind" : "local" , "short" : "BRIDGE" , "label" : "restart the Resi bridge" ,
2026-10-08 11:34:44 -04:00
"run" : "launchctl kickstart -k gui/$(id -u)/org.waterschurch.resi-propresenter || launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/org.waterschurch.resi-propresenter.plist" },
2026-10-08 18:08:29 -04:00
"captions" : { "kind" : "local" , "short" : "CAPTIONS" , "label" : "restart lobby captions (server and display)" ,
"run" : "s=0; { launchctl kickstart -k gui/$(id -u)/org.waterschurch.lobby-captions || launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/org.waterschurch.lobby-captions.plist; } || s=1; { launchctl kickstart -k gui/$(id -u)/org.waterschurch.lobby-captions-display || launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/org.waterschurch.lobby-captions-display.plist; } || s=1; exit $s" },
2026-10-08 14:52:19 -04:00
"bibleapp" : { "host" : "bibletv" , "short" : "BIBLE APP" , "label" : "restart the Bible app on the Sanctuary TV PC (Windows: cmd.exe)" ,
2026-10-08 18:08:29 -04:00
"run" : "taskkill /F /T /IM \"Bible App.exe\" >nul 2>&1 & ping -n 3 127.0.0.1 >nul & schtasks /Run /TN \"\\StatusPanel\\Start BibleApp\" >nul && ping -n 9 127.0.0.1 >nul && tasklist /NH /FI \"IMAGENAME eq Bible App.exe\" | find /I \"Bible App.exe\" >nul" },
2026-10-08 15:29:54 -04:00
"obs" : { "host" : "livestream" , "short" : "OBS" , "label" : "start OBS on the LiveStream PC if it is not running (wakes the PC if it is off), then reconnect Companion" , "reconnect" : true ,
2026-10-08 18:08:29 -04:00
"run" : "tasklist /NH /FI \"IMAGENAME eq obs64.exe\" | find /I \"obs64.exe\" >nul || (schtasks /Run /TN \"\\StatusPanel\\Start OBS\" >nul && ping -n 9 127.0.0.1 >nul && tasklist /NH /FI \"IMAGENAME eq obs64.exe\" | find /I \"obs64.exe\" >nul)" },
2026-10-08 15:29:54 -04:00
"arena" : { "host" : "lighting" , "short" : "ARENA" , "label" : "start Resolume Arena on the Lighting PC if it is not running, then reconnect Companion" , "reconnect" : true ,
2026-10-08 18:08:29 -04:00
"run" : "tasklist /NH /FI \"IMAGENAME eq Arena.exe\" | find /I \"Arena.exe\" >nul || (schtasks /Run /TN \"\\StatusPanel\\Start Arena\" >nul && ping -n 9 127.0.0.1 >nul && tasklist /NH /FI \"IMAGENAME eq Arena.exe\" | find /I \"Arena.exe\" >nul)" },
2026-10-08 15:29:54 -04:00
"vista" : { "host" : "lighting" , "short" : "VISTA" , "label" : "start Vista on the Lighting PC if it is not running (a running Vista is never closed)" ,
2026-10-08 18:08:29 -04:00
"run" : "tasklist /NH /FI \"IMAGENAME eq Vista.exe\" | find /I \"Vista.exe\" >nul || (schtasks /Run /TN \"\\StatusPanel\\Start Vista\" >nul && ping -n 9 127.0.0.1 >nul && tasklist /NH /FI \"IMAGENAME eq Vista.exe\" | find /I \"Vista.exe\" >nul)" },
2026-10-08 16:16:31 -04:00
"rtpmidi_start" : { "host" : "lighting" , "short" : "RTPMIDI" , "label" : "start rtpMIDI on the Lighting PC if it is not running (service, then tray app). A running rtpMIDI is never restarted: that drops every session." ,
"run" : "(sc query rtpMIDIService | find \"RUNNING\" >nul || net start rtpMIDIService) && (tasklist /NH /FI \"IMAGENAME eq rtpMIDI.exe\" | find /I \"rtpMIDI.exe\" >nul || schtasks /Run /TN \"\\StatusPanel\\Start rtpMIDI\")" },
2026-10-08 15:54:53 -04:00
"midi_reconnect" : { "kind" : "midi_connect" , "short" : "RECONNECT" , "label" : "reconnect the peer to the network MIDI session it dropped out of (like Connect in Audio MIDI Setup); the address is where it was last seen, else the check's \"address\"" },
2026-10-08 18:08:29 -04:00
"caption_screen" : { "kind" : "local" , "short" : "CAPTION SCREEN" , "label" : "restart the lobby caption screen (display app only)" , "run" : "launchctl kickstart -k gui/$(id -u)/org.waterschurch.lobby-captions-display || launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/org.waterschurch.lobby-captions-display.plist" },
2026-10-11 09:26:26 -04:00
"solo_afl" : { "host" : "studiob" , "short" : "PT SOLO" , "label" : "set Pro Tools on the Studio B Mac Studio back to Solo Mode AFL + Latch (clicks Options > Solo Mode)" ,
"run" : "touch \"$HOME/Library/Application Support/status-panel/solo-mode.fix\"; sleep 3; ! grep -q '\"bad\":true' \"$HOME/Library/Application Support/status-panel/solo-mode.json\"" },
2026-10-11 10:54:59 -04:00
"atem_audio" : { "kind" : "atem" , "part" : "audio" , "short" : "ATEM AUDIO" , "label" : "set the switcher's audio inputs back to the restore file (Resi on input 16 on, the rest as saved)" },
"atem_camera" : { "kind" : "atem" , "part" : "camera" , "short" : "ATEM CAMERA" , "label" : "set the cameras' settings back to the restore file (only what differs)" },
"atem_midi" : { "kind" : "local" , "short" : "ATEM MIDI" , "restart_ok" : true ,
"label" : "turn off MIDI control in ATEM Software Control (quits and reopens the app; the switcher is not affected)" ,
"run" : "was=$(pgrep -f \"ATEM Software Control.app/Contents/MacOS\"); pkill -TERM -f \"ATEM Software Control.app/Contents/MacOS\"; i=0; while pgrep -fq \"ATEM Software Control.app/Contents/MacOS\" && [ $i -lt 20 ]; do sleep 0.5; i=$((i+1)); done; defaults write \"com.blackmagic-design.ATEM Software Control\" midiEnabled -bool false; [ -z \"$was\" ] || open -g -a \"ATEM Software Control\"; [ \"$(defaults read \"com.blackmagic-design.ATEM Software Control\" midiEnabled)\" = 0 ]" },
2026-10-13 16:00:41 -04:00
"spotify_play" : { "kind" : "spotify" , "short" : "SPOTIFY" , "label" : "play the Christian EDM 2026 playlist in Spotify on NA Ingest (opens Spotify if it is closed)" },
2026-10-08 18:08:29 -04:00
"proddash" : { "kind" : "local" , "short" : "PRODDASH" , "label" : "restart ProdDash (its launcher stops its server cleanly)" ,
"run" : "pkill -TERM -x ProdDash; i=0; while pgrep -xq ProdDash && [ $i -lt 20 ]; do sleep 0.5; i=$((i+1)); done; open -g /Applications/ProdDash.app" },
"prodcom" : { "kind" : "local" , "short" : "PRODCOM" , "label" : "restart ProdCom (transcription; lobby captions blank for 5-15 s)" ,
"run" : "pkill -TERM -x ProdCom; i=0; while pgrep -xq ProdCom && [ $i -lt 20 ]; do sleep 0.5; i=$((i+1)); done; pgrep -xq ProdCom && pkill -KILL -x ProdCom; sleep 1; open -g /Applications/ProdCom.app" },
2026-10-08 18:57:04 -04:00
"ableton_restart" : { "host" : "tracks" , "short" : "ABLETON" , "label" : "restart Ableton on the Tracks Mac and reopen the set it had open (unsaved changes are lost; Live may ask to recover on the Tracks Mac)" , "conn" : "ableton" , "reconnect" : true , "timeout" : 60 ,
"run" : "L=$(ls -td ~/Library/Preferences/Ableton/Live*/ | head -1); S=$(grep -a 'info: Loading document \"' \"${L}Log.txt\" | grep -v '/Templates/' | tail -1 | sed -E 's/^.*Loading document \"(.*)\"[^\"]*$/\\1/'); pkill -TERM -x 'Live'; i=0; while pgrep -xq 'Live' && [ $i -lt 30 ]; do sleep 0.5; i=$((i+1)); done; pgrep -xq 'Live' && pkill -KILL -x 'Live'; sleep 1; if [ -n \"$S\" ] && [ -f \"$S\" ]; then open -a 'Ableton Live 11 Suite' \"$S\"; else open -a 'Ableton Live 11 Suite'; fi" },
2026-10-08 18:08:29 -04:00
"translate_restart" : { "host" : "translation" , "short" : "TRANSLATE" , "label" : "restart Church Translate on NA Translation (and its translation server)" , "timeout" : 60 ,
"run" : "pg=$(ps -o pgid= -p \"$(pgrep -x 'Church Translate' | head -1)\" 2>/dev/null | tr -d ' '); pkill -TERM -x 'Church Translate'; i=0; while pgrep -xq 'Church Translate' && [ $i -lt 30 ]; do sleep 0.5; i=$((i+1)); done; pgrep -xq 'Church Translate' && pkill -KILL -x 'Church Translate'; [ -n \"$pg\" ] && [ \"$pg\" != \"$(ps -o pgid= -p $$ | tr -d ' ')\" ] && kill -KILL -- -\"$pg\" 2>/dev/null; sleep 1; open -a 'Church Translate'" },
"tascam_reconnect" : { "kind" : "reconnect" , "conn" : "tascam" , "short" : "TASCAM" , "verify_seconds" : 20 , "hung_note" : "HUNG - POWER\nCYCLE IT" ,
"label" : "reconnect Companion to the Tascam; if it still does not answer but pings, its control port has hung: power-cycle it at the rack" },
2026-10-11 05:20:07 -04:00
"hyperdeck" : { "kind" : "hyperdeck" , "short" : "HYPERDECK" , "verify_seconds" : 15 , "hung_note" : "STILL OFFLINE\nHOLD AGAIN" ,
"label" : "turn Companion's connection to that HyperDeck off and on (what gets a restarted deck green); never reboots the deck" }
2026-10-08 11:34:44 -04:00
},
2026-10-11 10:54:59 -04:00
"atem" : {
"host" : "10.1.10.2" ,
"node" : "/Applications/Companion [0-9]*.app/Contents/Resources/node-runtimes/node22/bin/node" ,
"library" : "~/Library/Application Support/companion/modules/bmd-atem-*/node_modules/atem-connection" ,
"reference" : "atem-reference.xml"
},
2026-10-11 07:05:05 -04:00
"auto_fix" : {
"windows" : [{ "days" : [ "sun" ], "start" : "06:30" , "end" : "13:30" }],
"after_seconds" : 20 , "max_tries" : 2 , "retry_seconds" : 90 , "pause_after_network_seconds" : 60 ,
"restart_connections" : true ,
"fixes" : [ "hyperdeck" , "tascam_reconnect" , "midi_reconnect" , "rtpmidi_start" , "vista" , "arena" , "obs" ,
2026-10-11 10:54:59 -04:00
"ableton" , "translate" , "dvs_prop" , "dvs_tracks" , "dvs_translation" , "solo_afl" ,
2026-10-13 10:05:09 -04:00
"atem_audio" , "atem_camera" , "atem_midi" , "spotify_play" ]
2026-10-11 07:05:05 -04:00
},
2026-10-08 18:08:29 -04:00
"restart_page" : {
2026-10-11 07:05:05 -04:00
"page" : 20 , "page_name" : "20\\nRestart" , "jump_pos" : [ 2 , 6 ], "back_pos" : [ 2 , 6 ],
2026-10-08 18:08:29 -04:00
"keys" : [
{ "id" : "rs_dvs_prop" , "label" : "DVS PROP" , "pos" : [ 0 , 1 ], "fix" : "dvs_prop" },
{ "id" : "rs_dvs_tracks" , "label" : "DVS TRACKS" , "pos" : [ 0 , 2 ], "fix" : "dvs_tracks" },
{ "id" : "rs_dvs_transl" , "label" : "DVS TRANSL" , "pos" : [ 0 , 3 ], "fix" : "dvs_translation" },
{ "id" : "rs_dvs_ingest" , "label" : "DVS INGEST" , "pos" : [ 0 , 4 ], "fix" : "dvs_ingest" },
2026-10-11 07:05:05 -04:00
{ "id" : "rs_propres" , "label" : "PROPRESENTER" , "pos" : [ 1 , 1 ], "fix" : "propresenter" },
2026-10-08 18:57:04 -04:00
{ "id" : "rs_ableton" , "label" : "ABLETON" , "pos" : [ 1 , 2 ], "fix" : "ableton_restart" , "watch" : [ "ableton" , "conn:ableton" ] },
{ "id" : "rs_translate" , "label" : "TRANSLATE" , "pos" : [ 1 , 3 ], "fix" : "translate_restart" , "watch" : [ "translate" ] },
2026-10-13 10:05:09 -04:00
{ "id" : "rs_spotify" , "label" : "SPOTIFY" , "pos" : [ 1 , 4 ], "fix" : "spotify_play" },
2026-10-08 18:08:29 -04:00
{ "id" : "rs_prodcom" , "label" : "PRODCOM" , "pos" : [ 2 , 1 ], "fix" : "prodcom" },
{ "id" : "rs_proddash" , "label" : "PRODDASH" , "pos" : [ 2 , 2 ], "fix" : "proddash" },
2026-10-08 18:57:04 -04:00
{ "id" : "rs_captions" , "label" : "CAPTIONS" , "pos" : [ 2 , 3 ], "fix" : "captions" , "watch" : [ "caption_screen" ] },
2026-10-08 18:08:29 -04:00
{ "id" : "rs_bridge" , "label" : "BRIDGE" , "pos" : [ 2 , 4 ], "fix" : "bridge" },
2026-10-08 18:57:04 -04:00
{ "id" : "rs_tascam" , "label" : "TASCAM" , "pos" : [ 3 , 1 ], "fix" : "tascam_reconnect" , "watch" : [ "conn:tascam" ] }
2026-10-08 18:08:29 -04:00
]
},
2026-10-08 09:00:56 -04:00
"tiles" : [
{ "id" : "all" , "label" : "ALL" , "pos" : [ 0 , 1 ], "kind" : "master" },
{ "id" : "rec" , "label" : "REC" , "pos" : [ 0 , 2 ], "members" : [ "hd1" , "hd2" , "hd3" , "hd4" , "hd5" , "hd6" , "tascam" ] },
2026-10-08 09:22:38 -04:00
{ "id" : "audio" , "label" : "AUDIO" , "pos" : [ 0 , 3 ], "members" : [ "x32" , "dante" ] },
2026-10-08 09:00:56 -04:00
{ "id" : "rf" , "label" : "RF" , "pos" : [ 0 , 4 ], "members" : [ "axient1" , "axient2" , "ulxd" , "psm1" , "psm2" , "psm3" ] },
2026-10-13 10:05:09 -04:00
{ "id" : "show" , "label" : "SHOW" , "pos" : [ 0 , 5 ], "members" : [ "midi" , "apps" , "vista" , "spotify" ] },
2026-10-08 09:00:56 -04:00
{ "id" : "video" , "label" : "VIDEO" , "pos" : [ 0 , 6 ], "members" : [ "atem" , "led" , "arena" ] },
{ "id" : "stream" , "label" : "STREAM" , "pos" : [ 0 , 7 ], "members" : [ "obs" , "resi" ] },
2026-10-11 05:20:07 -04:00
{ "id" : "hd1" , "label" : "HD1" , "pos" : [ 1 , 1 ], "hold_always" : "hyperdeck" , "checks" : [{ "type" : "hyperdeck" , "conn" : "HyperDeck_1" , "fix" : { "conn" : "hyperdeck" } }] },
{ "id" : "hd2" , "label" : "HD2" , "pos" : [ 1 , 2 ], "hold_always" : "hyperdeck" , "checks" : [{ "type" : "hyperdeck" , "conn" : "HyperDeck_2" , "optional" : true , "fix" : { "conn" : "hyperdeck" } }] },
{ "id" : "hd3" , "label" : "HD3" , "pos" : [ 1 , 3 ], "hold_always" : "hyperdeck" , "checks" : [{ "type" : "hyperdeck" , "conn" : "HyperDeck_3" , "fix" : { "conn" : "hyperdeck" } }] },
{ "id" : "hd4" , "label" : "HD4" , "pos" : [ 1 , 4 ], "hold_always" : "hyperdeck" , "checks" : [{ "type" : "hyperdeck" , "conn" : "HyperDeck_4" , "optional" : true , "fix" : { "conn" : "hyperdeck" } }] },
{ "id" : "hd5" , "label" : "HD5" , "pos" : [ 1 , 5 ], "hold_always" : "hyperdeck" , "checks" : [{ "type" : "hyperdeck" , "conn" : "HyperDeck_5" , "fix" : { "conn" : "hyperdeck" } }] },
{ "id" : "hd6" , "label" : "HD6" , "pos" : [ 1 , 6 ], "hold_always" : "hyperdeck" , "checks" : [{ "type" : "hyperdeck" , "conn" : "HyperDeck_6" , "fix" : { "conn" : "hyperdeck" } }] },
2026-10-08 18:08:29 -04:00
{ "id" : "tascam" , "label" : "TASCAM" , "pos" : [ 1 , 7 ], "hold_always" : "tascam_reconnect" , "checks" : [
{ "type" : "tascam" , "conn" : "tascam" , "fix" : "tascam_reconnect" },
{ "type" : "ping" , "conn" : "tascam" , "host" : "10.1.11.74" , "name" : "TASCAM" }
] },
2026-10-08 09:00:56 -04:00
{ "id" : "x32" , "label" : "X32" , "pos" : [ 2 , 1 ], "checks" : [{ "type" : "conn" , "conn" : "x32" }] },
{ "id" : "dante" , "label" : "DANTE" , "pos" : [ 2 , 2 ], "checks" : [
2026-10-08 11:34:44 -04:00
{ "type" : "dante" , "conn" : "audinate-dantecontroller" ,
2026-10-08 12:19:26 -04:00
"fix" : { "NA-ProPresenter-Mac" : "dvs_prop" , "NA-Tracks" : "dvs_tracks" , "NA-Translation" : "dvs_translation" ,
2026-10-08 13:12:45 -04:00
"STUDIO-A-Ingest" : "dvs_ingest" ,
2026-10-08 13:31:51 -04:00
"*" : "dante-auto" },
2026-10-08 11:34:44 -04:00
"devices" : {
2026-10-08 09:00:56 -04:00
"FOH-DiGiCo-DMI-1" : "DMI-1" , "FOH-DiGiCo-DMI-2" : "DMI-2" , "BOH-WING" : "WING" , "BOH-DQ-Rack" : "DQ RACK" ,
"BOH-AD4Q-A" : "AD4Q-A" , "BOH-AD4Q-B" : "AD4Q-B" , "STUDIO-A-X32" : "STA X32" ,
2026-10-08 09:10:22 -04:00
"STUDIO-A-Resi-AJA-SDI" : "RESI AJA" , "STUDIO-A-Ingest" : "INGEST" , "NA-Translation" : "TRANSL" ,
"STUDIO-B-RedNet-TNX" : "STB TNX" , "STUDIO-B-TB" : "STB TB" , "STUDIO-B-TB-MON" : "STB TB MON" ,
2026-10-08 09:22:38 -04:00
"STUDIO-B-MON" : "STB MON" , "STUDIO-B-SOLO-MON" : "STB SOLO" , "STUDIO-B-Tascam" : "STB TASCAM" ,
"NA-Tracks" : "TRACKS" , "FOH-SuperRack-LiveBox" : "SUPERRACK" , "NA-ProPresenter-Mac" : "PROP MAC" } }
2026-10-08 09:00:56 -04:00
] },
2026-10-08 09:22:38 -04:00
{ "id" : "midi" , "label" : "MIDI" , "pos" : [ 2 , 3 ], "checks" : [
2026-10-08 15:54:53 -04:00
{ "type" : "midi_peer" , "session" : "NA Ingest" , "peer" : "Lighting PC" , "tag" : "LIGHT PC" , "fix" : "midi_reconnect" , "address" : "10.1.10.206:5004" },
{ "type" : "midi_peer" , "session" : "NA Ingest" , "peer" : "SuperRack-LiveBox" , "tag" : "SUPERRACK" , "fix" : "midi_reconnect" , "address" : "10.1.13.140:5004" },
{ "type" : "midi_peer" , "host" : "tracks" , "session" : "NA Tracks" , "peer" : "Lighting PC" , "tag" : "FX LIGHTS" , "fix" : "midi_reconnect" , "address" : "10.1.10.206:5004" },
2026-10-08 16:02:02 -04:00
{ "type" : "midi_peer" , "host" : "tracks" , "session" : "NA Tracks" , "peer" : "SuperRack-LiveBox" , "tag" : "TRK LIVEBOX" , "fix" : "midi_reconnect" , "address" : "10.1.13.140:5004" },
{ "type" : "midi_peer" , "host" : "tracks" , "session" : "NA Tracks" , "peer" : "Studio B Mac Studio" , "tag" : "TRK STUDIO B" , "fix" : "midi_reconnect" , "address" : "\tStudio B Mac Studio\tlocal." },
{ "type" : "midi_peer" , "host" : "prop" , "session" : "NA ProP" , "peer" : "Lighting PC" , "tag" : "PROP LIGHTS" , "fix" : "midi_reconnect" , "address" : "10.1.10.206:5004" },
2026-10-08 17:36:05 -04:00
{ "type" : "conn" , "conn" : "lighting-midi" , "tag" : "COMPANION MIDI" },
2026-10-08 16:16:31 -04:00
{ "type" : "mdns" , "instance" : "Lighting PC" , "name" : "LIGHT PC MIDI" , "fix" : "rtpmidi_start" },
2026-10-08 09:22:38 -04:00
{ "type" : "mdns" , "instance" : "NA Tracks" , "name" : "TRACKS MIDI" },
{ "type" : "midi_rx" , "source" : "Network NA Ingest Listen" , "name" : "TRACKS IN" }
2026-10-08 09:00:56 -04:00
] },
2026-10-13 10:11:13 -04:00
{ "id" : "spotify" , "label" : "SPOTIFY" , "pos" : [ 2 , 7 ], "hold_always" : "spotify_play" , "checks" : [
2026-10-13 16:00:41 -04:00
{ "type" : "spotify" , "fix" : "spotify_play" }
2026-10-13 10:05:09 -04:00
] },
2026-10-08 16:21:19 -04:00
{ "id" : "vista" , "label" : "VISTA" , "pos" : [ 2 , 5 ], "checks" : [
{ "type" : "artnet" , "source" : "10.1.10.206" , "max_silence_seconds" : 5 , "fix" : "vista" }
] },
2026-10-08 09:22:38 -04:00
{ "id" : "apps" , "label" : "APPS" , "pos" : [ 2 , 4 ], "checks" : [
2026-10-08 16:46:25 -04:00
{ "type" : "conn" , "conn" : "Propresenter-API" , "tag" : "PROPRES" , "fix" : "propresenter" , "ignore_warning" : true },
2026-10-08 11:34:44 -04:00
{ "type" : "remote" , "host" : "prop" , "cmd" : "pgrep -xq ProPresenter" , "msg" : "PROPRES NOT RUNNING" , "fix" : "propresenter" },
2026-10-08 09:22:38 -04:00
{ "type" : "conn" , "conn" : "ableton" , "tag" : "ABLETON" },
2026-10-08 11:34:44 -04:00
{ "type" : "remote" , "host" : "tracks" , "cmd" : "pgrep -xq Live" , "msg" : "ABLETON NOT RUNNING" , "fix" : "ableton" },
{ "type" : "remote" , "host" : "translation" , "cmd" : "pgrep -xq 'Church Translate'" , "msg" : "TRANSLATE NOT RUNNING" , "fix" : "translate" },
2026-10-08 09:22:38 -04:00
{ "type" : "ping" , "host" : "10.1.3.227" , "name" : "TRACKS MAC" },
2026-10-08 17:36:05 -04:00
{ "type" : "http" , "url" : "http://10.1.14.225:1025/" , "msg" : "PROP TV DOWN" , "interval_seconds" : 5 , "fix" : "propresenter" },
2026-10-08 14:52:19 -04:00
{ "type" : "http" , "url" : "http://10.6.7.13:8080/" , "msg" : "BIBLE APP DOWN" , "interval_seconds" : 5 , "fix" : "bibleapp" },
2026-10-11 09:26:26 -04:00
{ "type" : "conn" , "conn" : "BibleTV" , "tag" : "BIBLE OSC" },
{ "type" : "remote" , "host" : "studiob" , "cmd" : "! grep -q '\"bad\":true' \"$HOME/Library/Application Support/status-panel/solo-mode.json\"" , "msg" : "PT SOLO NOT AFL" , "fix" : "solo_afl" },
{ "type" : "remote" , "host" : "studiob" , "cmd" : "f=\"$HOME/Library/Application Support/status-panel/solo-mode.json\"; [ $(( $(date +%s) - $(stat -f %m \"$f\") )) -lt 20 ] && grep -q '\"trusted\":true' \"$f\"" , "msg" : "PT SOLO CHECK OFF" }
2026-10-08 09:00:56 -04:00
] },
{ "id" : "service" , "label" : "ALARMS" , "pos" : [ 3 , 0 ], "kind" : "service" },
2026-10-11 09:52:33 -04:00
{ "id" : "atem" , "label" : "ATEM" , "pos" : [ 3 , 1 ], "checks" : [
{ "type" : "conn" , "conn" : "ATEM" },
2026-10-11 10:54:59 -04:00
{ "type" : "atem" , "part" : "audio" , "msg" : "ATEM AUDIO WRONG" , "fix" : "atem_audio" },
{ "type" : "atem" , "part" : "camera" , "msg" : "ATEM CAMERA WRONG" , "fix" : "atem_camera" },
{ "type" : "pref" , "domain" : "com.blackmagic-design.ATEM Software Control" , "key" : "midiEnabled" , "want" : "0" , "msg" : "ATEM SW MIDI ON" , "fix" : "atem_midi" }
2026-10-11 09:52:33 -04:00
] },
2026-10-08 15:29:54 -04:00
{ "id" : "obs" , "label" : "OBS" , "pos" : [ 3 , 2 ], "checks" : [{ "type" : "conn" , "conn" : "OBS-Youtube" , "service_only" : true , "fix" : "obs" }] },
2026-10-08 09:00:56 -04:00
{ "id" : "resi" , "label" : "RESI" , "pos" : [ 3 , 3 ], "checks" : [
2026-10-08 10:27:29 -04:00
{ "type" : "conn" , "conn" : "RESI_Decoder" , "tag" : "DECODER" },
{ "type" : "ping" , "host" : "10.1.10.203" , "name" : "DECODER" },
2026-10-08 18:08:29 -04:00
{ "type" : "ping" , "host" : "10.1.10.202" , "name" : "ENCODER" },
{ "type" : "http" , "url" : "http://10.1.10.202/" , "msg" : "ENCODER WEB DOWN" , "interval_seconds" : 10 },
2026-10-08 09:00:56 -04:00
{ "type" : "conn" , "conn" : "resi-studio-cues" },
{ "type" : "http" , "url" : "https://central.resi.io/" , "name" : "CLOUD" }
] },
{ "id" : "net" , "label" : "NET" , "pos" : [ 3 , 4 ], "kind" : "network" },
{ "id" : "ingest" , "label" : "INGEST" , "pos" : [ 3 , 5 ], "checks" : [
2026-10-08 11:34:44 -04:00
{ "type" : "launchd" , "label" : "org.waterschurch.resi-propresenter" , "name" : "BRIDGE" , "fix" : "bridge" },
{ "type" : "launchd" , "label" : "org.waterschurch.lobby-captions" , "name" : "CAPTIONS" , "fix" : "captions" },
2026-10-08 18:08:29 -04:00
{ "type" : "launchd" , "label" : "org.waterschurch.lobby-captions-display" , "name" : "CAPTION SCREEN" , "fix" : "caption_screen" },
{ "type" : "http" , "url" : "http://127.0.0.1:24480/api/v1/ping" , "msg" : "PRODCOM DOWN" , "interval_seconds" : 5 , "fix" : "prodcom" },
2026-10-08 11:34:44 -04:00
{ "type" : "process" , "match" : "/Applications/ProdDash.app/Contents/MacOS/ProdDash" , "name" : "PRODDASH" , "fix" : "proddash" },
2026-10-08 18:08:29 -04:00
{ "type" : "http" , "url" : "http://127.0.0.1:24500/" , "msg" : "PRODDASH DOWN" , "interval_seconds" : 10 , "fix" : "proddash" },
2026-10-08 09:00:56 -04:00
{ "type" : "disk" , "path" : "/" , "warn_gb" : 25 , "err_gb" : 8 }
] },
2026-10-08 10:27:29 -04:00
{ "id" : "led" , "label" : "LED" , "pos" : [ 3 , 6 ], "checks" : [
{ "type" : "conn" , "conn" : "VX1000" , "tag" : "VX1000" },
{ "type" : "conn" , "conn" : "UHDJr" , "tag" : "UHDJR" },
{ "type" : "ping" , "host" : "10.1.14.116" , "name" : "VX1000" },
{ "type" : "ping" , "host" : "10.1.14.115" , "name" : "UHDJR" }
] },
2026-10-08 15:29:54 -04:00
{ "id" : "arena" , "label" : "ARENA" , "pos" : [ 3 , 7 ], "checks" : [{ "type" : "conn" , "conn" : "arena" , "fix" : "arena" }] },
2026-10-08 09:00:56 -04:00
2026-10-08 16:44:08 -04:00
{ "id" : "axient1" , "label" : "AXIENT 1" , "checks" : [{ "type" : "shure" , "conn" : "Axient_1" , "channels" : 4 },
{ "type" : "ping" , "conn" : "Axient_1" , "host" : "10.1.1.101" , "name" : "AXIENT 1" }] },
{ "id" : "axient2" , "label" : "AXIENT 2" , "checks" : [{ "type" : "shure" , "conn" : "Axient_2" , "channels" : 4 },
{ "type" : "ping" , "conn" : "Axient_2" , "host" : "10.1.1.102" , "name" : "AXIENT 2" }] },
{ "id" : "ulxd" , "label" : "ULXD" , "checks" : [{ "type" : "shure" , "conn" : "ULXD-4" , "channels" : 1 },
{ "type" : "ping" , "conn" : "ULXD-4" , "host" : "10.1.1.106" , "name" : "ULXD" }] },
{ "id" : "psm1" , "label" : "PSM 1" , "checks" : [{ "type" : "psm" , "conn" : "PSM_1" , "channels" : 2 },
{ "type" : "ping" , "conn" : "PSM_1" , "host" : "10.1.1.103" , "name" : "PSM 1" }] },
{ "id" : "psm2" , "label" : "PSM 2" , "checks" : [{ "type" : "psm" , "conn" : "PSM_2" , "channels" : 2 },
{ "type" : "ping" , "conn" : "PSM_2" , "host" : "10.1.1.104" , "name" : "PSM 2" }] },
{ "id" : "psm3" , "label" : "PSM 3" , "checks" : [{ "type" : "psm" , "conn" : "PSM_3" , "channels" : 2 },
{ "type" : "ping" , "conn" : "PSM_3" , "host" : "10.1.1.105" , "name" : "PSM 3" }] }
2026-10-08 09:00:56 -04:00
]
}