OBS scripts and web dashboards to control either TallyCircuitPy or TallyPi remotely via HTTP.
Rather than having the lights hit a web gateway hosted by OBS, TallyOBS reaches out directly to the tally lights and controls them over HTTP. This does not use the websocket plugin and there is no need to open up any firewall holes to your OBS production box - instead the script pushes out commands directly to your lights.
A Python OBS script is provided that maps preview/program/idle status to AV input sources. You can chose the color and brightness for the status of your input sources, and map each input source to the IP addresses or hostnames of your tally light web interface. If you want to interacet with multiple lights, a comma-separated list of addresses can be provided.
You must have installed the correct version of Python for OBS to properly load Python plugins. Details for setting up OBS, installing the interface, and configuring settings are available at OBS.md.
If you are having trouble identifying your lights by hostname, you can use either the HTML dashboard page or the scripts/find_lights.sh command-line script to search your network for available lights. Either option will provide you with an IPv4 address for each light found which can be used to setup the OBS plugin.
A web dashboard is provided in scripts/dashboard.html as a single HTML page that you can load directly in a browser - no server needed. Enter in the IPv4 network you would like to search, and the page will quickly crawl the network looking for API endpoints listening on port 7413. If it finds any tally lights, it will display the IPv4 address, current color, and brightness which can be changed directly in the dashboard.
TallyOBS can use either TallyCircuitPy or TallyPi hardware. This includes (but isn't limited to):
- Raspberry Pi Zero W (all versions)
- Raspberry Pi (all versions)
- ODT's PixelWing ESP32-S2 RGB Matrix
- Other hardware supported by CircuitPython (testing underway with Adafruit Featherwing hardware)
In general the ESP32-S2 hardware used by TallyCircuitPy, however if you have a drawer full of Raspberry Pi's TallyPi works extrodinarily well.
Both TallyCircuitPy and TallyPi share a common standard for controlling their LED arrays. An HTTP interface is provided with each that allows for color control and brightness to be specified remotely. As an example:
http://192.168.1.1:7413/set?color=AA22FF&brightness=0.3
Would set the LED array to be purple at 30% brightness. The status of the LEDs are available as:
http://192.168.1.1:7413/status