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
Wrapper around the UPS API for creating shipping labels and fetching a package's tracking status.

ClassicUPS: A Useful UPS Library ClassicUPS is an Apache2 Licensed wrapper around the UPS API for creating shipping labels and fetching a package's tr

Jay Goel 55 Dec 12, 2022
“ HOLA HUMANS 👋 I'M DAISYX 2.0 „ LATEST VERSION OF DAISYX.. Source Code of @Daisyxbot

DaisyX 2.0 A Powerful, Smart And Simple Group Manager ... Written with AioGram , Pyrogram and Telethon... The first AioGram based modified groupmanage

TeamDaisyX 153 Dec 06, 2022
Simple Instagram Login Link Generator

instagram-account-login Simple Instagram Login Link Generator Info Program generates instagram login links and you may get into someone´s thought the

Kevin 5 Dec 03, 2022
OpenSea Python Bot coded purely in Python3.

OpenSea Python Bot coded purely in Python3. It utilises everything from OpenSea API to continuously monitor NFT's. It can be used to snipe or monitor if something falls below floor value.

OpenSea Elite Sniper 20 Dec 29, 2021
A Twitter bot written in Python using Tweepy and hosted on a server.

A Twitter bot written in Python using Tweepy. It can like and/or retweet tweets that contain single or multiple keywords and hashtags.

anniedotexe 11 Dec 15, 2022
The gPodder podcast client.

___ _ _ ____ __ _| _ \___ __| |__| |___ _ _ |__ / / _` | _/ _ \/ _` / _` / -_) '_| |_ \ \__, |_| \___/\__,_\__,_\___|_| |_

gPodder and related projects 1.1k Jan 04, 2023
A discord bot to assist you when playing phasmophobia.

phasbot A discord bot to assist you when playing phasmophobia. Add phasbot to your server here! Bot Commands ?help - shows commands ?info [ghost name]

1 Dec 22, 2021
Slack Developer Kit for Python

Python Slack SDK The Slack platform offers several APIs to build apps. Each Slack API delivers part of the capabilities from the platform, so that you

SlackAPI 3.5k Jan 02, 2023
A Discord bot that controls Pico-8.

Pico-8 Discord Bot Synopsis: A Discord bot that controls Pico-8. Please let me know if you make any games with this tool! I will simplify the discord.

Camden 1 Jan 28, 2022
Python package for agilex robotics mobile base platform

This is Python API for Agilex Robotics Mobile base This is a python API for Can communication with Agilex Robotics Mobile base and controlling it. Sup

7 Sep 06, 2022
Instagram Account Creator 🥰

Instagram Account Creatorr Instagram account creator that uses requests instead of selenium! Report Bug · Request Feature Features Request based Conta

dropout 9 Oct 27, 2021
A modified Sequential and NLP based Bot

A modified Sequential and NLP based Bot I improvised this bot a bit with some implementations as a part of my own hobby project :) Note: I do not own

Jay Desale 2 Jan 07, 2022
Easy-apply-bot - A LinkedIn Easy Apply bot to help with my job search.

easy-apply-bot A LinkedIn Easy Apply bot to help with my job search. Getting Started First, clone the repository somewhere onto your computer, or down

Matthew Alunni 5 Dec 09, 2022
Python client for Toyota North America service API

toyota-na Python client for Toyota North America service API Install pip install toyota-na[qt] [qt] is required for generating authorization code. Us

Gavin Ni 18 Sep 06, 2022
A suite of utilities for AWS Lambda Functions that makes tracing with AWS X-Ray, structured logging and creating custom metrics asynchronously easier

A suite of utilities for AWS Lambda Functions that makes tracing with AWS X-Ray, structured logging and creating custom metrics asynchronously easier

Amazon Web Services - Labs 1.9k Jan 07, 2023
Telegram bot to stream videos in telegram Voice Chat for both groups and channels

Telegram bot to stream videos in telegram Voice Chat for both groups and channels. Supports live steams, YouTube videos and telegram media. Supports scheduling streams, recording and many more.

Akki ThePro 2 Sep 11, 2022
A simple program to display current playing from Spotify app on your desktop

WallSpot A simple program to display current playing from Spotify app on your desktop How to Use: Linux: Currently Supports GNOME and KDE. If you want

Nannan 4 Feb 19, 2022
Shellkg-py - A temporary Repository to rewrite of shellpkg in python

Shellkg-py - A temporary Repository to rewrite of shellpkg in python

2 Jan 26, 2022
Aws-lambda-requests-wrapper - Request/Response wrapper for AWS Lambda with API Gateway

AWS Lambda Requests Wrapper Request/Response wrapper for AWS Lambda with API Gat

1 May 20, 2022