A simple module, command line utility and tcp server to headlessly control a GreenScreen installation and a set of Chromecasts. Controls the assignment of GreenScreen channels to Chromecasts using the GreenScreen API, and then can start/stop casting to a particular Chromecast.
Requires a working GreenScreen installation.
AppID
In these instructions, $APPID is the value of your “Application ID” from the Google Cast Developer Console. This will have been setup as part of the GreenScreen installation.
Using the command line utility
Set the CCTV channel on the Kitchen Chromecast:
$ greenscreen_control -c CCTV set-channel Kitchen
Start casting a given AppID on a Chromecast:
$ greenscreen_control -a $APPID cast Kitchen
Stop casting on the Kitchen Chromecast:
$ greenscreen_control stop-cast Kitchen
Available arguments:
usage: greenscreen_control_cli.py [-h] [-g GREENSCREEN_SERVER] [-a APPID]
[-c CHANNEL] [-l {ERROR,WARNING,INFO,DEBUG}]
[-r TRIES] [-t TIMEOUT] [-w RETRY_WAIT]
{set-channel,cast,stop-cast} chromecast
positional arguments:
{set-channel,cast,stop-cast}
Command
chromecast Chromecast name
optional arguments:
-h, --help show this help message and exit
-g GREENSCREEN_SERVER, --greenscreen_server GREENSCREEN_SERVER
GreenScreen server:port
-a APPID, --appid APPID
Chromecast Greenscreen App ID
-c CHANNEL, --channel CHANNEL
GreenScreen channel to set
-l {ERROR,WARNING,INFO,DEBUG}, --loglevel {ERROR,WARNING,INFO,DEBUG}
Logging level
-r TRIES, --tries TRIES
Chromecast connection tries. Default is infinite.
-t TIMEOUT, --timeout TIMEOUT
Chromecast socket timeout seconds. Default is 30.
-w RETRY_WAIT, --retry_wait RETRY_WAIT
Seconds to wait between Chromecast retries. Default is
5.
Starting the server
Start a simple TCP server (default port 4995) to control greenscreen and Chromecast casting.
$ greenscreen_control_server -l INFO -a $APPID
Available arguments:
usage: greenscreen_control_server.py [-h] [-g GREENSCREEN_SERVER] [-a APPID]
[-c CHANNEL]
[-l {ERROR,WARNING,INFO,DEBUG}]
[-r TRIES] [-t TIMEOUT] [-w RETRY_WAIT]
[-p PORT]
optional arguments:
-h, --help show this help message and exit
-g GREENSCREEN_SERVER, --greenscreen_server GREENSCREEN_SERVER
GreenScreen server:port
-a APPID, --appid APPID
Chromecast Greenscreen App ID
-c CHANNEL, --channel CHANNEL
GreenScreen channel to set
-l {ERROR,WARNING,INFO,DEBUG}, --loglevel {ERROR,WARNING,INFO,DEBUG}
Logging level
-r TRIES, --tries TRIES
Chromecast connection tries. Default is infinite.
-t TIMEOUT, --timeout TIMEOUT
Chromecast socket timeout seconds. Default is 30.
-w RETRY_WAIT, --retry_wait RETRY_WAIT
Seconds to wait between Chromecast retries. Default is
5.
-p PORT, --port PORT TCP server port number
Server Protocol
The TCP server uses a simple line-based protocol, easily controlled from scripts, cron or home automation.
Assign the “CCTV” channel to the “Kitchen” chromecast, and start casting it:
chromecast=Kitchen,channel=CCTV,cast=1
Assign the “CCTV” channel to the “Kitchen” chromecast, don’t cast it (either prepares for future casting, or assumes already casted):
chromecast=Kitchen,channel=CCTV
Cast the currently assigned channel (whatever that is):
chromecast=Kitchen,cast=1
Stop casting:
chromecast=Kitchen,cast=0
Starting the server by default
Use the included greenscreen_control.service to start the server as a systemd unit.
Release files for greenscreen-control 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| greenscreen_control-0.0.2.tar.gz | 10.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| greenscreen_control-0.0.2-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size:20.7 kB
Release files / greenscreen_control-0.0.2.tar.gz
| Download URL | greenscreen_control-0.0.2.tar.gz |
|---|---|
| Size | 10.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
342e0e6cd76ceaa149d7599653591fd4d95c9efeef78cda92f801ee1a0c6e897
|
|
BLAKE2b-256 checksum How to use checksums |
aec14dba71537b8f4c08229ccb535f139646c341f9f06624e3bee85bfcf3f30c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / greenscreen_control-0.0.2-py2.py3-none-any.whl
| Download URL | greenscreen_control-0.0.2-py2.py3-none-any.whl |
|---|---|
| Size | 10.6 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
7b3ab016975ffd7f0b6abf40b38df9beaac230fcf6f1ad7ec04512e7ccfb097f
|
|
BLAKE2b-256 checksum How to use checksums |
4ce728902d71994c0927f79d1fc10f1507dc13e464337a77e75a1ebe4797905f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |