Tiny Go program to set Elgato Key Light options

Elgato Key Light Controller

This is a tiny Go program to control the power, brightness, and temperature settings for Elgato Key Lights with known IP addresses. It was hacked together in ~1h and works for my purposes, but feel free to reuse and/or improve.

Building

go build

Running

./elgato-key-light-controller [...]

For example:

./elgato-key-light-controller -light-ips="192.168.0.181,192.168.0.182" -command=toggle-power

Flags

$ ./elgato-key-light-controller -help
Usage of ./elgato-key-light-controller:
  -command string
    	Command to run. May be: toggle-power, decrease-brightness, increase-brightness, decrease-temperature, increase-temperature, set-min-brightness, set-max-brightness, set-min-temperature, set-max-temperature, set-brightness, set-temperature. (default "toggle-power")
  -light-ips string
    	Comma-separated list of Elgato Key Light IPs. (default "192.168.0.181,192.168.0.182")
  -value string
    	Numeric value to use for 'set-brightness' and 'set-temperature' commands.
Similar Resources

Set of CyberStalker Agent’s Drivers

CyberStalker-Driver-Bundle CGroup Driver CGroup Driver is developed to improve distribution of resources among groups of tasks and processes running i

Dec 13, 2021

Tool to convert docker-compose files to set of simple docker commands

docker-decompose Tool to convert docker-compose files to set of simple docker commands. Install Use go get to install the latest version of the librar

Apr 12, 2022

`runenv` create gcloud run deploy `--set-env-vars=` option and export shell environment from yaml file.

runenv runenv create gcloud run deploy --set-env-vars= option and export shell environment from yaml file. Motivation I want to manage Cloud Run envir

Feb 10, 2022

Binary program to restart unhealthy Docker containers

DeUnhealth Restart your unhealthy containers safely Features Restart unhealthy containers marked with deunhealth.restart.on.unhealthy=true label Recei

Dec 22, 2022

quick debug program running in the k8s pod

quick debug program running in the k8s pod

quick-debug English | 中文 What Problem To Solve As the k8s becomes more and more popular, most projects are deployed in k8s, and so is the development

Apr 1, 2022

k6-to-honeycomb is a program that sends k6 results into Honeycomb for visualization and analysis.

k6-to-honeycomb is a program that sends k6 results into Honeycomb for visualization and analysis.

k6-to-honeycomb k6-to-honeycomb is a program that sends k6 results into Honeycomb for visualization and analysis. Getting Started k6-to-honeycomb is a

Jul 14, 2022

A simple webdev utility program that allows developers to quickly validate and format JSON code

Toolbox CLI A simple webdev utility program that allows developers to quickly validate and format JSON code, convert from UNIX epoch to timestamp and

Jan 4, 2022

Output all versions of a local git repo, which could be used as test data for your ML program.

gitwalker Output all versions of a local git repo, which could be used as test data for your ML program. Notice This program is under development. Cur

Dec 27, 2021

Use this program to embed sh scripts in binaries

sh2bin Use this program to embed sh scripts in binaries. Feel free to fork this

Jan 4, 2023
Comments
  • increase-temp and decrease-temp work opposite

    increase-temp and decrease-temp work opposite

    Greetings,

    For some insane reason, Elgato decided to encode the hottest temp (9000K) as 143, and the coolest (2900K) as 344.

    Therefore, when you try and 'raise-temp' you will actually lower the temp with your code, and if it is already at the coolest (2900K), you won't raise it at all (it can't go lower). Same if you are trying to "lower" when you are at 9000K.

    You actually need to invert the directions in your script. I will be doing a bit of work here, so I can do a PR in a little bit.

    Also, do you want to continue to use the integer numbers for temp as per the Elgato API, or do you want to use K (which more people will grok)? If so, I can pull over the conversion code that is in the legato python code which should give the ability to input colors as temps, rather than 'semi random' integers.

ip-masq-agent-v2 aims to solve more specific networking cases, allow for more configuration options, and improve observability compared to the original.

ip-masq-agent-v2 Based on the original ip-masq-agent, v2 aims to solve more specific networking cases, allow for more configuration options, and impro

Aug 31, 2022
topolvm operator provide kubernetes local storage which is light weight and high performance

Topolvm-Operator Topolvm-Operator is an open source cloud-native local storage orchestrator for Kubernetes, which bases on topolvm. Supported environm

Nov 24, 2022
A tiny self-contained pasting service with a built-in database.

A tiny self-contained pasting service with a built-in database.

Dec 18, 2021
Go-reconcile - Super tiny go package which does reconcile planning

go-reconcile Super tiny go package which does reconcile planning: taking desired

Mar 1, 2022
Shell script to download and set GO environmental paths to allow multiple versions.
Shell script to download and set GO environmental paths to allow multiple versions.

gobrew gobrew lets you easily switch between multiple versions of go. It is based on rbenv and pyenv. Installation The automatic installer You can ins

Nov 3, 2022
A set of tests to check compliance with the Prometheus Remote Write specification

Prometheus Remote Write Compliance Test This repo contains a set of tests to check compliance with the Prometheus Remote Write specification. The test

Dec 4, 2022
A set of components that can be composed into a highly available metric system with unlimited storage capacity
A set of components that can be composed into a highly available metric system with unlimited storage capacity

Overview Thanos is a set of components that can be composed into a highly available metric system with unlimited storage capacity, which can be added

Oct 20, 2021
Set of Kubernetes solutions for reusing idle resources of nodes by running extra batch jobs

Caelus Caelus is a set of Kubernetes solutions for reusing idle resources of nodes by running extra batch jobs, these resources come from the underuti

Nov 22, 2022
GitHub App to set and enforce security policies

Allstar Allstar is a GitHub App installed on organizations or repositories to set and enforce security policies. Its goal is to be able to continuousl

Jan 5, 2023
A set of tools for managing projects in github

Github-pm-groomer The goal of this project is to have a CLI which runs a set of different grooming stuff on github. Some features Normalize labels à l

Jan 5, 2022