{"id":23359821,"url":"https://github.com/firehed/homebridge-plugin-ghsw8181","last_synced_at":"2025-08-08T20:28:36.011Z","repository":{"id":138435095,"uuid":"115886011","full_name":"Firehed/homebridge-plugin-ghsw8181","owner":"Firehed","description":null,"archived":false,"fork":false,"pushed_at":"2018-01-06T03:50:30.000Z","size":46,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-13T22:27:14.324Z","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/Firehed.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":"2017-12-31T21:23:54.000Z","updated_at":"2021-02-09T17:57:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"05023916-05af-4ebb-bc7c-6519bf32d390","html_url":"https://github.com/Firehed/homebridge-plugin-ghsw8181","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Firehed%2Fhomebridge-plugin-ghsw8181","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Firehed%2Fhomebridge-plugin-ghsw8181/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Firehed%2Fhomebridge-plugin-ghsw8181/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Firehed%2Fhomebridge-plugin-ghsw8181/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Firehed","download_url":"https://codeload.github.com/Firehed/homebridge-plugin-ghsw8181/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247729478,"owners_count":20986392,"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-12-21T11:12:04.339Z","updated_at":"2025-04-07T20:46:50.677Z","avatar_url":"https://github.com/Firehed.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# homebridge-plugin-ghsw8181\n\nHomekit connectivity for a network-connected GHSW8181/GHSW8141 HDMI switch.\n\nDesigned to work in combination with [ESP8266-GHSW8181](https://github.com/Firehed/ESP8266-GHSW8181), which takes the RS-232 control port and exposes it to the network with an ESP-8266.\n\n## How it works\n\nThe above Arduino code creates a tiny HTTP server to read and set the currently-selected HDMI port.\nSee its documentation for further information, including how to wire things up.\nThis uses that API to create a bunch of Switch accessories in Homekit; one for each port on the device (per the configuration; see below).\nIt will treat the currently-selected HDMI port as \"on\" and the others as \"off\"; turning a different switch on should cause the previously-selected port to turn off.\n\nThis isn't exactly ideal since you end up with four or eight devices in the Home app (instead of just one), but as of the iOS 11 SDKs, there isn't a single device type to represent a multi-state switch like this.\nHopefully iOS 12 adds better support for A/V gear.\n\n## Installation\n\nAssuming you already have Homebridge running somewhere, just install this plugin like you would with any other: `npm i -g homebridge-platform-ghsw8181`.\n\nIf you don't have Homebridge set up with at least one other device, it's probably best to not start with this one.\nWhile this plugin should work with very little work or configuration, the hardware side has a decent chance of being quite fiddly and you won't want to deal with that _in addition to_ getting Homebridge up and running.\n\n## Configuration\n\nIn your existing Homebridge configration, add an accessory with the following structure:\n\n```json\n\"platforms\": [\n    {\n        \"platform\": \"GHSW8181\",\n        \"host\": \"http://ghsw8181.local\",\n        \"ports\": 8\n    }\n]\n```\n\nMake sure that the `host` field includes the `http` protocol.\nDepending on your network setup, you may need to use a different host name, or the IP address directly.\n\n`ports` can be 4 or 8, depending on which model switch you are connecting to.\n\nOn the Homekit side, making a fake \"room\" to hold all of these switches should help reduce clutter a bit without impacting functionality.\nYou may need to use goofy Siri commands to toggle the switch directly (\"turn on HDMI 3 in Bridges\"), but it's probably best to manage them with Scenes.\n\n## Contributing\n\nSend a pull request or open an issue.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffirehed%2Fhomebridge-plugin-ghsw8181","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffirehed%2Fhomebridge-plugin-ghsw8181","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffirehed%2Fhomebridge-plugin-ghsw8181/lists"}