{"id":19857978,"url":"https://github.com/boldare/xsolve-tv-control","last_synced_at":"2025-05-02T02:30:44.688Z","repository":{"id":141671643,"uuid":"122340556","full_name":"boldare/xsolve-tv-control","owner":"boldare","description":null,"archived":false,"fork":false,"pushed_at":"2018-03-26T09:12:00.000Z","size":100,"stargazers_count":8,"open_issues_count":1,"forks_count":0,"subscribers_count":49,"default_branch":"master","last_synced_at":"2025-04-06T21:08:52.623Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/boldare.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-02-21T13:34:24.000Z","updated_at":"2018-03-28T09:47:58.000Z","dependencies_parsed_at":null,"dependency_job_id":"555c2eeb-fe23-4461-aa1a-ad250f662a72","html_url":"https://github.com/boldare/xsolve-tv-control","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boldare%2Fxsolve-tv-control","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boldare%2Fxsolve-tv-control/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boldare%2Fxsolve-tv-control/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boldare%2Fxsolve-tv-control/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/boldare","download_url":"https://codeload.github.com/boldare/xsolve-tv-control/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251972433,"owners_count":21673602,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T14:20:38.099Z","updated_at":"2025-05-02T02:30:44.664Z","avatar_url":"https://github.com/boldare.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# About\nXSolve TV Control is an application that allows to control multiple TVs at the same time.\n\n![alt XSolve TV Control GUI](https://raw.githubusercontent.com/xsolve-pl/xsolve-tv-control/master/gui-assets/images/gui-screen.jpg)\n\n## Features\nActions may be executed for one, few or all TVs. Currently implemented features:\n\n- Turning TVs On / Off\n- Volume control\n- Running websites\n- Running Youtube videos\n- Running applications\n- Killing applications\n- Getting screenshots (only GUI version)\n\n## Versions\nThere are two ways of using XSolve TV Control - with GUI or CLI. With GUI you can control TVs in the easy way. CLI version may be useful for automating tasks for example to run TVs on specific hour etc.\n\n## Supported TVs\nCurrently only Sony Bravia TVs with Android TV are supported. Support for most Android TV devices may be added soon.\n\n# Requirements\n\n## Node 8.X\nNode 8.X is needed to run script. In case of Ubuntu you can install it using:\n`curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -`\n`sudo apt-get install -y nodejs`\n\n## ADB\nADB is needed to execute ADB actions. In case of Ubuntu you can install it using:\n`sudo apt-get install adb`\n\n## TV\n\n### Visibility\nTV must be visible (pingable) from the PC.\n`ping some_tv_ip`\n\n### Remote control\nRemote control must be enabled on the TV and key must be set.\nGo to `Settings` -\u003e `Network` -\u003e `Home network setup` -\u003e `IP control`.\nSet `Authentication` to `Normal and Pre-Shared Key` and set `Pre-Shared Key`.\nEnable `Simple IP control` (not verified if it's needed too).\n\n### ADB debugging\nADB debugging must be enabled.\n\nOpen `Settings` -\u003e `About` and click multiple times on `Build informations` in .\nGo to `Settings` -\u003e `Developer options` and enable `ADB debugging`.\n\n# Configuration\n\n## TV list\nTVs must be configured in `tvconfig.json` file - dist config `tvconfig-dist.json` is available.\n\n## Application config\nApplications must be configured in `appconfig.json` file - dist config `appconfig-dist.json` is available.\n\n# Building / running\nJust install dependencies:\n`npm install`\n\nYou can now run CLI version using: `node tv-cli.js` or GUI version: `npx electron .`\n\n# Usage (CLI)\n\n## Help\nHelp may be displayed using `--help` option.\n`node tv-cli.js --help`\n\n## List TVs\nDisplays available TVs (set in tvconfig.json).\n`node tv-cli.js --list`\n\n## Select TV\nIt's possible to select specific TV or TVs using `--tv` option.\n\n`node tv-cli.js --tv \"tv name 1\"`\n`node tv-cli.js --tv \"tv name 1\" \"tv name 2\"`\n\nTo select all TVs `--all` option may be used.\n`node tv-cli.js --all\"`\n\n## Turn on\nYou can turn on selected TV/TVs using `--poweron` option.\n`node tv-cli.js --tv \"tv name 1\" --poweron`\n\n## Turn off\nYou can turn off selected TV/TVs using `--poweroff` option.\n`node tv-cli.js --tv \"tv name 1\" --poweroff`\n\n## Power state\nYou can check current power state (on/off) using `--state` option.\n`node tv-cli.js --tv \"tv name 1\" --state`\n\n## Run application\nYou can run specified application using --run option.\nIf application is added to `appconfig.js` application name may be used:\n`node tv-cli.js --tv \"tv name 1\" \"tv name 4\" --run opera`\n\nIt's also possible to run applicaiton using package name:\n`node tv-cli.js --tv \"tv name 1\" \"tv name 4\" --run com.opera.sdk.example`\n\n## View page\nYou can view webpage using `--viewpage` option. Full url (with `http://` or `https://` must be used). Default browser will be used.\n`node tv-cli.js --tv \"tv name 1\" \"tv name 4\" --viewpage \"https://google.com/\"`\n\n### Browser\nYou may also specify specific browser using `--browser` option:\n`node tv-cli.js --tv \"tv name 1\" \"tv name 4\" --viewpage \"https://google.com/\" --browser chrome`\n\n## Run Youtube URL\nYou can play youtube url using `--yt` command:\n`node tv-cli.js --all --yt \"https://www.youtube.com/watch?v=G1IbRujko-A\"`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboldare%2Fxsolve-tv-control","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fboldare%2Fxsolve-tv-control","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboldare%2Fxsolve-tv-control/lists"}