microg / microg/GmsCore

[com.ikea.inter.homesmart.system2] Missing com.google.android.gms.home / HOME service implementation

Open
#3,804 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
14.6k
Forks
3.2k
Avg merge
12d 11h
Merged PRs (30d)
4

Description

Affected app
Name: IKEA Home smart
Package id: com.ikea.inter.homesmart.system2

Describe the bug
IKEA Home smart uses the Google Home Mobile SDK / Matter APIs exposed through com.google.android.gms.home.

On microG, the app requests:
com.google.android.gms.home.service.START

but GmsCore routes the request to:
com.google.android.gms/org.microg.gms.DummyService

The application then sends a GetServiceRequest[HOME] requesting multiple Google Home / Matter features, including:

  • home_matter_chip
  • home_matter_commission_device
  • home_matter_send_detected_beacons
  • home_matter_setup_1p_device
  • home_matter_share_device
  • home_matter_resolve_dnssd_service
  • home_matter_settings_device_list
  • home_matter_settings_device_information
  • home_matter_settings_linked_services
  • home_matter_settings_remove_device
  • home_matter_set_half_sheet_enabled
  • home_matter_request_sharing

With IKEA Home smart 1.71.0, the client then receives:
statusCode=API_DISABLED

This appears to indicate that the Google Play Services HOME service / com.google.android.gms.home API is currently not implemented in GmsCore.

This issue is specifically about the missing Google Home / Matter API implementation. IKEA Home smart also has a separate Play Integrity compatibility issue on recent versions, but that is independent of the HOME service problem described here.

Relevant sanitised logcat:

ChimeraServiceProvider: serviceIntentCall: com.google.android.gms.home.service.START -> Intent { act=com.google.android.gms.home.service.START pkg=com.google.android.gms cmp=com.google.android.gms/org.microg.gms.DummyService }

GmsDummySvc: bound by: GetServiceRequest[HOME, packageName="com.ikea.inter.homesmart.system2", gmsVersion=12451000, scopes=[], extras=Bundle[{}], defaultFeatures=[], apiFeatures=[Feature[home_matter_chip,1], Feature[home_matter_commission_device,4], Feature[home_matter_send_detected_beacons,1], Feature[home_matter_setup_1p_device,5], Feature[home_matter_share_device,1], Feature[home,1], Feature[home_matter_resolve_dnssd_service,1], Feature[home_matter_settings_device_list,2], Feature[home_matter_settings_device_information,1], Feature[home_matter_settings_linked_services,1], Feature[home_matter_settings_remove_device,1], Feature[home_matter_set_half_sheet_enabled,1], Feature[home_matter_request_sharing,1]], supportsConnectionInfo=true]

GoogleApiManager: Not showing notification since connectionResult is not user-facing: ... statusCode=API_DISABLED ...

The same HOME service request to DummyService is also reproducible with IKEA Home smart 1.48.0 and 1.60.2.

To Reproduce
Steps to reproduce the behavior:

  1. Install IKEA Home smart (com.ikea.inter.homesmart.system2).

  2. Clear the app data if necessary to force a fresh start.

  3. Start logcat.

  4. Launch IKEA Home smart.

  5. Search logcat for:

    • com.google.android.gms.home.service.START
    • GetServiceRequest[HOME
    • GmsDummySvc
    • API_DISABLED
  6. Observe that com.google.android.gms.home.service.START is routed to org.microg.gms.DummyService.

  7. Observe the GetServiceRequest[HOME] with the home_matter_* feature list.

  8. With IKEA Home smart 1.71.0, observe the following client-side result:

    • statusCode=API_DISABLED

The HOME service request occurs during application startup, so a Matter accessory is not required to reproduce this specific issue.

A direct service check also shows the difference between the implemented Thread Network service and the missing HOME service.

Thread Network:

adb shell pm query-services --brief -a com.google.android.gms.threadnetwork.service.START

Result:

com.google.android.gms/org.microg.gms.threadnetwork.ThreadNetworkService

Google Home:

adb shell pm query-services --brief -a com.google.android.gms.home.service.START

Result:

No services found

So microG exposes a real Thread Network service, while no corresponding HOME service is available through this action.

Expected behavior
GmsCore should ideally provide an implementation of the Google Play Services HOME service used by the Google Home Mobile SDK, at least for the Matter functionality required by third-party applications.

Expected behavior would include:

  • com.google.android.gms.home.service.START resolving to an actual GmsCore service instead of DummyService
  • supported home_matter_* features being advertised and handled
  • CommissioningClient operations reaching the implementation instead of returning API_DISABLED
  • Matter commissioning flows being usable by third-party applications where technically feasible

If implementing the complete Google Home API is not currently feasible, it would still be useful to:

  • explicitly document com.google.android.gms.home as unsupported
  • track the HOME API in the implementation-status documentation
  • consider implementing the Matter commissioning subset first

Screenshots
No screenshot is required to demonstrate the missing HOME API because the failure is directly visible in logcat.

I can provide screenshots from IKEA Home smart and additional sanitised logs if useful.

System
Android Version: 15 / API 35
Custom ROM: /e/OS 4.2
Build: 4.2-a15-20260814662906-official-FP5
Device: Fairphone 5

microG
microG Core version: v0.3.15.252432-72
microG Self-Check results: All ticked

Additional context
IKEA Home smart versions tested:

  • 1.48.0 — versionCode 7287
  • 1.60.2 — versionCode 7867
  • 1.71.0 — versionCode 8423

All three versions request the Google HOME service.

The current GmsCore setup provides:

com.google.android.gms.threadnetwork.service.START

through:

org.microg.gms.threadnetwork.ThreadNetworkService

but there does not appear to be an equivalent implementation for:

com.google.android.gms.home.service.START

At runtime, the HOME request is caught by GmsCore's Chimera service handling but routed to:

org.microg.gms.DummyService

which is followed by API_DISABLED.

This looks like an API-level compatibility gap rather than an IKEA-specific interface problem. IKEA Home smart is simply a reproducible example of a third-party application using the Google Home Mobile SDK.

Other applications using the same SDK may depend on functionality such as:

  • CommissioningClient
  • commissionDevice()
  • Matter device sharing
  • Matter device/settings management
  • DNS-SD resolution
  • Google Home Matter setup flows

There is also a separate IKEA Play Integrity issue on recent app versions. That issue is not the subject of this report. The missing HOME service can be observed independently and is already requested by older IKEA versions.

I can provide if useful:

  • additional sanitised logcat excerpts
  • APK/XAPK comparisons between IKEA Home smart 1.48, 1.60 and 1.71
  • traces of specific Google Home / Matter API calls
  • testing of development builds on the Fairphone 5

I have intentionally not attached unfiltered logs because they may contain authentication or Play Integrity token material.

I also sent this same analysis result to the IKEA App Team for commentary.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the com.google.android.gms.home.service.START entry point through the existing DummyService routing, then compare it with org.microg.gms.threadnetwork.ThreadNetworkService. Review the HOME GetServiceRequest feature list in the provided logcat and determine the scope of a supported implementation; done would mean the HOME action resolves to an implemented service and no longer returns API_DISABLED.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api, mobile-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.