{"id":17351663,"url":"https://github.com/ferferga/mmm-googlecast","last_synced_at":"2025-04-14T20:51:48.901Z","repository":{"id":107896805,"uuid":"187795425","full_name":"ferferga/MMM-GoogleCast","owner":"ferferga","description":"📺 See what's playing in your Google Cast device inside your MagicMirror. ","archived":false,"fork":false,"pushed_at":"2024-02-07T21:59:30.000Z","size":1001,"stargazers_count":25,"open_issues_count":12,"forks_count":7,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-28T09:04:23.341Z","etag":null,"topics":["chromecast","magicmirror"],"latest_commit_sha":null,"homepage":"https://ferferga.github.io/MMM-GoogleCast/mockup/mockup.html","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ferferga.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":"2019-05-21T08:32:07.000Z","updated_at":"2025-01-31T13:15:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"2009c255-02f5-4899-8cd8-f00e6e90dfc9","html_url":"https://github.com/ferferga/MMM-GoogleCast","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ferferga%2FMMM-GoogleCast","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ferferga%2FMMM-GoogleCast/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ferferga%2FMMM-GoogleCast/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ferferga%2FMMM-GoogleCast/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ferferga","download_url":"https://codeload.github.com/ferferga/MMM-GoogleCast/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248960955,"owners_count":21189990,"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":["chromecast","magicmirror"],"created_at":"2024-10-15T17:10:43.835Z","updated_at":"2025-04-14T20:51:48.859Z","avatar_url":"https://github.com/ferferga.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MMM-GoogleCast\n### See what's playing in your Google Cast device (Chromecast, Chromecast Audio, Android TV, JBL Speakers...) inside your mirror. Compatible with, virtually, any app.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/ferferga/MMM-GoogleCast/raw/master/screenshots/intro.jpg\"\u003e\n\u003c/p\u003e\n\n## Description\nThis module for [MagicMirror](https://github.com/MichMich/MagicMirror) displays the status of\na Google Cast device (volume, which app is connected, whether the media is buffering, playing or in pause...) and information about the media that is being casted to the device (album cover, title, album name, artists, album artist...). Although this module was mainly aimed at music media, it can also work\nwith video content (from platforms like Netflix), but the information displayed might not be as complete.\n\n#### Some technical stuff\nAs said above, the information displayed for video content might not be as complete as with music, as all the information displayed depends on how many information about the media is given by the app, so it's more an app's developer problem than mine =D. The module just receive the media events from the Google Cast device without having specific apps in consideration (that's why this module is universal and works with \"virtually\" any app).\nYou can make and propose Pull Requests to improve video content compatibility. Any contribution is always welcome!\n\nThis module works by using a Python script and the module [pyChromecast](https://github.com/balloob/pychromecast) as a backend, as well as python-shell to communicate between the mirror and the Python script.\n\n## Mockup\n\nYou can see a mockup of the module [in this page](https://ferferga.github.io/MMM-GoogleCast/mockup/mockup.html).\n\n## Installation\n\n**Step 1**: One-line installation through terminal:\n\n``\nsudo apt install python3 python3-pip -y \u0026\u0026 sudo apt clean \u0026\u0026 cd ~/MagicMirror/modules \u0026\u0026 git clone https://github.com/ferferga/MMM-GoogleCast.git \u0026\u0026 cd MMM-GoogleCast \u0026\u0026 sudo pip3 install pychromecast \u0026\u0026 npm install \u0026\u0026 echo \"Installation succesfull\"\n``\n\n**Step 2**: If you see the message \"Installation successfull\", the first step is done! Now run:\n\n``python3 GetChromecasts.py``\n\nThis will scan all your Google Cast devices in your network, so make sure the device you want to link to your mirror is up and running. A list similar to this one will be displayed:\n\n```\nDEVICE 0\n=========================\nName: Living Room speaker\nType: audio\nID: xxxxxx-xxxxxxx-xxxxxxxx-xxxxxx\n=========================\nDEVICE 1\nName: Bedroom TV\nType: video\nID: yyyyyy-yyyy-yyyyyyyy-yyyyyy\n=========================\nDEVICE 2\nName: All Speakers\nType: group\nID: zzzzzz-zzzzz-zzzzzzz-zzzzzz\n=========================\n```\n\nAs you can see, you can also link audio groups apart from individual video and speakers devices. Note the ID of the device you want to link to your mirror. If no devices are detected, go to \"Issues\" section below\n\n**Step 3**: Add the module section to your ``config.js`` file, replacing the ``device`` property with the ID of the device you want to link to your mirror:\n```\n\t\t{\n\t\t\tmodule: 'MMM-GoogleCast',\n\t\t\tposition: \"top_left\",\n\t\t\tclasses: \"default everyone\",\n\t\t\theader: \"Google Cast\",\n\t\t\tconfig: {\n\t\t\t\tdevice: \"PASTE HERE THE ID OF THE DEVICE YOU NOTED BEFORE\",\n\t\t\t}\n\t\t},\n```\nAvailable options in ``config.js`` for advanced users:\n\n| **Option**         | **Default** | **Description**                                                                            |\n|--------------------|-------------|--------------------------------------------------------------------------------------------|\n| ``device``         | ``null``    | Specifies the device to link in your mirror                                                |\n| ``hide``           | ``false``   | Setting this to true will hide the module if no app is connected to the Google Cast device |\n| ``animationSpeed`` | ``3000``    | Sets the speed of the animations while hiding/showing the module                           |\n| ``showDeviceStatus`` | ``true``    | Shows or hides the device status (If media is playing, paused, buffering...)             |\n| ``showAlbumArtist`` | ``true``    | Shows or hides the information about the album artist                                     |\n\nYou can also run multiple instances of the module, one for every device do you want to track. Copy multiple times the snippet above\nin your ``config.js`` (one for the device) and change the ID of the device in each instance.\n\nAnd everything is done! You should now see the media that's being played in your mirror\n\n## Issues\n\n- **Volume Bar doesn't works well/it's ugly**\n\nRefer to [this issue](https://github.com/ferferga/MMM-GoogleCast/issues/1).\n\n- **The device is not detected in my network although the ID is correct**\n\n*1.*: Please, really make sure that you have put the appropiated ID in the ``config.js``, without spaces at the end and anything else strange, just as it's displayed in **Step 2**. The best you can do is to copy/paste it, as it's easy to confuse a letter or an *O* between a *0* inside a bunch of random characters.\n\n*2.*: The module is prepared for handling random disconnections from the device. Try rebooting it, it should connect after a while itself. If that doesn't help, reboot the mirror and your Chromecast device.\n\n*3.*: Refer to this [Google Help article](https://support.google.com/chromecast/answer/9206302?hl=en\u0026ref_topic=3447927) for more basic troubleshooting steps.\n\n*4.*: If none of the above worked, I'm happy to help. But, please, open an issue making sure you include the following:\n- Your ``config.js`` section of ``MMM-GoogleCast``.\n- The output of the script you ran in **Step 2** during installation (``GetChromecasts.py``)`\n- Run MagicMirror through npm if you are using pm2 to start MagicMirror at boot time. ``pm2 stop MagicMirror \u0026\u0026 cd ~/MagicMirror``. After that, run ``npm start``. Paste all the messages starting with ```MMM-GoogleCast`` in your issue, please.\n\n## Credits\n\nThis module wouldn't be possible without the amazing work of MichMich in MagicMirror and balloob, the developer of the pyChromecast library for Python. Also, huge kudos to python-shell developers, which allowed me to exchange data between the Python script and node.\nMention to paviro as well, as I used his module as a \"template\" to know the basics of python-shell. It would have been so much difficult to use MagicMirror alongside Python script without his help.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fferferga%2Fmmm-googlecast","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fferferga%2Fmmm-googlecast","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fferferga%2Fmmm-googlecast/lists"}