{"id":24391662,"url":"https://github.com/jumitti/hyperion-remote-control","last_synced_at":"2026-04-26T19:32:08.510Z","repository":{"id":206650941,"uuid":"717384127","full_name":"Jumitti/hyperion-remote-control","owner":"Jumitti","description":"A Telegram bot to control Hyperion Ambilight","archived":false,"fork":false,"pushed_at":"2025-09-18T15:41:40.000Z","size":389,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-26T07:56:46.338Z","etag":null,"topics":["ambilight","ambilight-low-budget","bot","hyperion","hyperion-project","python3","raspberry","raspberry-pi","telegram","telegram-bot"],"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/Jumitti.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":"2023-11-11T10:19:39.000Z","updated_at":"2025-09-18T15:41:44.000Z","dependencies_parsed_at":"2024-02-07T12:43:21.693Z","dependency_job_id":null,"html_url":"https://github.com/Jumitti/hyperion-remote-control","commit_stats":null,"previous_names":["jumitti/hyperion-remote-control"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/Jumitti/hyperion-remote-control","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jumitti%2Fhyperion-remote-control","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jumitti%2Fhyperion-remote-control/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jumitti%2Fhyperion-remote-control/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jumitti%2Fhyperion-remote-control/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jumitti","download_url":"https://codeload.github.com/Jumitti/hyperion-remote-control/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jumitti%2Fhyperion-remote-control/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32310804,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T19:15:34.056Z","status":"ssl_error","status_checked_at":"2026-04-26T19:15:15.467Z","response_time":129,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["ambilight","ambilight-low-budget","bot","hyperion","hyperion-project","python3","raspberry","raspberry-pi","telegram","telegram-bot"],"created_at":"2025-01-19T17:18:47.831Z","updated_at":"2026-04-26T19:32:08.493Z","avatar_url":"https://github.com/Jumitti.png","language":"Python","funding_links":["https://www.buymeacoffee.com/Jumitti"],"categories":[],"sub_categories":[],"readme":"# Hyperion Remote Control\n\n[![Buy me a Coffee](https://img.shields.io/badge/Buy%20me%20a%20Coffee-☕-FFDD00?style=flat-square)](https://www.buymeacoffee.com/Jumitti)\n\nA Telegram bot to control Hyperion ambilight 🎉\n\nThe Hyperion Remote Control script leverages the Hyperion project, enabling users to control and customize their ambient lighting experience. Integrated with a Telegram bot, the script allows users to command Hyperion functions.\n\n### Table\n1. [What is Hyperion](#hyperion)\n2. [Installation of Hyperion Remote Control](#install)\n3. [How to use Hyperion Remote Control](#hyperion_remote_control)\n   1. [NEWS from HRC v1.0](#news)\n   2. [List of commands](#list_command)\n4. [Can I use my own command ?](#own_command)\n5. [A Telegram Bot is secure ?](#secure)\n6. [Disclaimer](#disclaimer)\n7. [Credit](#credit)\n\n## \u003ca id=\"hyperion\"\u003e\u003c/a\u003eWhat is [Hyperion](https://github.com/hyperion-project)\nHyperion is an open-source project designed to enhance the viewing experience by synchronizing ambient LED lighting with on-screen content. It utilizes a Raspberry Pi or similar hardware to control individual LEDs placed around a TV or monitor. Hyperion analyzes the screen content in real-time, creating dynamic lighting effects that extend beyond the display.\n\n#### Key Features\n1. **Real-time Synchronization:** Dynamically adjusts LED lighting based on on-screen content.\n2. **Customization:** Offers extensive customization options for brightness, color, and effects.\n3. **Open Source:** Being an open-source project, Hyperion encourages community contributions and modifications.\n\n#### Ambilight by Philips\nAmbilight, developed by Philips, is a proprietary ambient lighting technology integrated into certain Philips TVs. It works by extending the on-screen colors to LED lights on the TV's rear, providing an immersive and dynamic viewing experience. Ambilight is tightly integrated with Philips TVs, creating a cohesive visual ambiance.\n\n#### Key Features\n1. **Integrated System:** Ambilight is a built-in feature in select Philips TVs, creating a seamless integration with the viewing experience.\n2. **Immersive Lighting:** Extends on-screen colors to the surroundings, offering an immersive and engaging atmosphere.\n3. **Brand Specific:** Limited to Philips TVs and specific models.\n\n#### Comparison\n\n- **Open Source vs. Proprietary:** Hyperion is open-source, allowing for customization and adaptation to various hardware configurations. Ambilight is proprietary and exclusive to Philips TVs.\n\n- **Hardware Requirements:** Hyperion is versatile and can be implemented on Raspberry Pi or similar hardware. Ambilight is specific to Philips TVs equipped with Ambilight technology.\n\n- **Customization:** Hyperion offers extensive customization options, while Ambilight's features are tailored to work seamlessly with Philips TVs.\n\n# \u003ca id=\"install\"\u003e\u003c/a\u003eInstallation of Hyperion Remote Control\n### Installation of Hyperion:\n- GitHub repo of Hyperion: [Hyperion](https://github.com/hyperion-project/hyperion.ng)\n- GitHub repo of HyperBian (for Rasbian OS): [HyperBian](https://github.com/hyperion-project/HyperBian/)\n- Documentation of Hyperion: [Doc](https://docs.hyperion-project.org/)\n- Forum of Hyperion: [Forum](https://hyperion-project.org/forum/)\n- [Yes it's me](https://hyperion-project.org/forum/index.php?thread/13069-contr%C3%B4le-%C3%A0-distance-sans-me-lever-du-canap%C3%A9-ou-devoir-allumer-mon-ordi-ou-me-con/)\n\nVideo tutorial (in French but I'm sure you can find information on internet):\n- https://www.youtube.com/watch?v=eIfdLJi3Gvs\n- https://www.youtube.com/watch?v=F4XjuX7yn3g\n\n### Installation of Hyperion Remote Control\n\nThere is a good chance that my script will not work depending on the hardware you used to build your Hyperion. Here are my characteristics:\n- Raspberry Pi 3\n- LED: [APA102](https://fr.aliexpress.com/item/4000340545026.html?spm=a2g0o.order_list.order_list_main.30.6aeb5e5bH8csxe\u0026gatewayAdapt=glo2fra)\n- Video acquisition: [LINK](https://fr.aliexpress.com/item/4000917130635.html?spm=a2g0o.order_list.order_list_main.35.6aeb5e5bH8csxe\u0026gatewayAdapt=glo2fra)\n  - Encoding format: YUYV\n\n*Note* :You need to create an account on [Telegram](https://web.telegram.org/k/)\n\nOn the device where you install Hyperion:\n\n1. Install [Telepot](https://github.com/nickoala/telepot):\n    ```\n    pip install telepot\n    ```\n    (For Raspberry only) Install [gpiozero](https://gpiozero.readthedocs.io/en/latest/):\n    ```\n    pip install gpiozero\n    ```\n2. Extract ```HRC v?.zip``` where you want → [Release](https://github.com/Jumitti/hyperion-remote-control/releases)\n   - (For Raspberry) Don't forget to give all permissions at ```HRC``` folder:\n     - In ```HRC``` folder, open a terminal:\n     ```\n     sudo 777 hyperion_remote_control.py\n     sudo 777 SECRETS.py\n     ```\n3. Config ```SECRETS.json``` in ```HRC``` folder\n\n   - How to get your **ID**:\n     - send ```/getid``` to [myidbot](https://telegram.me/myidbot) on [Telegram](https://web.telegram.org/k/)\n     - Copy/paste your ID in ```SECRETS.json``` without (') or (\")\n   \n   - How to get your **TOKEN**:\n     - Config a bot with [@BotFather](https://telegram.me/BotFather):\n       - Create a bot with ```/newbot``` and follow instructions\n       - Get API token with ```/mybots```, select your bot and get API token\n       - Copy/paste your token in ```SECRETS.json``` between (') or (\")\n     - Don't forget to send ```/start``` at your Telegram bot\n4. Run ```hyperion_remote_control.py```:\n   - In ```HRC``` folder, open a terminal:\n     ```\n     python3 hyperion_remote_control.py\n     ```\n5. That all folks ! You just received a message on your Telegram bot ! 🎉\n\n6. (Bonus Raspberry) For start ```hyperion_remote_control.py``` at boot:\n    - In a terminal:\n      ```\n      sudo nano /etc/rc.local\n      ```\n    - You need to see that:\n      ```\n      #!/bin/sh -e\n      #\n      # rc.local\n      #\n      # This script is executed at the end of each multiuser runlevel.\n      # Make sure that the script will \"exit 0\" on success or any other\n      # value on error.\n      #\n      # In order to enable or disable this script just change the execution\n      # bits.\n      #\n      # By default this script does nothing.\n    \n      # Print the IP address\n      _IP=$(hostname -I) || true\n      if [ \"$_IP\" ]; then\n        printf \"My IP address is %s\\n\" \"$_IP\"\n      fi\n    \n      exit 0\n      ```\n    - Add ```sudo -u {user} python3 {YOUR_PATH}/HRC/hyperion_remote_control.py \u0026``` before ```exit 0```:\n      - In my case, user = pi and path = /home/pi/Desktop\n        ```\n        #!/bin/sh -e\n        #\n        # rc.local\n        #\n        # This script is executed at the end of each multiuser runlevel.\n        # Make sure that the script will \"exit 0\" on success or any other\n        # value on error.\n        #\n        # In order to enable or disable this script just change the execution\n        # bits.\n        #\n        # By default this script does nothing.\n    \n        # Print the IP address\n        _IP=$(hostname -I) || true\n        if [ \"$_IP\" ]; then\n          printf \"My IP address is %s\\n\" \"$_IP\"\n        fi\n    \n        sudo -u pi python3 /home/pi/Desktop/HRC/hyperion_remote_control.py \u0026\n    \n        exit 0\n        ```\n    *Note*: You can use ```crontab``` way but I don't like it\n\n# \u003ca id=\"hyperion_remote_control\"\u003e\u003c/a\u003eHow to use Hyperion Remote Control\n\n## \u003ca id=\"news\"\u003e\u003c/a\u003eNEWS from [HRC v1.0](https://github.com/Jumitti/hyperion-remote-control/releases/tag/v1.0)\nA keyboard with all options is available. You can also change the brightness and apply colors or effects.\n\n*Note*: The functions are also accessible as commands (see **[List of commands](https://github.com/Jumitti/hyperion-remote-control?tab=readme-ov-file#list-of-commands)** section). A description is associated with it.\n\u003cdiv style=\"text-align:center\"\u003e\n    \u003cp float=\"left\"\u003e\n      \u003cimg src=\"img/menu.jpg\" width=\"300\" /\u003e\n      \u003cimg src=\"img/brightness.jpg\" width=\"300\" /\u003e \n      \u003cimg src=\"img/effects.jpg\" width=\"300\" /\u003e\n    \u003c/p\u003e\n\u003c/div\u003e\n\n## \u003ca id=\"list_command\"\u003e\u003c/a\u003eList of commands\nJust send ```/help``` to your Telegram bot and see all command ! 😊\n\n*Tips*: you can set command from ```/help``` with [@BotFather](https://telegram.me/BotFather) to have a quick access\n- copy message from ```/help```\n- send ```/mybots``` to [@BotFather](https://telegram.me/BotFather) and select your Telegram bot\n- select ```Edit Bot```\n- select ```Edit Commands```\n- paste message from ```/help``` without /\n\n| Command         | Description                                         | Raspberry | Windows |\n|-----------------|-----------------------------------------------------|-----------|---------|\n| `/temperature`  | Get CPU temperature                                 | ✅         | ❌       |\n| `/quick_update` | To update and upgrade without autoremove and reboot | ✅         | ❌       |\n| `/update`       | To update, upgrade, autoremove AND REBOOT           | ✅         | ❌       |\n| `/reboot`       | Sometimes it's good                                 | ✅         | ❌       |\n| `/shutdown`     | As expected                                         | ✅         | ❌       |\n| `/hyperion_on`  | Turn on Hyperion                                    | ✅         | ✅       |\n| `/hyperion_off` | Turn off Hyperion                                   | ✅         | ✅       |\n| `/video_on`     | Hyperion based on video input                       | ✅         | ✅       |\n| `/video_off`    | Hyperion background effect/color                    | ✅         | ✅       |\n| `/brightness`   | Manage brightness                                   | ✅         | ✅       |\n| `/effect`       | Select color/effect                                 | ✅         | ✅       |\n| `/test`         | Is my Telegram bot still working?                   | ✅         | ✅       |\n| `/help`         | A little reminder                                   | ✅         | ✅       |\n\nHyperion can make heat your Raspberry, so to prevent an overheat I had a command to know CPU temperature:\n- In ```hyperion_remote_control.py```, you can set critical temperature, replace \"85\" and \"90\":\n    ```\n    if temperature \u003e= 85:\n        bot.sendMessage(chat_id_key, f'WARNING ! CPU temperature too hot{temperature}')\n    if temperature \u003e= 90:\n        bot.sendMessage(chat_id_key,\n            f'WARNING ! CPU temperature too hot{temperature}.\\nShutdown in progress... See U soon')\n        os.system('sudo shutdown now')\n    ```\n\nI add a function to auto-update your Raspberry every monday @ 02:30 and major update with reboot appends every 1st of each month @ 02:00, you can change that:\n- Day: M=0; T=1; W=2...\n    ```\n    # Quick update every monday @ 2:30\n    if day == 0 and hour == '02:30':\n        bot.sendMessage(chat_id_key, 'Starting weekly update...')\n        os.system('sudo apt-get update -y')\n        bot.sendMessage(chat_id_key, 'Weekly update done.\\nStarting weekly upgrade...')\n        os.system('sudo apt-get upgrade -y')\n        bot.sendMessage(chat_id_key, 'Weekly upgrade done')\n    \n    # Update every 1st of month @ 2:00\n    if date == '1' and hour == '02:00':\n        bot.sendMessage(chat_id_key, 'Starting monthly update...')\n        os.system('sudo apt-get update -y')\n        bot.sendMessage(chat_id_key, 'Monthly update done.\\nStarting monthly upgrade...')\n        os.system('sudo apt-get upgrade -y')\n        bot.sendMessage(chat_id_key, 'Monthly upgrade done.\\nStarting monthly autoremove...')\n        os.system('sudo apt-get autoremove -y')\n        bot.sendMessage(chat_id_key, 'Monthly autoremove done.\\nStarting reboot...\\nSee U soon')\n    ```\n\n# \u003ca id=\"own_command\"\u003e\u003c/a\u003eCan I use my own command ?\n\nYes of course, my script use JSON commands. Documentation [HERE](https://docs.hyperion-project.org/en/json/Control.html#sections)\n\nFeel free to create your own Telegram bot with your own command 😊 My script is just a proof of concept 😊\n\n# \u003ca id=\"secure\"\u003e\u003c/a\u003eA Telegram Bot is secure ?\n\nYes it is if you don't create a public bot. When in doubt, you put your token and your ID in a SECRETS.json file. So your identifiers are not written in the script. In addition, I added a function that prevents commands from an unrecognized ID from being executed. A prevention message is sent to the unrecognized ID. And a message will be sent to you to warn you in this case with the ID trying to communicate with your Telegram Bot. \n\n# \u003ca id=\"disclaimer\"\u003e\u003c/a\u003eDisclaimer\nThis project is an independent initiative for enhancing the Hyperion experience and is not affiliated with the official Hyperion project or Philips Ambilight.\n\n# \u003ca id=\"credit\"\u003e\u003c/a\u003eCredit\nCopyright (c) 2024 Minniti Julien.\n\nThis software is distributed under an [MIT licence](https://github.com/Jumitti/hyperion-remote-control/blob/main/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjumitti%2Fhyperion-remote-control","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjumitti%2Fhyperion-remote-control","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjumitti%2Fhyperion-remote-control/lists"}