Skip to content

Vaskivskyi/ha-chroma

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub Release LicenseBuild Status
HACS Default Community forum discussionBuy Me A Coffee
Installations

Control your Chroma-enabled devices from Home Assistant

Chroma is a custom integration for Home Assistant to control your Razer Chroma-enabled devices using the AIOChroma python library.

A short presentation of the features can be found in this YouTube video.

Installation

HACS

You can add this repository to your HACS: HACS -> Integrations -> Explore & Download Repositories -> Chroma

Manual

Copy content of the stable branch custom_components/chroma/ to custom_components/chroma/ in your Home Assistant folder.

Usage

After Chroma is installed, you can add your device from Home Assistant UI.

Open your Home Assistant instance and start setting up a new integration.

To connect you need to provide the following data:

  • IP address or hostname
  • Which devices do you want to control (e.g. chromalink, headset, keyboard, keypad, mouse, mousepad)
  • Layout of your keyboard (if the keyboard option is selected)

Open your Home Assistant instance and show your integrations.

Allow the connection (adjust your firewall settings)

To use the integration, you might need to adjust your firewall settings on the device with Chroma devices. Please, allow the incoming TCP connection on port 54236 from your HA instance. In case, this connection is not allowed, the integration will not be able to connect and might be stuck in the configuring state for an extended period.

Lights

The integration provides a light entity per each device selected during the configuration process. Every entity supports rgb_color and brightness attributes.

Services

The chroma.service_send_message service allows sending any string message to your per-key RGB keyboard. The message will be displayed symbol by symbol. Please, refer to the how-to documentation for more details.

Currently, the following keyboard layouts are supported: EN_US.

You can still use the service if your keyboard layout is not yet supported. E.g. you can change your string from Lazy fox was here to Layz fox was here to properly be displayed with the German layout.

Supported SDK versions

Some older versions of the Chroma SDK might be not compatible with the integration. Unfortunately, I cannot test all the versions, so the following table contains only those I know about.

SupportedPossible issuesNot supported
3.28.01 - 3.28.03 3.27.04 (issue #22)

SDK troubleshooting

[SSL: BAD_SIGNATURE] bad signature

This issue might appear when updating Synapse software between versions and can be observed on different versions. In this case, your HA instance won't be able to connect to Chroma SDK. At the same time, you won't be able to connect to SDK even locally using the local https://chromasdk.io:54236/razer/chromasdk alias (different browsers are showing a variety of SSL errors).

This issue can be fixed in the following way:

  • Open your Synapse software;
  • On the main Synapse tab switch from the Dashboard view to the Modules view (page with installed and available for installation modules);
  • Uninstall Chroma Connect (no need to close Synapse afterwords, just proceed to the next step);
  • Install Chroma Connect.

Check the SDK again. It should work now.

Supported devices

This list provides only the models tested by me or other users. If your device is not listed yet but works well, please open a Device Support ticket with the device model and it will be added to the list.

Some of the devices might be in the group which you would not expect. This is not related to the integration but the Chroma SDK.

GroupDevices
Chromalink

Chroma Addressable RGB Controller (link*)
Mousepads: Goliathus Extended Chroma (link)
Services: AuraConnect

Headset

Kraken 7.1 V2 (link), Kraken X USB (link)

Keyboard

BlackWidow Chroma (link), BlackWidow Elite(link), BlackWidow V3 Pro (link)
Cynosa Chroma (link)
Huntsman Elite (link), Huntsman V2 Analog (link)

Keypad

Tartarus V2 (link)

Mouse

Basilisk (link)
DeathAdder V2 Pro (link)
Mamba Tournament Edition (link)
Viper Ultimate (link) (+ Mouse Dock) (link)

Mousepad

Base Station V2 Chroma (link)
Firefly V2 (link)
Mouse Bungee V3 Chroma (link)

* As an Amazon Associate I earn from qualifying purchases. Not like I ever got anything yet (:

Support the integration

This integration is a free-time project. If you like it, you can support me by buying a coffee.

Buy Me A Coffee