It flickers to "warning" every 15-20 minutes and made APPS blink for nothing. "ignore_warning" on a conn check keeps offline, error and disabled as alarms. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
164 lines
14 KiB
JSON
164 lines
14 KiB
JSON
{
|
|
"companion": { "host": "127.0.0.1", "port": 8000 },
|
|
"page": 19,
|
|
"page_name": "19\\nStatus",
|
|
"nav_keys": ["pagenum"],
|
|
"nav_hold_ms": 1000,
|
|
"nav_tap_page": 1,
|
|
"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,
|
|
"remember_seconds": 180
|
|
},
|
|
|
|
"alert_webhook": "",
|
|
|
|
"ssh_key": "~/.ssh/id_status_panel",
|
|
|
|
"dante_switches": ["10.66.1.100", "10.66.1.102"],
|
|
"hosts": {
|
|
"prop": { "ssh": "napropresenter@10.1.14.225" },
|
|
"tracks": { "ssh": "waterschurchmedia@10.1.3.227" },
|
|
"translation": { "ssh": "studio@10.1.7.39" },
|
|
"bibletv": { "ssh": "media@10.6.7.13" },
|
|
"lighting": { "ssh": "media@10.1.10.206" },
|
|
"livestream": { "ssh": "media@10.1.9.126", "mac": "6c:24:08:d7:fb:57", "wake_broadcast": "10.1.255.255" }
|
|
},
|
|
|
|
"fixes": {
|
|
"propresenter": { "host": "prop", "short": "PROPRES", "label": "restart ProPresenter (newest installed)",
|
|
"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\"" },
|
|
"ableton": { "host": "tracks", "short": "ABLETON", "label": "start Ableton if it is not running",
|
|
"run": "pgrep -xq Live || open -a 'Ableton Live 11 Suite'" },
|
|
"translate": { "host": "translation", "short": "TRANSLATE", "label": "start Church Translate if it is not running",
|
|
"run": "pgrep -xq 'Church Translate' || open -a 'Church Translate'" },
|
|
"dvs_prop": { "host": "prop", "short": "DVS", "label": "start Dante Virtual Soundcard on the ProPresenter Mac", "run": "sudo -n /usr/local/sbin/status-panel-dvs-start && open -a 'Dante Virtual Soundcard'" },
|
|
"dvs_tracks": { "host": "tracks", "short": "DVS", "label": "start Dante Virtual Soundcard on the Tracks Mac", "run": "sudo -n /usr/local/sbin/status-panel-dvs-start && open -a 'Dante Virtual Soundcard'" },
|
|
"dvs_translation": { "host": "translation", "short": "DVS", "label": "start Dante Virtual Soundcard on NA Translation", "run": "sudo -n /usr/local/sbin/status-panel-dvs-start && open -a 'Dante Virtual Soundcard'" },
|
|
"dvs_ingest": { "kind": "local", "short": "DVS", "label": "start Dante Virtual Soundcard on NA Ingest", "run": "sudo -n /usr/local/sbin/status-panel-dvs-start && open -a 'Dante Virtual Soundcard'" },
|
|
"bridge": { "kind": "local", "short": "BRIDGE", "label": "restart the Resi bridge",
|
|
"run": "launchctl kickstart -k gui/$(id -u)/org.waterschurch.resi-propresenter || launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/org.waterschurch.resi-propresenter.plist" },
|
|
"captions": { "kind": "local", "short": "CAPTIONS", "label": "restart lobby captions",
|
|
"run": "launchctl kickstart -k gui/$(id -u)/org.waterschurch.lobby-captions || launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/org.waterschurch.lobby-captions.plist" },
|
|
"bibleapp": { "host": "bibletv", "short": "BIBLE APP", "label": "restart the Bible app on the Sanctuary TV PC (Windows: cmd.exe)",
|
|
"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\"" },
|
|
"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,
|
|
"run": "tasklist /NH /FI \"IMAGENAME eq obs64.exe\" | find /I \"obs64.exe\" >nul || schtasks /Run /TN \"\\StatusPanel\\Start OBS\"" },
|
|
"arena": { "host": "lighting", "short": "ARENA", "label": "start Resolume Arena on the Lighting PC if it is not running, then reconnect Companion", "reconnect": true,
|
|
"run": "tasklist /NH /FI \"IMAGENAME eq Arena.exe\" | find /I \"Arena.exe\" >nul || schtasks /Run /TN \"\\StatusPanel\\Start Arena\"" },
|
|
"vista": { "host": "lighting", "short": "VISTA", "label": "start Vista on the Lighting PC if it is not running (a running Vista is never closed)",
|
|
"run": "tasklist /NH /FI \"IMAGENAME eq Vista.exe\" | find /I \"Vista.exe\" >nul || schtasks /Run /TN \"\\StatusPanel\\Start Vista\"" },
|
|
"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\")" },
|
|
"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\"" },
|
|
"proddash": { "kind": "local", "short": "PRODDASH", "label": "start ProdDash", "run": "open /Applications/ProdDash.app" },
|
|
"hyperdeck": { "kind": "hyperdeck", "short": "HYPERDECK", "label": "reconnect Companion to the HyperDeck, or reboot the deck only if it is hung" }
|
|
},
|
|
|
|
"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"] },
|
|
{ "id": "audio", "label": "AUDIO", "pos": [0, 3], "members": ["x32", "dante"] },
|
|
{ "id": "rf", "label": "RF", "pos": [0, 4], "members": ["axient1", "axient2", "ulxd", "psm1", "psm2", "psm3"] },
|
|
{ "id": "show", "label": "SHOW", "pos": [0, 5], "members": ["midi", "apps", "vista"] },
|
|
{ "id": "video", "label": "VIDEO", "pos": [0, 6], "members": ["atem", "led", "arena"] },
|
|
{ "id": "stream", "label": "STREAM", "pos": [0, 7], "members": ["obs", "resi"] },
|
|
|
|
{ "id": "hd1", "label": "HD1", "pos": [1, 1], "checks": [{ "type": "hyperdeck", "conn": "HyperDeck_1", "fix": { "conn": "hyperdeck" } }] },
|
|
{ "id": "hd2", "label": "HD2", "pos": [1, 2], "checks": [{ "type": "hyperdeck", "conn": "HyperDeck_2", "optional": true, "fix": { "conn": "hyperdeck" } }] },
|
|
{ "id": "hd3", "label": "HD3", "pos": [1, 3], "checks": [{ "type": "hyperdeck", "conn": "HyperDeck_3", "fix": { "conn": "hyperdeck" } }] },
|
|
{ "id": "hd4", "label": "HD4", "pos": [1, 4], "checks": [{ "type": "hyperdeck", "conn": "HyperDeck_4", "optional": true, "fix": { "conn": "hyperdeck" } }] },
|
|
{ "id": "hd5", "label": "HD5", "pos": [1, 5], "checks": [{ "type": "hyperdeck", "conn": "HyperDeck_5", "fix": { "conn": "hyperdeck" } }] },
|
|
{ "id": "hd6", "label": "HD6", "pos": [1, 6], "checks": [{ "type": "hyperdeck", "conn": "HyperDeck_6", "fix": { "conn": "hyperdeck" } }] },
|
|
{ "id": "tascam", "label": "TASCAM", "pos": [1, 7], "checks": [{ "type": "tascam", "conn": "tascam" }] },
|
|
|
|
{ "id": "x32", "label": "X32", "pos": [2, 1], "checks": [{ "type": "conn", "conn": "x32" }] },
|
|
{ "id": "dante", "label": "DANTE", "pos": [2, 2], "checks": [
|
|
{ "type": "dante", "conn": "audinate-dantecontroller",
|
|
"fix": { "NA-ProPresenter-Mac": "dvs_prop", "NA-Tracks": "dvs_tracks", "NA-Translation": "dvs_translation",
|
|
"STUDIO-A-Ingest": "dvs_ingest",
|
|
"*": "dante-auto" },
|
|
"devices": {
|
|
"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",
|
|
"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",
|
|
"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" } }
|
|
] },
|
|
{ "id": "midi", "label": "MIDI", "pos": [2, 3], "checks": [
|
|
{ "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" },
|
|
{ "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" },
|
|
{ "type": "mdns", "instance": "Lighting PC", "name": "LIGHT PC MIDI", "fix": "rtpmidi_start" },
|
|
{ "type": "mdns", "instance": "NA Tracks", "name": "TRACKS MIDI" },
|
|
{ "type": "midi_rx", "source": "Network NA Ingest Listen", "name": "TRACKS IN" }
|
|
] },
|
|
{ "id": "vista", "label": "VISTA", "pos": [2, 5], "checks": [
|
|
{ "type": "artnet", "source": "10.1.10.206", "max_silence_seconds": 5, "fix": "vista" }
|
|
] },
|
|
{ "id": "apps", "label": "APPS", "pos": [2, 4], "checks": [
|
|
{ "type": "conn", "conn": "Propresenter-API", "tag": "PROPRES", "fix": "propresenter", "ignore_warning": true },
|
|
{ "type": "remote", "host": "prop", "cmd": "pgrep -xq ProPresenter", "msg": "PROPRES NOT RUNNING", "fix": "propresenter" },
|
|
{ "type": "conn", "conn": "ableton", "tag": "ABLETON" },
|
|
{ "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" },
|
|
{ "type": "ping", "host": "10.1.3.227", "name": "TRACKS MAC" },
|
|
{ "type": "http", "url": "http://10.6.7.13:8080/", "msg": "BIBLE APP DOWN", "interval_seconds": 5, "fix": "bibleapp" },
|
|
{ "type": "conn", "conn": "BibleTV", "tag": "BIBLE OSC" }
|
|
] },
|
|
|
|
{ "id": "service", "label": "ALARMS", "pos": [3, 0], "kind": "service" },
|
|
{ "id": "atem", "label": "ATEM", "pos": [3, 1], "checks": [{ "type": "conn", "conn": "ATEM" }] },
|
|
{ "id": "obs", "label": "OBS", "pos": [3, 2], "checks": [{ "type": "conn", "conn": "OBS-Youtube", "service_only": true, "fix": "obs" }] },
|
|
{ "id": "resi", "label": "RESI", "pos": [3, 3], "checks": [
|
|
{ "type": "conn", "conn": "RESI_Decoder", "tag": "DECODER" },
|
|
{ "type": "ping", "host": "10.1.10.203", "name": "DECODER" },
|
|
{ "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": [
|
|
{ "type": "launchd", "label": "org.waterschurch.resi-propresenter", "name": "BRIDGE", "fix": "bridge" },
|
|
{ "type": "launchd", "label": "org.waterschurch.lobby-captions", "name": "CAPTIONS", "fix": "captions" },
|
|
{ "type": "process", "match": "/Applications/ProdDash.app/Contents/MacOS/ProdDash", "name": "PRODDASH", "fix": "proddash" },
|
|
{ "type": "disk", "path": "/", "warn_gb": 25, "err_gb": 8 }
|
|
] },
|
|
{ "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" }
|
|
] },
|
|
{ "id": "arena", "label": "ARENA", "pos": [3, 7], "checks": [{ "type": "conn", "conn": "arena", "fix": "arena" }] },
|
|
|
|
{ "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" }] }
|
|
]
|
|
}
|