# Integration categories

> The categories people browse integrations by, and how to pick the right ones for your integration.

Source: https://contributors.home-assistant.io/core/integrations/categories/

Integration categories are how people find integrations: on the integrations page of the website, in the Home Assistant app, and in the Marketplace. An integration can list one to three of them in the `categories` key of its [manifest](https://contributors.home-assistant.io/core/integrations/manifest/#categories). The key is optional for now.

## How to choose

Ask yourself one question: what is this, and where would someone look for it? A category describes the product or service, not the entities Home Assistant creates for it.

1. Pick the primary category: the one that says what your integration is for. A thermostat brand is Climate, even when it also creates sensors and switches.
2. Use a subcategory when one clearly fits, like `climate.thermostats_heating`. Otherwise, use the category on its own.
3. Add a second or third category only when your integration really is that too, in a way people would browse for. Shelly makes smart plugs and switches, but also bulbs and energy meters, so it lists all three.

Most integrations need one category. Some guidance for the cases that come up often:

- A hub or bridge that brings in many kinds of devices, like Zigbee or a multi-purpose vendor bridge, goes in Hubs & protocols. A bridge for one kind of product goes in that product's category: Philips Hue is Lighting.
- Generic building blocks, like MQTT, RESTful, or Modbus, go in DIY & makers.
- Helpers go in Helpers first. Add a real-world category only when the helper is clearly about one, like the utility meter, which is also Energy.
- A weather station measures the weather, it doesn't forecast it. Use Weather & alerts on its own, and keep Forecasts for services that actually forecast.

Entity and system integrations, like `light` or `recorder`, are not something people browse for and have no categories. Neither do virtual integrations: they show the categories of the integration they point to.

## All categories

Every category below lists the values you can put in `categories`. Some categories have subcategories, to narrow it down: use the category on its own when your integration covers more of it, and the subcategory when one fits. A smart thermostat is `climate.thermostats_heating`. A brand that makes thermostats, air conditioners, and fans is `climate`.

Find a category by what your integration is for, like "thermostat" or "pool", or jump to one.

- AI & voice: AI models and agents, voice assistants, speech-to-text, text-to-speech and image recognition.
  - AI & voice, in general: `ai_voice`
  - AI models: `ai_voice.ai_models`
  - Image recognition: `ai_voice.image_recognition`
  - Speech: `ai_voice.speech`
  - Voice assistants: `ai_voice.voice_assistants`
- Appliances & cleaning: Cooking and kitchen appliances (ovens, coffee machines, sous vide, cooking thermometers, brewing), laundry, robot vacuums and mops, and fragrance diffusers.
  - Appliances & cleaning, in general: `appliances_cleaning`
  - Cleaning: `appliances_cleaning.cleaning`
  - Cooking: `appliances_cleaning.cooking`
  - Laundry: `appliances_cleaning.laundry`
- Blinds & curtains: Blinds, curtains, shutters, awnings, garage doors and gates.
  - Blinds & curtains: `blinds_curtains`
- Buttons & remotes: Smart buttons, remote controls, and infrared or radio blasters that control other devices.
  - Buttons & remotes: `buttons_remotes`
- Climate: Heating, cooling and ventilation: thermostats, heat pumps, air conditioners, fans, humidifiers, air purifiers and water heaters.
  - Climate, in general: `climate`
  - Air purifiers & humidifiers: `climate.air_purifiers_humidifiers`
  - Fans & ventilation: `climate.fans_ventilation`
  - Heat pumps & air conditioning: `climate.heat_pumps_air_conditioning`
  - Thermostats & heating: `climate.thermostats_heating`
  - Water heaters: `climate.water_heaters`
- Computers & network: Routers, NAS, servers, printers, 3D printers, cloud hosting, developer tools and uptime monitoring.
  - Computers & network, in general: `computers_network`
  - Cloud & developer tools: `computers_network.cloud_developer_tools`
  - Monitoring: `computers_network.monitoring`
  - NAS & servers: `computers_network.nas_servers`
  - Printers: `computers_network.printers`
  - Routers & network: `computers_network.routers_network`
- DIY & makers: Build your own: firmware, message brokers, and generic connectors for web APIs, databases, serial ports and Modbus.
  - DIY & makers, in general: `diy_makers`
  - Boards & hardware interfaces: `diy_makers.boards_hardware`
  - Web & data connectors: `diy_makers.web_data_connectors`
- Energy: Solar panels, home batteries, energy meters, EV chargers, generators, UPS, gas and propane tanks, and energy prices.
  - Energy, in general: `energy`
  - Backup power: `energy.backup_power`
  - Energy prices: `energy.energy_prices`
  - EV charging: `energy.ev_charging`
  - Meters & monitoring: `energy.meters_monitoring`
  - Solar & batteries: `energy.solar_batteries`
- Finance: Bank accounts, budgeting tools, stocks, currency exchange rates and cryptocurrency.
  - Finance: `finance`
- Garden & plants: Irrigation, lawn mowers, plant sensors, hydroponics and greenhouses.
  - Garden & plants: `garden_plants`
- Health & wellbeing: Scales, toothbrushes, sleep and fitness tracking, glucose monitoring and baby care.
  - Health & wellbeing: `health_wellbeing`
- Helpers: Entities you create yourself, without a device behind them: toggles, numbers, timers and schedules, and values calculated from other entities.
  - Helpers, in general: `helpers`
  - Calculate a value: `helpers.calculate_value`
  - Store a value: `helpers.store_value`
- Hubs & protocols: Smart home hubs and radio protocols that each bring in many kinds of devices.
  - Hubs & protocols, in general: `hubs_protocols`
  - Building automation: `hubs_protocols.building_automation`
  - Smart home hubs: `hubs_protocols.smart_home_hubs`
  - Wireless protocols: `hubs_protocols.wireless_protocols`
- Lighting: Smart bulbs, light strips, fixtures and lighting systems.
  - Lighting, in general: `lighting`
  - Bulbs & lamps: `lighting.bulbs_lamps`
  - LED strips & controllers: `lighting.led_strips_controllers`
  - Lighting systems: `lighting.lighting_systems`
- Local services: Waste collection, power outages, parking, fuel prices and other city or utility information.
  - Local services: `local_services`
- Media & entertainment: TVs, speakers, streaming, music services, receivers, game consoles, game servers and radio.
  - Media & entertainment, in general: `media_entertainment`
  - Gaming: `media_entertainment.gaming`
  - Music & radio services: `media_entertainment.music_radio_services`
  - Speakers & audio: `media_entertainment.speakers_audio`
  - TV & streaming: `media_entertainment.tv_streaming`
- Messaging & notifications: Send and receive messages: push notifications, email, chat apps, SMS and phone calls.
  - Messaging & notifications, in general: `messaging_notifications`
  - Chat apps: `messaging_notifications.chat_apps`
  - Email, SMS & calls: `messaging_notifications.email_sms_calls`
  - Push notifications: `messaging_notifications.push_notifications`
- News & social media: Follow news and RSS feeds, and follow or post to social networks, blogs and video channels.
  - News & social media: `news_social_media`
- Other ecosystems: Use your Home Assistant devices in Apple Home, Alexa, Google Assistant and other platforms.
  - Other ecosystems: `other_ecosystems`
- Pets: Feeders, litter boxes, pet doors, pet trackers and aquariums.
  - Pets: `pets`
- Plugs & switches: Smart plugs, light switches, dimmers and relays.
  - Plugs & switches: `plugs_switches`
- Presence & location: Know who is home and where devices are: phones, trackers and network presence.
  - Presence & location, in general: `presence_location`
  - Network presence: `presence_location.network_presence`
  - Phones & companion apps: `presence_location.phones_companion_apps`
  - Trackers: `presence_location.trackers`
- Productivity & information: Calendars, to-do and shopping lists, grocery delivery, package tracking, documents, photos and bookmarks.
  - Productivity & information, in general: `productivity_information`
  - Calendars & to-dos: `productivity_information.calendars_todos`
  - Documents & photos: `productivity_information.documents_photos`
  - Shopping & groceries: `productivity_information.shopping_groceries`
- Security & safety: Cameras, doorbells, locks, keypads, alarm systems, sirens, and smoke alarms.
  - Security & safety, in general: `security_safety`
  - Alarm systems: `security_safety.alarm_systems`
  - Cameras: `security_safety.cameras`
  - Doorbells & intercoms: `security_safety.doorbells_intercoms`
  - Locks & access: `security_safety.locks_access`
  - Smoke & CO alarms: `security_safety.smoke_co_alarms`
- Sensors: Motion, door and window, temperature, humidity and air quality sensors.
  - Sensors, in general: `sensors`
  - Air quality: `sensors.air_quality`
  - Door & window: `sensors.door_window`
  - Motion & presence: `sensors.motion_presence`
  - Temperature & humidity: `sensors.temperature_humidity`
- Vehicles & transport: Cars, EVs, e-bikes, public transport and flight tracking.
  - Vehicles & transport, in general: `vehicles_transport`
  - Bikes & scooters: `vehicles_transport.bikes_scooters`
  - Cars & EVs: `vehicles_transport.cars_evs`
  - Flights: `vehicles_transport.flights`
  - Public transport: `vehicles_transport.public_transport`
- Water: Water meters, leak detection, softeners and filters, tanks, pools and spas.
  - Water, in general: `water`
  - Meters & leak detection: `water.meters_leak_detection`
  - Pools & spas: `water.pools_spas`
  - Water treatment: `water.water_treatment`
- Weather & alerts: Forecasts, outdoor air quality, pollen, and public warnings for storms, floods, earthquakes or air raids.
  - Weather & alerts, in general: `weather_alerts`
  - Air quality & pollen: `weather_alerts.air_quality_pollen`
  - Forecasts: `weather_alerts.forecasts`
  - Public warnings: `weather_alerts.public_warnings`
