npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

rgb-light-card

v1.13.0

Published

A Home Assistant card for RGB lights

Downloads

160

Readme

RGB Light Card

Codecov Version HACS: Default Downloads Hits per month code style: prettier

A Home Assistant card for RGB lights

Installation

If you have HACS, you can install the RGB Light Card from there and jump to the "Configuration" step

Otherwise, follow these simple steps:

  1. In your home assistant, go to the /config/lovelace/resources page, or from your dashboard, click on the pencil icon > 3 dots > Manage resources

  2. Click on "Add resource"

  3. Set the URL to https://cdn.jsdelivr.net/npm/rgb-light-card and "JavaScript Module" as the resource type

  4. Click "Create"

Note: The RGB Light Card will upgrade automatically a few days after every new release (once your browser cache expires)

However, you can enforce a specific version by adding @X.X.X at the end of the URL (e.g: https://[...]/[email protected])

Configuration

The rgb-light-card is meant to be included either:

To start with an example configuration, you can create a new card in your dashboard, then:

  • Choose "Custom: RGB Light Card" in the card picker
  • Or choose the Tile card, click on Add feature in the features section, and select RGB Light Card (Tile feature)

Example configuration within an Entities card:

type: entities
show_header_toggle: false
entities:
    # Displays the light entity. It's optional
    - entity: light.example_light

    # Card configuration starts here
    - type: 'custom:rgb-light-card'
      entity: light.example_light
      colors:
          # Any option of the light.turn_on action can be used in each color
          - rgb_color:
                - 255
                - 127
                - 255
            brightness: 220
            transition: 1
          - hs_color:
                - 60
                - 30
            icon_color: '#fff8b0' # Override icon color

Example configuration as a Tile feature:

# Tile card configuration
type: tile
entity: light.example_light
features:
    # The "feature" configuration starts here
    - type: custom:rgb-light-card-feature
      entity: light.example_light
      colors:
          # Any option of the light.turn_on action can be used in each color
          - rgb_color:
                - 255
                - 127
                - 255
            brightness: 220
            transition: 1
          - hs_color:
                - 60
                - 30
            icon_color: '#fff8b0' # Override icon color

Pro tip

You can test all the colors options in the Developer Tools > Actions page of your Home Assistant.

Choose the light.turn_on action, edit the options (or the data in YAML mode), and click "Perform Action" to see the result

Options

| Name | Type | Requirement | Default | Description | | --------------- | ------- | ------------ | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | type | string | Required | | custom:rgb-light-card | | entity | string | Optional | | Entity to control. Must be a light or a light group. If you don't define it, entity_id must be defined in each color | | colors | array | Required | | Colors to display. Check out color options below | | justify | string | Optional | left | How to distribute free space between icons. Possible values are left,right,center,between and around. Check out examples below | | size | number | Optional | 32 | Diameter of the icons, in pixels | | label_size | number | Optional | 12 | Size of the labels font, in pixels | | hide_when_off | boolean | Optional | false | Hide all the icons if the entity state is off or unavailable |

Colors options

| Name | Type | Requirement | Default | Description | | ---------------------------------------------------------- | ------ | ------------ | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | rgb_color, hs_color, brightness, transition etc... | any | Optional | | When you click on a color, it will perform the action light.turn_on with all the options you put here as action data Click here for the full list of options | | icon_color | string | Optional | | Override icon color. Check out examples below | | label | string | Optional | | Optional color label. Check out examples below | | entity_id | string | Optional | | Override the entity option for this specific color | | type | string | Optional | light | Can be set to light (default), or action to change the click action. Read the explanation just below | | action | string | Optional | | Used with the action type to specify the action to perform when clicked | | data | array | Optional | | Used with the action type to specify the data to be passed to the action |

Performing Actions

By default, clicking an icon performs the light.turn_on action with the options you defined.

If you want more flexibility, you can use type: action to perform a different action, with optional data in a data object.

You can find more information about actions in the Home Assistant documentation

Example configuration:

type: entities
entities:
    - type: 'custom:rgb-light-card'
      colors:
          # First icon calls a script
          - type: action
            action: script.turn_on
            data:
                entity_id: script.night_mode
            icon_color: '#90b2ec'
          # Second icon calls a scene
          - type: action
            action: scene.turn_on
            data:
                entity_id: scene.romantic
            icon_color: '#f1a5cb'
          # Third icon sends a mobile notification
          - type: action
            action: notify.mobile_app_pixel_8
            data:
                title: Hey
                message: I'm your mobile phone
            icon_color: '#77e28a'

Note that you can mix lights and actions in the same card

The icon_color is still optional, but will be grey by default

Customization examples

Icon color

The icon_color option accepts the same values as the CSS background property.

This means your icon_color can be:

  • A HTML color name:   icon_color: gold
  • A hexadecimal code:   icon_color: '#FBB48C'
  • Any other color compatible with background-color:   icon_color: rgba(42, 204, 77, 0.5)
  • A color gradient:   icon_color: 'linear-gradient(15deg, #0250c5, #d43f8d)'
  • Or even an image:   icon_color: center/120% url('https://www.home-assistant.io/images/favicon-192x192.png')

The 5 examples above will render like this:

Light icon color examples Dark icon color examples

⚠️ You must wrap your value between quotes if it contains the # character

Material design icons

As explained above, the icon_color option accepts any valid CSS value

If you want icons in your colors, you can use the icon tool to convert material design icons into CSS

Light icons examples Dark icons examples

Labels

Small labels can be added below color icons, using the label option of each color. Their size can be customized with the label_size option (default to 12 pixels).

Labels can be just a text, but also accept HTML, which means you can be really creative:

  • Simple text: label: Red
  • Bold text: label: <b>Orange</b>
  • Or more complex HTML: label: '<span style="color: #609fc6">Blue</span>'

Light label examples Dark label examples

Justify

There are 5 possible values for the justify option: left,right,center,between and around. The default value is left.

Here are how the different values are handled:

Light justify examples Dark justify examples

License

MIT © Boris K