To view all available icons, you can go to the following address. The icon viewer also allows you to generate a custom brand-icons.js with only the icons you want, allowing you to streamline the icon pack and eliminate loading issues.
We recommend installing Custom brand icons card via Home Assistant Community Store
After installing through HACS:
-
Add the following lines to your
configuration.yamlfrontend: extra_module_url: - /local/community/plasma-icons/plasma-icons.js
-
(Optional) YAML mode users. Add the following to your lovelace configuration using the Raw Config editor under Configure UI or ui-lovelace.yaml.
resources: - type: js url: /local/community/plasma-icons/plasma-icons.js
To add custom repositories please follow this guide. Set URL to `` and category to Lovelace.
-
Download
plasma-icons.jsfile from the latest release. -
Copy the
plasma-icons.jsfile into<config>/www/the directory where yourconfiguration.yamlresides. -
Add the following to the
frontendsection of yourconfiguration.yamlfrontend: extra_module_url: - /local/plasma-icons.js
-
(Optional) YAML mode users. Add the following to your lovelace configuration using the Raw Config editor under Configure UI or ui-lovelace.yaml.
resources: - type: js url: /local/plasma-icons.js
-
Restart Home Assistant.
Example of plasma icons a lovelace card:
entities:
- entity: sensor.starlink_status
icon: 'plasma:starlink'
name: Starlink Status
show_header_toggle: false
title: Plasma Icons
type: entities- Reload browser by holding CTRL and pressing F5.
- For Mac, hold ⌘ CMD and ⇧ SHIFT, then press R.
- From left sidebar, select on HACS.
- Select on Integrations.
- From the top header bar (Integrations, Frontend), select Frontend.
- Search plasma-icons on the search bar.
- Select Plasma Icons.
- From the top right, select the 3 vertical dots which opens a dropdown menu.
- Select Redownload.
- Hard reload browser.
- Open the dropdown menu from Step 6 of Redownload Integration.
- Select Remove, then select Remove again on the popup.
- This should bring you back to /hacs/frontend
- From the top right, select the 3 vertical dots which opens a dropdown menu.
- Select on Custom repositories.
- Find Plasma Icons and select it.
- On the bottom right, select the big blue Download icon.
- Hard reload browser.
- Go to icon viewer
- Select all the icons you want to add to your HA instance
- Download the js file and install it manually in Home Assistant
-
To make an icon in svg format you can use different programs starting from illustrator, inkview, or Inkscape.
-
Verify
svgicons are set properly by using text editor of your choice (Notepad++, Notepad, or Visual Studio Code). -
Rules on Icon size and contraints are (HERE,
-
The
svgcode must contain viewbox. No transform, translate, or scale. -
Make sure to add color: #44739e. Every custom brand icon uses this color.
-
all icons must have a nomenclature NOT in camelcase but of the type
part1name-part2name -
Once done, add the svg file in the folder
icon-svgfound in the root of the repo. -
the icon must *not be composed of multiple paths but a single one as shown in the example below
Example svg file below:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<!-- path d="..." is unique for each icon -->
<svg
width="24"
height="24"
viewBox="0 0 24 24"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<path
style="fill:#44739e"
d="..."
\>
</svg>Warning
You need to have Node.js installed to use.
Note
This procedure can be performed locally to verify that the icons meet the required requirements and that they are compliant and minimized as best as possible.
Thanks to the work of @SoulSolistice, a normalize-icons.mjs has been introduced that performs the following operations:
viewBox="0 0 24 24"- geometry scaled to fit within
MAX_GEOxMAX_GEO(aspect preserved), default 20x20 - geometry centered at
viewBox / 2, default 12,12 - paths only output, baked coordinates, no transforms
- fill color is fixed to BRAND_FILL, default
#44739e - --clean: svgo --> normalize --> svgo (because normalization expands path data)
- --vrt: ImageMagick montage ... --> script/vrt.png as "Visual Regression Test"
- default input/output (when not specified): plasma-icons/icon-svg
- Run
npm iinplasma-iconsfolder to install requirements - Run
npm run clean:vrtto clean the current icons (will be overwritten). Also createsvrt.pngin thescriptsfolder as "Visual Regression Test". This needs ImageMagick installed.
After adding your svg icon in icon-svg. Open pull requests on the dev branch.