Skip to content

Transform your smart home lighting with the power of SignalRGB, now integrated directly into Home Assistant!

License

Notifications You must be signed in to change notification settings

hyperb1iss/signalrgb-homeassistant

Repository files navigation

🌈✨ SignalRGB Home Assistant Integration

CI/CD License

Transform your smart home lighting with the power of SignalRGB, now integrated directly into Home Assistant!

Features β€’ Requirements β€’ Installation β€’ Configuration β€’ Usage β€’ Development β€’ Contributing β€’ Support

🌟 Features

  • πŸ’‘ Control SignalRGB as a light entity in Home Assistant
  • πŸ”Œ Seamless on/off control
  • 🎨 Apply a wide range of lighting effects
  • πŸ”† Adjust brightness of your entire SignalRGB setup
  • πŸ“Š View current effect and available effects list
  • πŸ”„ Automatic effect image and color extraction
  • πŸŽ›οΈ Effect parameter control (coming soon!)

Want more features? Vote for this SignalRGB feature request!

πŸ“‹ Requirements

  • Home Assistant 2024.2.0 or newer
  • SignalRGB software installed and running on a Windows PC on your network
  • SignalRGB HTTP API enabled (default port: 16038)
  • SignalRGB Pro subscription (required for API)

πŸ› οΈ Installation

HACS Installation (Recommended)

  1. Ensure that HACS is installed in your Home Assistant instance.
  2. In the HACS panel, go to "Integrations".
  3. Click the "+" button in the bottom right corner.
  4. Search for "SignalRGB" and select it.
  5. Click "Install" and wait for the installation to complete.
  6. Restart Home Assistant.

Note: This component isn't in the official HACS repository yet. You can add it as a custom repository:

  1. Go to HACS
  2. Click on the three dots in the top right corner
  3. Select "Custom repositories"
  4. Enter "hyperb1iss/signalrgb-homeassistant" for the repository
  5. Select "Integration" for the category
  6. Click "Add"

Manual Installation

  1. Download the signalrgb folder from this repository.
  2. Copy the folder to your custom_components directory in your Home Assistant config directory.
    • If the custom_components directory doesn't exist, you'll need to create it.
  3. Restart Home Assistant.

Enable SignalRGB API

Ensure that the SignalRGB API is enabled and accessible:

  1. Open SignalRGB on your Windows PC.
  2. Go to Settings > General > Enable HTTP API.
  3. Note the port number (default is 16038).
  4. If necessary, configure your Windows firewall to allow incoming connections on this port.

βš™οΈ Configuration

After installation, add the SignalRGB integration through the Home Assistant UI:

  1. Navigate to Configuration > Integrations.
  2. Click the "+" button to add a new integration.
  3. Search for "SignalRGB" and select it.
  4. Enter the hostname or IP address of the PC running SignalRGB and the port number.
  5. Click "Submit" to add the integration.

πŸš€ Usage

Once configured, SignalRGB will appear as a light entity in Home Assistant. You can:

  • πŸ’‘ Turn it on/off
  • 🎨 Select different effects from the effect list
  • πŸ”† Adjust the brightness of your entire SignalRGB setup
  • 🏠 Include it in automations, scripts, and scenes
  • πŸ‘οΈ View effect details and parameters

Example automation:

automation:
  - alias: "Gaming Time"
    trigger:
      platform: state
      entity_id: binary_sensor.gaming_pc_status
      to: 'on'
    action:
      - service: light.turn_on
        target:
          entity_id: light.signalrgb
        data:
          effect: "Cyberpunk 2077"
          brightness: 255

You can also control the brightness using slider controls in the Home Assistant UI or by calling the light.turn_on service with a brightness value:

service: light.turn_on
target:
  entity_id: light.signalrgb
data:
  brightness: 128  # Values range from 0 (off) to 255 (full brightness)

🎨 Enhance Your UI with hyper-light-card

To take your SignalRGB control to the next level, check out the hyper-light-card for Home Assistant! This custom card provides a beautiful, intuitive interface for controlling your SignalRGB setup, featuring:

  • 🌈 Dynamic color adaptation based on the current effect
  • πŸ“Š Detailed effect information display
  • πŸ–ΌοΈ Effect preview images
  • πŸ”§ Easy effect switching and parameter control

To install hyper-light-card:

  1. Add it to HACS as a custom repository (Frontend category)
  2. Install it through HACS
  3. Add a new card to your dashboard and select "Hyper Light Card"
  4. Choose your SignalRGB entity

Experience the perfect blend of functionality and aesthetics with hyper-light-card and SignalRGB!

πŸ›  Development

This project uses Poetry for dependency management and packaging. To set up the development environment:

  1. Install Poetry
  2. Clone the repository:
    git clone https://github.com/hyperb1iss/signalrgb-homeassistant.git
  3. Navigate to the project directory:
    cd signalrgb-homeassistant
  4. Install dependencies:
    poetry install
  5. Activate the virtual environment:
    poetry shell
  6. Install pre-commit hooks:
    pre-commit install

Useful Commands

  • Run tests: make test
  • Lint code: make lint
  • Format code: make format
  • Run all checks: make check

🀝 Contributing

We welcome contributions to the SignalRGB Home Assistant Integration! Here's how you can help:

  1. Fork the repository
  2. Create a new branch: git checkout -b feature/your-feature-name
  3. Make your changes and commit them using Gitmoji: git commit -m ":sparkles: Add amazing feature"
  4. Push to the branch: git push origin feature/your-feature-name
  5. Submit a pull request

Please ensure your code adheres to our style guidelines and passes all tests.

πŸ†˜ Support

πŸ“„ License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

⚠️ Disclaimer

This integration is not officially affiliated with or endorsed by WhirlwindFX or SignalRGB. Use at your own risk.


Created by Stefanie Jane 🌠

If you find this project useful, buy me a Monster Ultra Violet! ⚑️