No description
Find a file
dscao 4192a52c5b
add icons and logos for cloud_gps (#6441)
<!--
  You are amazing! Thanks for contributing to our project!
  Please, DO NOT DELETE ANY TEXT from this template! (unless instructed).
-->
## Proposed change
<!-- 
  Describe the big picture of your changes here to communicate to the
  maintainers why we should accept this pull request.
-->


## Type of change
<!--
  What type of change does your PR introduce to the Home Assistant Brands?
  NOTE: Please, check only 1! box! 
  If your PR requires multiple boxes to be checked, you'll most likely need to
  split it into multiple PRs. This makes things easier and faster to code review.
-->
Add icons and logos for a [new custom integration](https://github.com/dscao/cloud_gps) to device_tracker the car by gao_de map using Home Assistant.

## Additional information
<!--
  Details are important, and help maintainers processing your PR.
  Please be sure to fill out additional details, if applicable.
-->

- This PR fixes or closes issue: fixes #
- Link to code base pull request: 
- Link to documentation pull request: 
- Link to integration documentation on our website: 

## Checklist
<!--
  Put an `x` in the boxes that apply. You can also fill these out after
  creating the PR. If you're unsure about any of them, don't hesitate to ask.
  We're here to help! This is simply a reminder of what we are going to look
  for before merging your contribution.
-->

- [x] The added/replaced image(s) are **PNG**
- [x] Icon image size is 256x256px (`icon.png`)
- [x] hDPI icon image size is 512x512px for  (`icon@2x.png`)
- [x] Logo image size has min 128px, but max 256px, on the shortest side (`logo.png`)
- [x] hDPI logo image size has min 256px, but max 512px, on the shortest side (`logo@2x.png`)

<!--
  Thank you for contributing <3
-->
2025-02-06 18:01:53 +01:00
.github Bump actions/checkout from 4.2.1 to 4.2.2 (#6030) 2024-11-02 17:19:37 +01:00
core_brands Add dark logo for RaspberryPi (#6325) 2025-01-13 13:01:28 +01:00
core_integrations Add linx logos (#6487) 2025-02-06 12:17:24 +01:00
custom_integrations add icons and logos for cloud_gps (#6441) 2025-02-06 18:01:53 +01:00
hardware/boards Added board image for Odroid M1S (#6463) 2025-02-06 09:09:48 +01:00
scripts If logo missing, copy dark icon as well as light one (#5116) 2024-01-28 19:31:50 +01:00
.gitignore Add support for MDI icons (#3305) 2022-04-01 11:16:04 -07:00
netlify.toml Add Timing-Allow-origin CORS header (#4825) 2023-10-30 19:18:25 +01:00
README.md Use icon@2x as logo@2x in case of a missing logo@2x and no dedicated logo is provided (#3235) 2023-11-08 14:32:57 +01:00

Deploys by netlify

Home Assistant Brands

This repository holds the icons and logos for all the brands Home Assistant supports.

This repository is used to generate a static website, serving these images for use in our Home Assistant projects. The goal is to have a centralized repository of brand images.

Inner workings

This repository provides two main folders to store images in:

  • core_integrations: Contains images for integrations bundled with the Home Assistant Core.
  • custom_integrations: Contains images for custom integrations (custom components).

Each of these two main folders contain domain folders. Each domain folder is named to the integration domain and must match the domain set in the integration manifest.json file.

A domain folder can contain four files:

  • icon.png: A square avatar-like icon, representing the brand or product for that domain.
  • logo.png: The logo of the brand or product for that domain.
  • icon@2x.png: hDPI version of icon.png
  • logo@2x.png: hDPI version of logo.png

Those images are served in the following format:

  • https://brands.home-assistant.io/[domain]/icon.png
  • https://brands.home-assistant.io/[domain]/logo.png
  • https://brands.home-assistant.io/[domain]/icon@2x.png
  • https://brands.home-assistant.io/[domain]/logo@2x.png
  • https://brands.home-assistant.io/_/[domain]/icon.png
  • https://brands.home-assistant.io/_/[domain]/logo.png
  • https://brands.home-assistant.io/_/[domain]/icon@2x.png
  • https://brands.home-assistant.io/_/[domain]/logo@2x.png

Missing image handling

The website can service images with and without a fallback to a placeholder image.

Without placeholder fallback

This method uses the plain URLs, WITHOUT the /_/ in the URL path. A missing image will result in a 404 being served.

For example: <https://brands.home-assistant.io/[domain]/icon.png>

  • If a domain is missing the icon.png file, 404 will be served
  • If a domain is missing the logo.png file, the icon.png is served instead (if available).
  • If a domain is missing the icon@2x.png file, the icon.png is served instead (if available).
  • If a domain is missing the logo@2x.png file:
    • the icon@2x.png is served if available and logo.png is missing
    • the logo.png is served instead (if available).
  • If a image optimised for dark themes (image is prefixed with 'dark_') is missing, it's non-prefixed match will be served instead (if available).

With placeholder fallback

This method uses the plain URLs, WITH the /_/ in the URL path. A missing image will result in placeholder image being served telling the logo/icon is missing. This also applies to domains, in case the integration domain is missing.

For example: <https://brands.home-assistant.io/_/[domain]/icon.png>

Caching

All icons and logos are cached by browsers for 7 days, so additions and changes may take time to reach all users. This gives users the full benefits of local caching with minimal revalidation, and protects against missing content during an internet outage.

Images are simultaneously cached by Cloudflare for 24 hours. This allows changes to begin being distributed to users relatively quickly without losing the CDN benefits. It also guarantees a simple refresh (F5) will bring content no more than 1 day old.

The Cloudflare cache is also fully flushed in each major version of Home Assistant Core.

Image specification

All images must have the following requirements:

  • The filetype of all images must be PNG.
  • They should be properly compressed and optimized (lossless is preferred) for use on the web.
  • Interlaced is preferred (also known as progressive).
  • Images with transparency is preferred.
  • If multiple images are available, the ones optimized for a white background are preferred.
    • Images optimized for a dark background can be prefixed with dark_
  • The image should be trimmed, so it contains the minimum amount of empty space on the edges. This includes things like white/black/any color borders or transparent spacing around the actual subject in the image.
  • Custom integrations must not use Home Assistant branded images, as this might confuse the end-user into thinking that the integration is an internal/official integration.

Icon image requirements

Additional to the general image requirements listed above, for the icon image, the following requirements are applied as well:

  • Aspect ratio needs to be 1:1 (square).
  • Icon size must be 256x256 pixels, for the hDPI this is 512x512 pixels.
  • The maximum icon pixel size is, of course, preferred.

Logo image requirements

Additional to the general image requirements listed, for the logo image, the following requirements are applied as well:

  • A landscape image is preferred.
  • Aspect ratio should respect the logo of the brand.
  • The shortest side of the image must be at least 128 pixels, 256 pixels for the hDPI version.
  • The shortest side of the image must be no bigger than 256 pixels, 512 pixels for the hDPI version.
  • The maximum pixel size for the shortest side of the images is, of course, preferred.

Using the same image for logo & icon

If the brand uses the same image for the logo and icon (e.g., if the logo has a square aspect ratio), only add the icon images. The icon will be used as a fallback for the logo.

Using the same logo & icon for different brands

To keep the size of this repository as efficient as possible, symlinking domain folders for the same icon/logos is allowed for core integrations. The deployment process at our hosting provider will unpack these symlinks to actual files during the deployment process.

Please note, symlinks should only be created between integration domain directories. The _placeholder & _homeassistant directories are special cases and new directories with an underscore (_) should not be created.

Symlinks are currently not allowed in the custom integrations folder.

The names of directories must always match the integration domain. Additional directories are not allowed.

Integration domain conflict between custom and core integrations

It is possible for a custom integration and a core integration to collide on a domain name level. In these cases, the core integration domain get preference.

Tips, Tools & Resources

When adding a new set of icons and logos, the following resources can help you finding the needed images and getting them to match our specifications:

A lot of brands (especially the larger ones) often offer a press kit on their (corporate) website, that contains high quality images.

All product names, trademarks and registered trademarks in the images in this repository, are property of their respective owners. All images in this repository are used by the Home Assistant project for identification purposes only.

The use of these names, trademarks and brands appearing in these image files, do not imply endorsement.