Python3 program to control Elgato Ring Light on your local network without Elgato's Control Center software

Overview

Elgato Light Controller

I'm really happy with my Elgato Key Light from an illumination perspective. However, their control software has been glitchy for me. When I first used the light the software worked most of the time, but over time it started having problems by only detecting the light intermittently.

After internet searching I found:

  1. Others have had the exact same experience.
  2. Corsair’s technical support wasn’t particularly helpful or responsive.
  3. Factory resetting the light didn’t help, in my case it made it worse.
  4. Some internet threads think the issue is that the Key Light only uses 2.4 GHz Wi-Fi networks, and that newer Wi-Fi systems are trying to connect at 5.0 GHz. That wouldn’t explain why the light works sometimes, but I built a dedicated 2.4 GHz network to test this and it didn’t help.
  5. Other internet threads think the issue is multicast being blocked on one’s home network. It is true that this could explain the symptoms, but my network doesn’t block multicast and doesn’t explain the intermittent nature of the problem.

Diving in a bit deeper I discovered that my light:

  1. Was staying connected to my network, even when the software couldn’t find it.
  2. On port 9123 there was an API listener.
  3. Pyleglight is a python3 module that implements an API wrapper for Key lights. I’ve included the latest version of Pyleglight in this repository as of October 26, 2021.

So, I went ahead and created this program to accept all the typical commands for control of a single light. If you have multiple lights you can either call the program repeatedly or have a fun afternoon modifying it to work with multiple lights.

Usage is as follows:

usage: elgato-light-controller [ options ]

CLI control of an Elgato light

optional arguments:

-h, --help show this help message and exit

-on, --On Turn light on

-off, --Off Turn light off

-brighter, --Brighter Turn light on and make it brighter

-dimmer, --Dimmer Turn light on and make it dimmer

-warmer, --Warmer Turn light on and make it warmer

-cooler, --Cooler Turn light on and make it cooler

-address ADDRESS, --Address ADDRESS Specify the light's IP address

-port PORT, --Port PORT Specify the light's API port

-default, --Default Set light to my default color and temperature

With no arguments the program will just toggle the state of the light.

Installation & Setup Tips:

  1. Give your light a static IP address through your network’s DHCP server.
  2. Adjust the IP address in the source code so it matches the address you’ve given it. (Alternatively always pass it in using the -address command line argument).
  3. If you have a Stream Deck you can link buttons to commands (at least on Mac OS). Use the Steam Deck's Open command and point to elgato-light-controller.py. Then manually edit the path by clicking in the "App/File" field to the file it opens and appending "-brighter" or any other parameters you want. Some internet posts state that one has to create an AppleScript or shell script to pass in parameters, but this method works fine for me and avoids that overhead. I made buttons for toggle on/off, brighter, warmer, cooler, and dimmer.
  4. If you're using this software you may choose to uninstall the Elgato Control Center, since it doesn't work well (at least as of this writing)
Owner
Jeff Tarr
Jeff Tarr
Official python API for Phish.AI public and private API to detect zero-day phishing websites

phish-ai-api Summary Official python API for Phish.AI public and private API to detect zero-day phishing websites How it Works (TLDR) Essentially we h

Phish.AI 168 May 17, 2022
Auto-Rollnumber-sender - Auto Rollnumber sender with python

Auto-Rollnumber-sender The above code fits better on my system but it can vary s

Riya Tripathi 2 Feb 14, 2022
A Discord Bot - has a few commands. Built using python - Discord.py - RIP.

Discord_Bot A Discord Bot has been built here. It is capable of running a few commands. The below present screenshot should suffice in terms of explai

Manab Kumar Biswas 1 May 22, 2022
Generate Heroku-like random names to use in your python applications

HaikunatorPY Generate Heroku-like random names to use in your python applications. Installation pip install haikunator Usage Haikunator is pretty sim

Atrox 116 Nov 15, 2022
Telegram Bot that's allow you to play Video & Music on Telegram Group Video Chat

WAR MUSIC / VIDEO PLAYER Bot Bot Link: 🧪 Get SESSION_NAME from below: Pyrogram 🎭 Preview ✨ Features Music & Video stream support MultiChat support P

Abhishek singh 11 Dec 25, 2022
Network simulation tools

Overview I'm building my network simulation environments with Vagrant using libvirt plugin on a Ubuntu 20.04 system... and I always hated how boring i

Ivan Pepelnjak 219 Jan 07, 2023
It's a discord.py simulator.

DiscordPySimulator It's a discord.py simulator. ⚠️ Things to fix Context As you may know, discord py commands provide the context as the first paramet

Juan Sebastián 11 Oct 24, 2022
An Auto-Grinding bot made for Pokemeow. Efficient but not many features yet

PokeGrinder 🤖 This is an Auto-Grinding bot made for Pokemeow. Efficient but not many features yet. Supported features This bot can currently handle :

Xombie 9 Feb 01, 2022
A comand-line utility for taking automated screenshots of websites

shot-scraper A comand-line utility for taking automated screenshots of websites For background on this project see shot-scraper: automated screenshots

Simon Willison 837 Jan 07, 2023
Access Undenied parses AWS AccessDenied CloudTrail events, explains the reasons for them, and offers actionable remediation steps. Open-sourced by Ermetic.

Access Undenied on AWS Access Undenied parses AWS AccessDenied CloudTrail events, explains the reasons for them, and offers actionable fixes. Access U

Ermetic 204 Jan 02, 2023
Wetterdienst - Open weather data for humans

We are a group of like-minded people trying to make access to weather data in Python feel like a warm summer breeze, similar to other projects like rdwd for the R language, which originally drew our

226 Jan 04, 2023
NFT Generator - A NFT Generator created using Python

NFT_Generator v1 An NFT Generator created using Python. This NFT Generation tool

3 Dec 02, 2022
New developed moderation discord bot by archisha

Monitor42 New developed moderation discord bot by αrchιshα#5518. Details Prefix: 42! Commands: Moderation Use 42!help to get command list. Invite http

Kamilla Youver 0 Jun 29, 2022
Pluggable Telethon - Telegram UserBot

A stable pluggable Telegram userbot, based on Telethon.

Team Ultroid 2.3k Dec 30, 2022
Student-Management-System-in-Python - Student Management System in Python

Student-Management-System-in-Python Student Management System in Python

G.Niruthian 3 Jan 01, 2022
This bot can mention members upto 10,000 in groups and can mention members upto 200 in channels !

Mention All Bot This bot can mention members upto 10,000 in groups and can mention members upto 200 in channels ! 🏷 Infomation Language: Python. Tele

Anjana Madu 52 Dec 29, 2022
Periodically check the manuscript state in the scholar one system and send email when finding a new state.

ScholarOne-manuscript-checker Periodically check the manuscript state in the scholar one system and send email when finding a new state. Parameters ne

2 Aug 18, 2022
This bot automaticaly access to giveaway ! You can won free NFT !

This bot automaticaly access to giveaway ! You can won free NFT !

2s.py 28 Oct 20, 2022
The Bot provide Hadith API and fetch content via api.hadith.sutanlab.id

Bot Hadith-API on Telegram The Bot provide Hadith API and fetch content via api.hadith.sutanlab.id Built With Python Asynchronous HTTP protocol client

xMan 12 Feb 19, 2022
Simple Python Auto Follow Bot

Instagram-Auto-Follow-Bot Description Một IG BOT đơn giản. Tự động follow những người mà bạn muốn cướp follow. Tự động unfollow. Tự động đăng nhập vào

CodingLinhTinh 3 Aug 27, 2022