Homey integration for Home Assistant - Now Available! 🎉

Hey Homey community!

So, I’ve been sitting here waiting for someone to create a proper Home Assistant integration for Homey… and well, I got tired of waiting. So I built one myself! :grinning_face_with_smiling_eyes:

What is this?

This is a custom Home Assistant integration that automatically discovers and connects all your Homey devices, making them available natively in Home Assistant. No more manual configuration, no more workarounds - just install, configure, and go!

What does it support?

Pretty much everything:

  • :light_bulb: Lights - Full control including dimming, color (HS), and color temperature

  • :electric_plug: Switches - On/off control

  • :bar_chart: Sensors - Temperature, humidity, pressure, power, voltage, current, luminance, CO2, CO, noise, rain, wind, UV, PM2.5/PM10, VOC, AQI, frequency, gas, soil moisture/temperature, energy, and more - automatically detects ALL measure_* and meter_* capabilities

  • :police_car_light: Binary Sensors - Motion, contact, tamper, smoke, CO/CO2 alarms, water leak, battery, gas, fire, panic, burglar, vibration, and more - automatically detects ALL boolean capabilities

  • :window: Covers - Window coverings and garage doors with position and tilt control

  • :thermometer: Climate - Thermostat support with target temperature, humidity control, and HVAC modes (OFF, HEAT, COOL, AUTO, HEAT_COOL). Supports custom thermostats like ThermoFloor

  • :cyclone: Fans - Speed control

  • :locked: Locks - Lock state and control

  • :speaker_high_volume: Media Players - Volume, play/pause, next/prev track, shuffle, repeat, and full metadata support

  • :clapper_board: Homey Flows - Trigger your automations from Home Assistant as button entities or via service calls! Supports both Standard and Advanced Flows

  • :radio_button: Buttons - Physical device buttons appear as Button entities for automation triggers

  • :clipboard: Select Entities - Automatic creation for enum capabilities (modes, programs, settings, etc.)

  • :1234: Number Entities - Numeric input controls for settable numeric capabilities

  • :robot: Vacuum Cleaners - Full vacuum control with cleaning modes, docking, and status monitoring

  • :battery: Battery Devices - Comprehensive battery storage system support

  • :seedling: Lawn Mowers - Support for Gardena and other lawn mower devices

  • :snowflake: Heat Pumps - Full support with operating programs and controls

  • :sun: Solar Panels - Energy generation monitoring and grid delivery tracking

  • :performing_arts: Scenes & Moods - Activate Homey scenes and moods directly from Home Assistant

  • :busts_in_silhouette: Devicegroups - Full support for Homey devicegroups plugin groups (any class type)

Cool Features

  • Automatic Device Discovery - Just add the integration and all your devices appear

  • Universal Capability Detection - Automatically detects and supports ALL measure_*, meter_*, and alarm_* capabilities, even unknown ones

  • Device Selection - Choose which devices to import during setup, or manage them later via the integration options

  • Smart Device Grouping - All entities from the same device are grouped together

  • Automatic Synchronization - Device name changes, room moves, and deletions sync automatically from Homey

  • Room Organization - Devices are automatically assigned to Home Assistant Areas based on your Homey rooms (user-assigned areas are preserved)

  • Fast Status Updates - Device states update immediately after your actions (1-2 seconds), with background polling every 10 seconds to catch changes made outside Home Assistant

  • Robust API Handling - Automatically discovers the correct Homey API endpoints and handles different API structures

  • Self-Hosted Server Support - Works with Homey Self-Hosted Server using HTTPS URLs (supports self-signed certificates)

  • Energy Dashboard Integration - Full compatibility with Home Assistant’s Energy dashboard, including proper currency normalization for price sensors

  • Permission Management - Comprehensive permission checking with graceful degradation - integration works even with limited permissions


How do I install it?

  1. Create an API Key in Homey:
    • Go to Homey Web AppSettingsAPI Keys
    • Click “New API Key
    • Give it a name (e.g., “Home Assistant”)
    • Grant the necessary permissions:
  • Required Permissions:

    • View devices (homey.device.readonly) - Required to read device states and discover devices

    • Control devices (homey.device.control) - Required to control devices (turn on/off, set brightness, etc.)

    • View System (homey.system.readonly) - Required for Socket.IO real-time updates

  • Recommended Permissions:

    • View Zones (homey.zone.readonly) - Recommended for room/area organization. Without this, devices won’t be organized by Homey rooms.
    • View Flows (homey.flow.readonly) - Recommended to list Flows (needed for Flow button entities and service calls using flow names)
    • Start Flows (homey.flow.start) - Recommended to trigger, enable, and disable Flows
    • View Moods (homey.mood.readonly) - Recommended to list Moods (needed for Mood entities)
    • Set Moods (homey.mood.set) - Recommended to trigger Moods
  • Copy the API key (you won’t see it again!)
  1. Install the integration in Home Assistant:

    Option A - HACS (Recommended):

    • Install HACS if you haven’t already
    • Go to HACS → Integrations
    • Click the three dots menu (⋮) → Custom repositories
    • Add repository: https://github.com/ifMike/homeyHASS
    • Category: Integration
    • Search for “Homey” and click Download
    • Restart Home Assistant

    Option B - Manual Installation:

    • Download or clone from GitHub: https://github.com/ifMike/homeyHASS
    • Copy the custom_components/homey folder to your Home Assistant custom_components directory
    • Restart Home Assistant
  2. Configure the integration:

    • Go to Settings → Devices & Services → Add Integration
    • Search for “Homey”
    • Enter your Homey IP address and API key
    • Select devices (optional) - Choose which devices to import, or import them all
  3. Done! All your devices should appear automatically.

Homey Self Hosted Server Configuration

If you’re using Homey Self Hosted Server (SHS), you need to specify the port number in the host address:

Host Format: IP_ADDRESS:PORT

Example: 192.168.1.100:4859

  • Default HTTP Port: Homey Self Hosted Server uses port 4859 for HTTP connections

See more details about this in the README.MD


For detailed instructions, troubleshooting, and permission requirements, see the GitHub README: GitHub - ifMike/homeyHASS: A Homey integration for Home Assistant that automatically discovers and connects all your Homey devices, making them available natively in Home Assistant.


:warning: Quick heads-up for the older Homey gang: If you’re on Homey (Pro) Early 2016–2019 (aka “no Local API club”), this integration won’t work.

The good news: you can still bridge Homey ↔ Home Assistant using the universal MQTT approach.

How-to: [TUTORIAL][PRO] How to integrate Home Assistant with Homey Pro and v.v


Important Notes

:warning: This is a work in progress! It works great for me, but I’m just one guy with too much time on his hands. Expect occasional bugs, updates, and the occasional “oops, that broke something” moment. :man_shrugging:

I just wanted to share it with the community because I know there are others out there who want to bridge Homey and Home Assistant.

Try it out!

If you’re using Home Assistant and want to connect your Homey devices, give it a try! I’d love to hear:

  • What works well

  • What doesn’t work

  • What features you’d like to see

  • Any bugs you encounter

GitHub: GitHub - ifMike/homeyHASS: A Homey integration for Home Assistant that automatically discovers and connects all your Homey devices, making them available natively in Home Assistant.

Feel free to open issues, submit pull requests, or just let me know what you think!

Happy automating! :rocket:

P.S. - This is not officially affiliated with Athom or Home Assistant. Just a community project made by someone who got tired of waiting for someone else to build it.

15 Likes

Nice work! Although it was possible with MQTT alr.

1 Like

Another app? I use this one.

That app is for exposing HA devices to Homey, isnt it?

This new app is for exposing Homey devices to HA (I have no idea why you would not directly add those devices to HA, but hey :man_shrugging:t3:).

1 Like

Ah ok. Misinterpreted that. Yeah agreed.

Thanks. And yes, I know it works through MQTT but I was having so much trouble with the broker/hub/client and had to restart Homey several times. I just thought that there must be an easier way to get the devices to show up.

For me, HA is not my main smart home controller. I use Homey. But I do have some use for it.
i.e. I have a Shelly Wall Panel XL that has Home Assistant. So I wanted to easily control my Homey devices from that panel.

The reason for this “integration” to even exist is because I’ve been searching for it and I know other people have too. And I know people have struggled with getting MQTT to work.

Also, I actually got Homey Dashboard (full app) to work on the Shelly Wall Display XL. Just some small issues.

3 Likes

How do you manage to put Homey on the Shelly panel?

[REMOVED MY GUIDE HERE]

I have answered this in another tread so we don’t clutter this one with non related stuff:

1 Like

I agree, to get it going with MQTT is quite a bit of work, and damn precise configuration..
When I finally got it working, I decided to add a tutorial here.

When your integration can be added per HACS in the future, it would be very easy, imho, to just about anyone to add Homey devices to HA.

1 Like

I’ll try to make that happen when I’ve achieved a good enough state on the integration!
Just made a big update based on your feedback, thanks! :smiley:

A lot of changes were made in the 1.0.1 (maybe should have been a 1.1.0)

2 Likes

I haven’t found the time to install your integration yet. As a Homey/Home Assistant enthusiast, I’m curious to see if your solution can replace my MQTT-HUB and MQTT client combination.
Installation via HACS would also make things much easier for inexperienced users.

This is awesome work :clap:
Huge thanks for taking the initiative and sharing this with the community. Automatic discovery, room/area mapping, and Homey Flows support are especially impressive — that’s exactly what many of us have been waiting for.

I’ll definitely give it a try and report back with feedback and any issues I find. Really appreciate you being open to feature requests and PRs as well. Great contribution to bridging Homey and Home Assistant

1 Like

I just imported 300 devices :exploding_head::water_pistol: from Homey early26. I now have enough to test before I import early23.

As mentioned above, my main goal is to be able to switch off the MQTT hub and the MQTT client. Compared to its usefulness, it consumes a lot of memory. The Mosquitto broker runs in Docker on Home Assistant anyway.
It’s already clear that your programme can handle large installations.


Greetings from Germany

2 Likes

Another update - 1.0.2

This release adds support for Advanced Flows :tada:

Both Standard Flows and Advanced Flows are now discovered automatically and exposed as dashboard buttons, making them equally easy to trigger.

Flows are added as entities in the integration:
image

How to Test

You can quickly verify this using HA Developer Tools:

  1. Go to Developer Tools → Actions

  2. Select:

  • Action: trigger_flow
  • Owner: homey.trigger.flow
  1. Run the action with the following payload:
action: homey.trigger_flow
data:
  flow_name: "<your-flow>"

(Flow name matching is case-insensitive.)

- Fixed flow endpoint from /api/manager/flows/flow to /api/manager/flow/flow (singular)
- Added Advanced Flows support via /api/manager/flow/advancedflow endpoint
- Improved flow discovery to fetch both Standard and Advanced Flows
- Added case-insensitive flow name matching
- Updated README with user-friendly permission names matching Homey UI
- Added comprehensive update guide to README

3 Likes

Please let me know as soon as the integration is available in HACS. I will then describe to the people in the German forum how to install the integration. I would like to avoid having to manually install the update every time there is a change.

that is cool. exposing homey devices to HA. personally i do not have a use case yet, as my ha is a simple slave for homey , for its bluetooth and garmin integrations.

Will do! I’m still troubleshooting stuff so I really want it to be stable first. It’s already working pretty good, but it could be better.

Next update will include fixes and new features. I’ve already implemented a new version on my machine locally. I fixed bugs, and created completely new ones. I just need to test everything to the best of my ability. Hold on… haha :slight_smile:

Fixes

  1. Humidity conversions — Handles normalized (0-1) and percentage (0-100) values for humidity sensors and climate controls

  2. Climate bug — Fixed capabilities used before definition in climate platform initialization

  3. Migration buttons — Filtered out internal Homey migration capabilities (button.migrate_v3) from appearing as button entities

New features

  1. Scene platform — Homey scenes appear as scene entities in Home Assistant

  2. Moods support — Homey moods appear as scene entities (with different icon)

  3. Physical device buttons — Physical device buttons (button, button.1, etc.) appear as button entities

  4. Number platform — Ready for numeric control capabilities (placeholder for future capabilities)

  5. Select platform — Ready for mode/option selection capabilities (placeholder for future capabilities)

  6. Flow management services — Added homey.enable_flow and homey.disable_flow services to enable/disable flows

Enhanced features

  1. Climate humidity — Added current and target humidity support with proper conversions

  2. Sensor capabilities — Added support for noise, rain, wind, UV, PM2.5/PM10, VOC, AQI, frequency, gas, soil moisture/temperature, energy

  3. Binary sensor capabilities — Added support for gas, fire, panic, burglar, generic, maintenance alarms, button, vibration

  4. Media player metadata — Added artist, album, track, duration, position, shuffle, repeat support

1 Like

It’s now available in HACS with 1.1.0 update. I’ve also added HACS instructions to the README.MD.

Changelog:

Please report any issues you find! Thanks!

3 Likes

Maybe just me. This was working before, but then I saw that you added to HACS so I updated. Now it says it cannot retrieve devices? Anyone else having an issue? I’m on 1.1.0