MQTT Corsair iCUE control

Will it be possible to change Profiles with it one day?

I created a MQTT adapter for the Open CUE service, which is a project of mine to control the profiles of iCUE just like some games do it. I use it with openHAB but it should be also possible to control it with HA.

2 Likes

I tried using Legion2’s Open Cue service which works very well! The service runs fine as a scheduled task, however the adapter open-cue-mqtt.bat only works if it’s run in a command prompt and not a scheduled task. Has anyone been able to get that part working?

I run both programs as scheduled tasks. The service is started on pc start and the mqtt adapter is started when the user logs in.

I tried setting it up as you described, the service works fine as it’ll pickup messages from the MQTT adapter (if run from cmd prompt)
I setup the scheduled task for the mqtt adapter to run as SYSTEM and my username, neither works. The action is “start a program”, the program/script is “C:\Program Files\open-cue-mqtt-windows-x64\open-cue-mqtt.bat” with no arguments nor “start in” entry.

@Hydrazine sorry for the late reply I missed your response.
Here is my exported scheduled task, it runs as my personal windows account. I removed some information and replaced them with ***:

<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.4" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  <RegistrationInfo>
    <Date>2020-04-27T17:41:14.1752403</Date>
    <Author>***</Author>
    <URI>\Start Open CUE MQTT Adapter</URI>
  </RegistrationInfo>
  <Triggers>
    <LogonTrigger>
      <Enabled>true</Enabled>
      <UserId>***</UserId>
      <Delay>PT30S</Delay>
    </LogonTrigger>
  </Triggers>
  <Principals>
    <Principal id="Author">
      <UserId>***</UserId>
      <LogonType>S4U</LogonType>
      <RunLevel>LeastPrivilege</RunLevel>
    </Principal>
  </Principals>
  <Settings>
    <MultipleInstancesPolicy>StopExisting</MultipleInstancesPolicy>
    <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
    <AllowHardTerminate>true</AllowHardTerminate>
    <StartWhenAvailable>false</StartWhenAvailable>
    <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
    <IdleSettings>
      <StopOnIdleEnd>true</StopOnIdleEnd>
      <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <AllowStartOnDemand>true</AllowStartOnDemand>
    <Enabled>true</Enabled>
    <Hidden>false</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession>
    <UseUnifiedSchedulingEngine>true</UseUnifiedSchedulingEngine>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>PT72H</ExecutionTimeLimit>
    <Priority>7</Priority>
  </Settings>
  <Actions Context="Author">
    <Exec>
      <Command>C:\Users\***\AppData\Roaming\open-cue-mqtt\open-cue-mqtt.bat</Command>
      <WorkingDirectory>C:\Users\***\AppData\Roaming\open-cue-mqtt</WorkingDirectory>
    </Exec>
  </Actions>
</Task>

Does this work for iCUE 4? Not able to get this going…

Do I need the specific dotnet version? The older versions aren’t available on the website anymore (links in the readme are dead).

bump, does this work with icue 4?

same problem, @tobinbrooke an upgrade?

@tobinbrooke you should add support for setting the G buttons up as buttons in Home Assistant (for keyboards). Would be awesome to trigger automations or other things using the macro buttons on my keyboard. I was actually going to make something that did this myself but then came across this. Good work!

Hi, good suggestion, unfortunately, I do not believe the iCue SDK exposes much more than LEDs. Would have to add macros that can be configured to set the led and carry out a pre-defined list of available actions that simulate some of what the G buttons can do

Hello how are you? I was very impressed with the service provided. I have a suggestion, is it possible to do the opposite way? For example, when I change the color, or receive a notification on the computer, can I change the color of the lamp or led strip? It may be possible using the home assistant’s MQTT server, such as Mosquitto broker

Nice, thanks !