# Install Homebridge on Windows 10 and 11 (https://docs.homemanager-app.de/guide/install-windows)





Installing Homebridge on an existing Windows PC is a practical way to evaluate the system without buying dedicated hardware. It lets you test whether your lights, switches, or cameras integrate reliably with Apple Home before committing to a permanent server.

<Callout type="warn">
  **Is Windows suitable as a 24/7 server?**

  A standard Windows computer has several drawbacks for continuous smart home operation:

  * An average desktop or gaming PC uses 30 to 60 watts at idle. That adds up to 80 to 150 USD per year in electricity. A dedicated [Raspberry Pi](/guide/install-raspberry-pi) uses only 3 to 5 watts.
  * If Windows enters sleep mode or a laptop lid is closed, Homebridge pauses and your accessories go offline.
  * Some Windows network drivers filter multicast traffic (mDNS). The Homebridge project explicitly warns about this because Apple devices can lose communication with the bridge.

  For initial testing or on a low-power mini PC that already runs continuously, a native Windows service is still a workable option.
</Callout>

<Cards>
  <Card icon="<HelpCircle />" title="Looking for a permanent server?" description="If you need a low-maintenance 24/7 setup, compare Raspberry Pi, Synology NAS, and Docker in our hardware guide." href="/guide/choose-your-system" />
</Cards>

***

## When a Windows installation makes sense [#when-a-windows-installation-makes-sense]

Installing on Windows works well in two situations:

* You want to verify whether functional plugins exist for your accessories and test how reliably Apple Home controls them before purchasing a dedicated Raspberry Pi. The resulting configuration can be exported as a backup and moved to a permanent server later.
* You already run a low-power x86 machine (such as an Intel N100 mini PC) around the clock as a home or media server, and want Homebridge running alongside your existing workloads.

<Callout type="info">
  For continuous production use on Windows 10 or 11 Pro, the Homebridge project recommends running inside a Linux virtual machine using Hyper-V. This isolates server services from the host operating system and avoids Windows network quirks. Step-by-step instructions are available in the [official Hyper-V guide in the Homebridge wiki](https://github.com/homebridge/homebridge/wiki/Install-Homebridge-on-Windows-10-Using-Hyper-V). For initial tests, installing directly as a Windows service works fine.
</Callout>

***

## Prerequisites [#prerequisites]

Before starting, you need:

* A PC running a 64-bit version of Windows 10 or 11
* A user account with administrator privileges
* A network connection to your router (an Ethernet cable provides the most reliable connection, though Wi-Fi also works)
* The Node.js LTS installer (64-bit `.msi` from [nodejs.org](https://nodejs.org))

***

## Step-by-step: Installation as a Windows service [#step-by-step-installation-as-a-windows-service]

<Steps>
  <Step>
    ### Install Node.js LTS [#install-nodejs-lts]

    1. Download the 64-bit Windows installer (`.msi`) for the active LTS release from [nodejs.org](https://nodejs.org).
    2. Run the installer and proceed with the default options.
    3. Skip the optional checkbox for automatically installing native build tools (*Automatically install the necessary tools*). Standard plugins do not require them.
  </Step>

  <Step>
    ### Open a terminal as administrator [#open-a-terminal-as-administrator]

    Installing global packages and registering a background service requires elevated permissions.

    Search for **Node.js Command Prompt** (or **PowerShell**) in the Start menu, right-click it, and select **Run as Administrator**.

    <Callout type="info">
      If you use PowerShell and encounter an *ExecutionPolicy* error (`running scripts is disabled on this system`), allow scripts for your current session:

      ```powershell
      Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
      ```
    </Callout>

    Verify that Node.js and npm are available:

    ```powershell
    node -v
    npm -v
    ```
  </Step>

  <Step>
    ### Install Homebridge and the web interface [#install-homebridge-and-the-web-interface]

    Install Homebridge and `homebridge-config-ui-x` globally:

    ```powershell
    npm install -g --allow-scripts=homebridge-config-ui-x,@homebridge/node-pty-prebuilt-multiarch homebridge homebridge-config-ui-x
    ```

    The `--allow-scripts` flag permits newer npm versions to configure terminal helper binaries without interactive prompts.
  </Step>

  <Step>
    ### Register the Windows service [#register-the-windows-service]

    To keep Homebridge running after you close the console window, install it as a Windows background service:

    ```powershell
    hb-service install
    ```

    This command creates and starts a service named `Homebridge` in the Windows Service Control Manager. Your configuration and installed plugins are stored in `%USERPROFILE%\.homebridge`.
  </Step>

  <Step>
    ### Allow access in Windows Defender Firewall [#allow-access-in-windows-defender-firewall]

    During service startup, the Windows Defender Firewall usually displays a prompt for Node.js:

    1. Check the box for **Private networks**.
    2. Click **Allow access**.

    <Callout type="warn">
      If access is denied or restricted to public networks, the firewall blocks incoming connections. Apple Home and mobile apps will not be able to discover the bridge.
    </Callout>
  </Step>
</Steps>

***

## Windows settings to prevent connection drops [#windows-settings-to-prevent-connection-drops]

To keep the service reachable and prevent accessories from showing a "No Response" status in Apple Home, adjust these Windows settings:

### 1. Disable sleep and hibernation [#1-disable-sleep-and-hibernation]

When Windows enters sleep mode, background services stop and accessories report *No Response* in Apple Home.

1. Open Windows Settings with `Windows Key + I`.
2. Go to **System > Power & battery** (on Windows 10: *System > Power & sleep*).
3. Set sleep options to **Never**.
4. If you are using a laptop, open the classic Control Panel power settings and configure: *When I close the lid: Do nothing*.

### 2. Set your network profile to Private [#2-set-your-network-profile-to-private]

Windows often sets new network connections to Public by default. In this mode, incoming discovery packets are dropped:

1. Open Windows Settings and navigate to **Network & internet**.
2. Select your active connection (Ethernet or Wi-Fi).
3. Change the network profile type from *Public* to **Private network**.

### 3. Disable network adapter power saving [#3-disable-network-adapter-power-saving]

Some network cards turn off or enter low-power modes during quiet periods:

1. Right-click the Start button and open **Device Manager**.
2. Expand the **Network adapters** section and double-click your active network card.
3. Switch to the **Power Management** tab.
4. Clear the checkbox labeled **Allow the computer to turn off this device to save power**, then click **OK**.

### 4. Configure active hours for Windows updates [#4-configure-active-hours-for-windows-updates]

To prevent automatic updates from restarting the computer during active hours:

1. Open Windows Settings and navigate to **Windows Update > Advanced options**.
2. Set your **Active hours** so update restarts only happen late at night.
3. Homebridge restarts automatically when Windows boots.

***

## Connecting and Initial Setup [#connecting-and-initial-setup]

Once the service is active, Homebridge is available on your local network. The web interface (`homebridge-config-ui-x`) acts as the browser dashboard and provides the API that Homemanager connects to.

The instance runs unencrypted over port `8581` by default.

Because this is a fresh setup without existing accounts, you create an administrator account during the first connection. You can do this in the app or in a browser:

<Tabs items="[&#x22;Homemanager (iOS & iPadOS)&#x22;, &#x22;Homebridge Web Interface&#x22;]">
  <Tab>
    ### Setup with Homemanager [#setup-with-homemanager]

    Homemanager lets you manage instances on iPhone and iPad, monitor live logs, and configure plugins.

    <Steps>
      <Step>
        #### Discover the server [#discover-the-server]

        Open Homemanager while connected to the same Wi-Fi network as your PC. Tap **Connect to Server** during initial launch (or **Add Platform** in the platform list). The app scans the local network using mDNS and Bonjour.
      </Step>

      <Step>
        #### Select the instance [#select-the-instance]

        Choose the detected server from the list. It shows the Homebridge icon (default name: `homebridge` or your computer name) and port `8581`.
      </Step>

      <Step>
        #### Create an administrator account [#create-an-administrator-account]

        Homemanager detects the new server and opens the **Create new User** screen. Enter a display name, username (such as `admin`), and password, then tap **Create and Log In**.
      </Step>
    </Steps>

    The account is created directly on the server, credentials are saved securely in your iOS Keychain, and Homemanager connects immediately.

    <Callout type="info">
      Discovery issues or router filters mDNS packets? Refer to [Connecting Servers to Homemanager](/guide/connecting-servers) for manual IP and port configuration and network troubleshooting.
    </Callout>
  </Tab>

  <Tab>
    ### Setup in the Web Browser [#setup-in-the-web-browser]

    To configure the server from your Windows PC or another computer on the network, open the interface in a desktop browser.

    <Steps>
      <Step>
        #### Open the URL [#open-the-url]

        Navigate to the web interface in your browser:

        * On the Windows PC: `http://localhost:8581`
        * From another computer on the network: `http://<windows-ip-address>:8581`
      </Step>

      <Step>
        #### Create an account or restore a backup [#create-an-account-or-restore-a-backup]

        Enter a username and password for the admin account. If migrating from an earlier setup, you can restore a backup archive here instead.
      </Step>
    </Steps>

    After signing in, the dashboard displays the HomeKit pairing code.
  </Tab>
</Tabs>

<Callout type="info">
  This account is your **Homebridge administrator** for the dashboard and the Homemanager app. It is completely independent of your Windows user login.
</Callout>

***

## Service management and commands [#service-management-and-commands]

You manage the background service using `hb-service` in an elevated terminal (Node.js Command Prompt or PowerShell).

### Control the service [#control-the-service]

```powershell
# Stop or start Homebridge
hb-service stop
hb-service start

# Restart Homebridge
hb-service restart

# View live service logs
hb-service logs
```

### File locations on Windows [#file-locations-on-windows]

Configuration files, plugins, and logs are stored in the user profile directory where the service was installed:

| Item                           | Windows Path                               |
| :----------------------------- | :----------------------------------------- |
| **Configuration file**         | `%USERPROFILE%\.homebridge\config.json`    |
| **Log file**                   | `%USERPROFILE%\.homebridge\homebridge.log` |
| **Persistent storage & cache** | `%USERPROFILE%\.homebridge\persist\`       |
| **Service manager (NSSM)**     | `%USERPROFILE%\.homebridge\nssm.exe`       |

<Callout type="warn">
  Never edit `config.json` using word processors like Word or WordPad. These programs add invisible formatting characters that break JSON syntax. Use the web dashboard, the Homemanager app, or a code editor such as Visual Studio Code instead.
</Callout>

### Updating Node.js on Windows [#updating-nodejs-on-windows]

The `hb-service update-node` command available on Linux does not work on Windows. To update Node.js to a newer LTS release:

1. Stop the service in an administrator console:
   ```powershell
   hb-service stop
   ```
2. Download and run the newer Node.js LTS installer from [nodejs.org](https://nodejs.org).
3. Rebuild your installed modules for the new Node.js version:
   ```powershell
   hb-service rebuild
   ```
4. Start the service again:
   ```powershell
   hb-service start
   ```

### Uninstalling Homebridge [#uninstalling-homebridge]

To remove Homebridge and the Windows service:

```powershell
# 1. Unregister and stop the background service
hb-service uninstall

# 2. Remove global npm packages
npm uninstall -g homebridge homebridge-config-ui-x
```

You can then delete the `.homebridge` folder in your user profile directory.

***

## Frequently asked questions and troubleshooting [#frequently-asked-questions-and-troubleshooting]

<Accordions>
  <Accordion title="Homemanager or the browser cannot connect to Homebridge">
    Under Windows, connection failures almost always stem from network settings:

    * Confirm that your network connection is set to *Private network* in Windows Settings. Public network profiles reject inbound traffic.
    * Open *Windows Defender Firewall with Advanced Security* and check that inbound rules for `node.exe` or `Homebridge` are active.
    * If your router fails to resolve `homebridge.local`, open the dashboard or the app using your computer's local IP address (for example, `http://192.168.1.50:8581`).
    * Run `hb-service logs` in the console to verify that the service started cleanly.
    * For additional troubleshooting steps, see our guide on [resolving startup errors](/guide/troubleshooting-startup-errors).
  </Accordion>

  <Accordion title="Accessories report 'No Response' after some time">
    If accessories lose connection after an initial period of normal operation, the computer has likely entered sleep mode:

    * Verify in Windows power options that sleep is set to *Never*.
    * In Device Manager, open your network card properties and clear *Allow the computer to turn off this device to save power*.
    * Connect the computer with an Ethernet cable. Some Wi-Fi cards throttle speeds or drop multicast packets when idle.
    * For deeper network diagnostics, consult our guide on [fixing 'No Response' in Apple Home](/guide/troubleshooting-no-response).
  </Accordion>

  <Accordion title="Port 8581 is already in use">
    If port 8581 is occupied by another application on your computer, service installation fails or the web dashboard cannot start:

    * You can specify an alternate port (such as 8080) during installation:
      ```powershell
      hb-service install --port 8080
      ```
    * If the service is already installed, open `%USERPROFILE%\.homebridge\config.json`, change the `port` value in the `homebridge-config-ui-x` section, and restart the service with `hb-service restart`.
  </Accordion>

  <Accordion title="Forgotten Homebridge password">
    If you lose your password for the web dashboard or the Homemanager app, reset it from an administrator terminal:

    ```powershell
    hb-service reset-admin
    ```

    This resets credentials to `admin` / `admin` so you can log back in and assign a new password immediately.
  </Accordion>

  <Accordion title="Plugin installation errors (spawn git ENOENT or node-gyp)">
    Some plugins require extra build dependencies:

    * If an install fails with `spawn git ENOENT`, install [Git for Windows](https://git-scm.com/downloads) and restart your console.
    * If a plugin requires compiling native C++ code (errors mentioning `node-gyp`), install the build tools from an administrator console:
      ```powershell
      npm install --global windows-build-tools
      ```
  </Accordion>

  <Accordion title="How to migrate to a Raspberry Pi later">
    When moving your installation to a dedicated server like a [Raspberry Pi](/guide/install-raspberry-pi) or a NAS, you can transfer your configuration directly:

    1. Download a backup archive using the backup feature in the web dashboard or Homemanager.
    2. Set up the new server.
    3. Restore the backup archive during initial setup. All plugins, settings, and Apple Home pairings carry over without reconfiguration.
  </Accordion>
</Accordions>

***

## Next steps [#next-steps]

Once your test setup is running, you can start integrating accessories:

1. **Pair with Apple Home:**
   Open the Apple Home app on your iPhone, tap the plus icon, choose *Add Accessory*, and scan the QR code from Homemanager or the web interface.
   [Guide to pairing with Apple Home](/guide/pairing-apple-home)

2. **Install plugins:**
   Search through Homemanager or the web dashboard for integrations covering your hardware, such as Tuya, Ring, Shelly, or local smart devices.
   [Tips for finding and evaluating plugins](/guide/finding-plugins)

3. **Set up child bridges:**
   Run major plugins as independent child bridges. If one plugin crashes, the rest of your smart home continues working without interruption.
   [Learn more about child bridges](/guide/child-bridges)

***

## Further links [#further-links]

### Guides in the Homemanager documentation [#guides-in-the-homemanager-documentation]

* [How to Install Homebridge: All Methods](/guide/install-homebridge)
* [Choose the right hardware: System comparison](/guide/choose-your-system)
* [Raspberry Pi setup guide: Recommended 24/7 platform](/guide/install-raspberry-pi)
* [Startup Errors & Log Analysis](/guide/troubleshooting-startup-errors)
* [Troubleshooting startup errors](/guide/troubleshooting-startup-errors)
* [Fixing 'No Response' in Apple Home](/guide/troubleshooting-no-response)

### Official Homebridge resources [#official-homebridge-resources]

* [Official Homebridge Windows 10 & 11 wiki](https://github.com/homebridge/homebridge/wiki/Install-Homebridge-on-Windows-10)
* [Official Hyper-V installation guide](https://github.com/homebridge/homebridge/wiki/Install-Homebridge-on-Windows-10-Using-Hyper-V)
* [Homebridge Service Command (hb-service) reference](https://github.com/homebridge/homebridge-config-ui-x/wiki/Homebridge-Service-Command)
* [Homebridge troubleshooting guide](https://github.com/homebridge/homebridge/wiki/Homebridge-Troubleshooting)
