• Stars
    star
    252
  • Rank 161,312 (Top 4 %)
  • Language
    Shell
  • Created over 4 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🎨 Brands for Home Assistant

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.
  • [email protected]: hDPI version of icon.png
  • [email protected]: 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]/[email protected]
  • https://brands.home-assistant.io/[domain]/[email protected]
  • https://brands.home-assistant.io/_/[domain]/icon.png
  • https://brands.home-assistant.io/_/[domain]/logo.png
  • https://brands.home-assistant.io/_/[domain]/[email protected]
  • https://brands.home-assistant.io/_/[domain]/[email protected]

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 [email protected] file, the icon.png is served instead (if available).
  • If a domain is missing the [email protected] file, 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 are cached on the client-side browser end for 900 seconds, and cached by Cloudflare for 604800 seconds.

Placeholder images are excepted from this. Placeholder images have a 900 seconds cache on the client-side and are cached for 1 hour on Cloudflare. This allows us to replace placeholder images within an acceptable time frame without losing our cache.

Image additions and changes may take time to take effect due to caching. The cache is 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.

Trademark Legal Notices

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.

More Repositories

1

core

🏡 Open source home automation that puts local control and privacy first.
Python
72,637
star
2

operating-system

🔰 Home Assistant Operating System
Python
4,890
star
3

home-assistant.io

📘 Home Assistant User documentation
HTML
4,873
star
4

frontend

🍭 Frontend for Home Assistant
TypeScript
4,014
star
5

android

📱 Home Assistant Companion for Android
Kotlin
2,296
star
6

supervisor

🏡 Home Assistant Supervisor
Python
1,745
star
7

supervised-installer

Installer for a generic Linux system
Shell
1,712
star
8

Iconic

🎨 Auto-generated icon font library for iOS, watchOS and tvOS
Swift
1,577
star
9

iOS

📱 Home Assistant for Apple platforms
Swift
1,567
star
10

addons

➕ Docker add-ons for Home Assistant
Shell
1,540
star
11

homebridge-homeassistant

DEPRECATED in favor of native HomeKit support. -  Homebridge plugin for Home Assistant
JavaScript
684
star
12

intents

Intents to be used with Home Assistant
Python
449
star
13

architecture

Repo to discuss Home Assistant architecture
317
star
14

developers.home-assistant

Developers website for Home Assistant.
JavaScript
302
star
15

home-assistant-js-websocket

🚡 JavaScript websocket client for Home Assistant
TypeScript
272
star
16

os-agent

Daemon allowing to control OS features through D-Bus
Go
271
star
17

hassio-build

🚜 Hass.io build tools
Python
223
star
18

example-custom-config

A collection of example custom components for Home Assistant
Python
206
star
19

hadashboard

🐠 Dashing dashboard for Home Assistant (deprecated)
JavaScript
199
star
20

docker

Home Assistant containers
Dockerfile
198
star
21

cli

🔳 Home Assistant command line interface
Go
195
star
22

addons-example

Example Home Assistant add-on repository
Dockerfile
123
star
23

hassbian-scripts

Scripts used in the Hassbian image.
Shell
123
star
24

ada

Hey Ada!
Python
103
star
25

fabric-home-assistant

📜 Deploy Home-Assistant easily with Fabric
Shell
100
star
26

companion.home-assistant

📖 Home Assistant Companion docs
JavaScript
89
star
27

addons-development

Add-on Repository for Development
Shell
86
star
28

hassil

Intent parsing for Home Assistant
Python
86
star
29

docker-base

Home Assistant base images
Dockerfile
71
star
30

builder

Home Assistant builder script
Shell
69
star
31

data.home-assistant

Data Science Portal for Home Assistant.
JavaScript
65
star
32

home-assistant-notebooks

📓 Sample Jupyter Notebooks to explore Home Assistant data
Jupyter Notebook
63
star
33

scenegen

🎆 Generate Scenes for Home Assistant
Python
62
star
34

home-assistant-js

🐝 JavaScript implementation of the Home Assistant API using NuclearJS
JavaScript
58
star
35

micropython-home-assistant

🐍 Home Assistant client for MicroPython
Python
56
star
36

version

Home Assistant versions data
Shell
56
star
37

assets

🎨 Assets for the Home Assistant project
HTML
48
star
38

ui-schema

A schema to define a user interface for Home Assistant.
41
star
39

alerts.home-assistant.io

Home Assistant Alerts
HTML
40
star
40

HAKit

Swift library for communicating with Home Assistant.
Swift
38
star
41

custom-panel-starter-kit-react

A starter kit to start developing a React based custom panel
JavaScript
35
star
42

my.home-assistant.io

The portal to your home.
TypeScript
34
star
43

buildroot

Buildroot fork with patches for Home Assistant OS
Makefile
32
star
44

services.home-assistant.io

Home Assistant web services
TypeScript
31
star
45

wheels-custom-integrations

Custom integration wheels hosted by Home Assistant
30
star
46

mobile-apps-fcm-push

Push Notification Sender for Home Assistant official mobile apps
JavaScript
29
star
47

wheels

Build wheels for Home Assistant
Python
29
star
48

actions

GitHub Actions for Home Assistant workflows
Python
28
star
49

devcontainer

Custom devcontainers for the home-assistant org
Shell
28
star
50

hubot-home-assistant

💬 Hubot module for interacting with Home Assistant via chat
CoffeeScript
28
star
51

plugin-audio

Pulseaudio implementation for Home Assistant
Shell
26
star
52

analytics.home-assistant.io

Home of the Home Assistant usage stats.
TypeScript
25
star
53

bthome.io

BTHome is a BLE API to broadcast data for your home.
HTML
25
star
54

yellow.home-assistant.io

HTML
24
star
55

plugin-observer

Supervisor plugin observare to monitor host part of Supervisor
Go
23
star
56

plugin-multicast

Multicast implementation for Home Assistant
Dockerfile
22
star
57

connectzbt1.home-assistant.io

HTML
22
star
58

plugin-dns

CoreDNS implementation for Home Assistant
Go
20
star
59

tempio

A template helper for config files
Go
19
star
60

hass-release

Home Assistant release helper scripts
Python
17
star
61

service-hub

Monorepo for NestJS services
TypeScript
15
star
62

probot-home-assistant

Probot to deal with PR/Issue automations for Home Assistant
TypeScript
13
star
63

.github

Default Community Health Files for GitHub Repos
13
star
64

landingpage

JavaScript
11
star
65

plugin-cli

CLI implementation for Home Assistant
Dockerfile
11
star
66

hassbot

HassBot is the chat assistant for the Home Assistant chatrooms on Gitter.
CoffeeScript
10
star
67

wheels-tensorflow

Build wheels for TensorFlow and Home Assistant
Dockerfile
10
star
68

wheels-opencv

Build opencv packages for Home Assistant
10
star
69

bot

Help with maintenance tasks.
TypeScript
9
star
70

lambda-home-assistant-github

:octocat: GitHub hook for the Home Assistant repository
Python
9
star
71

intents-package

Python package of the Home Assistant intents
Python
8
star
72

partner.home-assistant

HTML
8
star
73

deployments

HCL
8
star
74

private-demo

Repository for the private-demo image
Shell
8
star
75

devices

Collection of devices
Python
8
star
76

github-issue-maker

Create GitHub issues based on a template.
Python
7
star
77

hbmqtt-auth-home-assistant

HBMQTT Auth plugin to authenticate against Home Assistant auth
Python
7
star
78

LabelBot

A Lambda function that labels Home Assistant pull requests
JavaScript
7
star
79

green.home-assistant.io

HTML
7
star
80

ci-azure

Helper / Templates for Azure Pipelines
Roff
5
star
81

my-upnp

Go
5
star
82

people

An audit trail for who's meant to be in the Home Assistant GitHub organization - and a place to open issues for security-problem users
5
star
83

codeowners-mention

A Probot app to mention user(s) listed in CODEOWNERS on newly opened issues and PRs that have associated integration labels
JavaScript
4
star
84

operating-system-blobs

Shell
4
star
85

organization

💼 A repository for discussing the organizational matters of Home Assistant
4
star
86

wheels-scipy

wheels-scipy
4
star
87

voice.home-assistant

[Deprecated] Website for all Home Assistant Voice
JavaScript
4
star
88

cosign

Sigstore cosign repository for Home Assistant
4
star
89

login.home-assistant.io

The login to your home.
HTML
3
star