# Package com.codename1.home.spi

package com.codename1.home.spi

The service-provider interface each platform port implements to back `SmartHome`.

Application code never touches this. Use `com.codename1.home`; the bridge is obtained from `com.codename1.ui.Display#getHomeBridge()`, and the base implementation returns `null`, which is why the public API degrades to a harmless no-op on ports with no smart-home support.

It is public rather than package-private because the ports live in `com.codename1.impl.ios`, `com.codename1.impl.android` and `com.codename1.impl.javase`.

- Related Packages
  Package
  Description
  com.codename1.home
  A cross-platform smart-home API: read the home's accessories, read and write what they can do, watch them for change, run scenes, and add new Matter accessories.
  com.codename1.home.commissioning
  Adding a new Matter accessory to the user's home.
- Interfaces
  Class
  Description
  HomeBridge
  Internal service-provider interface implemented by each platform port to back `com.codename1.home.SmartHome` with HomeKit, the Google Home APIs, or a local simulated home.