{"id":15286916,"url":"https://github.com/dray-cyber/googlecontroller","last_synced_at":"2025-10-15T10:02:56.151Z","repository":{"id":57435325,"uuid":"317715228","full_name":"dray-cyber/googlecontroller","owner":"dray-cyber","description":"Google Controller","archived":false,"fork":false,"pushed_at":"2021-10-29T23:10:00.000Z","size":159,"stargazers_count":17,"open_issues_count":3,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-10T09:25:03.105Z","etag":null,"topics":["audio","controller","google","home-assistant","language","module","python","python3","volume"],"latest_commit_sha":null,"homepage":"","language":"Python","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/dray-cyber.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}},"created_at":"2020-12-02T01:30:32.000Z","updated_at":"2024-01-05T08:08:43.000Z","dependencies_parsed_at":"2022-09-01T18:40:33.280Z","dependency_job_id":null,"html_url":"https://github.com/dray-cyber/googlecontroller","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/dray-cyber%2Fgooglecontroller","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dray-cyber%2Fgooglecontroller/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dray-cyber%2Fgooglecontroller/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dray-cyber%2Fgooglecontroller/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dray-cyber","download_url":"https://codeload.github.com/dray-cyber/googlecontroller/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248661706,"owners_count":21141450,"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":["audio","controller","google","home-assistant","language","module","python","python3","volume"],"created_at":"2024-09-30T15:19:05.016Z","updated_at":"2025-10-15T10:02:56.057Z","avatar_url":"https://github.com/dray-cyber.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# googlecontroller\nGITHUB EXCLUSIVE KNOWLEDGE FOR SERVE_MEDIA HERE\nLibrary for Python 3.9+ to push text message or audio file with the Google Home.Originally made by - Thomas Deblock (@tdeblock) I have expanded most of the code quite a bit little of the original remains, but the idea came from Mr.Deblock.This is a sorta v2 for the googlehomepush module they made.\n\n## Installation\n\nfinally a pypi!!!!!!!\n```\npip install googlecontroller\n```\n## Depending On\n\nPyChromeCast\nPyngrok\n\n\n## How to use\n\n``` python\nfrom googlecontroller import GoogleAssistant\nfrom googlecontroller.http_server import serve_file # for local files\nhost = \"ip\"\nhome = GoogleAssistant(host=host)\nhome.say(\"test\")\nhome.play(\"http://www.hubharp.com/web_sound/BachGavotteShort.mp3, opentunnel = 0\") # we are doing opentunnel as this is the first time doing it\nhome.play(\"http://www.hubharp.com/web_sound/BachGavotteShort.mp3) # you do this after the first opening\n\n#When serving media NEVER USE A \\ ONLY USE /\n#when doing your first home.serve_media you have to include a 3rd variable, opentunnle!For that 1 first time you have to set it manually to a 0!\n#opentunnel = 0\n#YOU MUST USE A DELAY IF DOING MULTIPLE IN A ROW FINE TUNE AS YOU SEE FIT\n#like this home.serve_media(\"YourMedia.mp3\", \"C:/Users/YOU!/Music/\", opentunnel)\n#**then never use that variable again**\nhome.serve_media(\"YourMedia.mp3\", \"C:/Users/YOU!/Music/\") # 1st is the name of the media, second is the full path to media location!\nhome.volume(100)\nhome.volume(0)\n\n```\n### .say(text, speed,ignore, lang)\n\nPush a message on Google home\n\n- `text` is the test message to say\n- `speed` is the rate of speed of the message ranges from 0.000+ as slowest to 1 as normal speed.\n- `ignore` ignore if audio is playing and play it regardless if ignore=True and only play if not playing if ignore=False or is not specified. \n- `lang` the text language, default value is 'en' to change it have lang = 'language' as described in google translate en-Us, es (spanish), ect\n\n### .play(url, ignore, contentType = 'audio/mp3'):\n\nPush a sound to Google home\n- `url` an audio file URL\n- `ignore` ignore if audio is playing and play it regardless if ignore=True and only play if not playing.If ignore is not specified it will be set to False. \n- `contentType` the audio file content type\n\n### .volume(volumelevel):\n- `volumelevel` the volume level from 0-100 (must be a integer) Example: home.volume(5) or home.volume(volumelevel=5). If you want to take it as user input you can do home.volume(volumelevel=input()).\n\n\n\n## Maintainers\n- Dray-Cyber\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdray-cyber%2Fgooglecontroller","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdray-cyber%2Fgooglecontroller","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdray-cyber%2Fgooglecontroller/lists"}