Home app rejects Matter device type 0x0042 (Water Valve) as "not supported" — which device types does Home accept?

I'm building a Matter irrigation system and I've hit a device-type wall in the Home app. This is not a commissioning or pairing problem - the accessory is found, setup proceeds, and then Home declines to create the accessory, reporting that the device is not supported.

The controlled comparison, which is why I'm confident it is the device type and nothing else:

  • Endpoint declares 0x0042 Water Valve (Matter 1.3) with cluster 0x0081 Valve Configuration and Control -> Home: NOT SUPPORTED, accessory is not created.
  • Endpoint declares 0x010A On/Off Plug-in Unit with cluster 0x0006 On/Off -> Home: created, works, valve opens and closes.

Same hardware, same firmware image, same network, same iPhone. The only variable is the device type ID. Other Matter controllers accept the 0x0042 version and control it correctly.

  1. Water Valve (0x0042) - is this device type supported by the Home app in any current or announced iOS version? If not, is support planned?

Right now I ship the plug-in-unit substitution because it is the only thing Home will accept. It works, but it misrepresents the device: the user sees a row of "plugs" that are actually irrigation valves, with no valve semantics and nothing telling Home - or an automation the user writes - that switching this on releases water into a garden.

  1. Soil Sensor (Matter 1.5) - same question. Matter 1.5 added soil sensing (moisture, optionally temperature), explicitly positioned for irrigation paired with Matter water valves. Is it supported or planned in Home?

Today I publish soil moisture on a Relative Humidity Measurement endpoint (0x0405) because that is what Home renders, so garden soil moisture appears as air humidity and pollutes any humidity-based automation the user has.

  1. The general question, which is the one I actually want answered: is there an authoritative list of the Matter device type IDs the Home app accepts? The public support article describes categories in prose (lights, plugs, switches, thermostats, sensors...), but gives no device type IDs, so there is no way to check a design against it before building. I would like to design to the list rather than discover at pairing time that Home will not create my accessory.

A related composition question: my controller is a single accessory with seven independently controlled valve endpoints, and endpoints exist only for valves the installer has enabled. When a valve is disabled and its endpoint disappears, Home keeps showing it until the accessory is removed and re-added. Is there a supported way to make Home re-read a device's composition in place - and for seven valves, does Apple prefer one accessory with seven endpoints, or a Bridge (0x000E) exposing seven accessories?

Setup: Matter over Wi-Fi (2.4 GHz), esp-matter / connectedhomeip, test VID 0xFFF1 during development. iOS 17 and 18, iPhone 12, Home hub present.

Happy to provide the full endpoint and cluster composition or logs if useful.

Water Valve (0x0042) - is this device type supported by the Home app in any current or announced iOS version?

Here is the list of supported accessory types from our Matter support page:

"The Home app currently supports these types of Matter accessories: air conditioners, bridges, lights, locks, outlets, switches, thermostats, blinds and shades, and sensors (motion, ambient light, contact, temperature, and humidity)."

If not, is support planned?

I can't discuss our future plans, but if you'd like to support this, then please file a bug and the post the number back here.

The general question, which is the one I actually want answered: is there an authoritative list of the Matter device type IDs the Home app accepts?

No, not that I'm aware of.

Is there a supported way to make Home re-read a device's composition in place - and for seven valves, does Apple prefer one accessory with seven endpoints, or a Bridge (0x000E) exposing seven accessories?

What are you doing when your configuration changes? I'm not that familiar with the full Matter specification, but I think HomeKit should pick up that your configuration has changed the next time it connects and rescans your overall configuration. However, what I could see being an issue here is that it probably won't "notice" any changes while it’s actively connected to the accessory.

HAP (HomeKit Accessory Protocol) accessories have exactly the same issue, and what I suggest there is to either shutdown their network stack for "awhile" or, more practically, have the accessory reboot itself. Either approach can work fine, but rebooting simplifies the flow a bit (you only read the configuration at startup).

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

Thanks Kevin. Following up point by point, since several of my original questions weren't covered and a few new ones follow from your answer. Numbered so nothing gets lost.

  1. Soil Sensor (Matter 1.5). Not addressed in your reply. Is the Matter 1.5 Soil Sensor device type supported in Home today? Your supported-types list names motion, ambient light, contact, temperature and humidity sensors, which implies no, but I would like that confirmed explicitly rather than inferred. Related: does any current developer seed or beta of iOS or iPadOS render the Matter 1.5 soil device types, or Water Valve 0x0042? If so I would like to test our firmware against it rather than wait for a release.

  2. Are the substitutions sanctioned? This is my most important question. Until 0x0042 and Soil Sensor are supported, I am shipping valves as On/Off Plug-in Unit (0x010A) and soil moisture as Relative Humidity Measurement (0x0405). Both misrepresent the device. Is that acceptable to Apple, or does it create a problem at certification or Works with Apple Home review? I need this in writing before shipping.

  3. Rejection granularity. If one endpoint declares an unsupported device type, does Home reject only that endpoint, or the entire accessory? If it is per-endpoint, I can declare 0x0042 natively and carry a compatibility endpoint alongside it.

  4. Multiple device types on one endpoint. Can a single endpoint declare both 0x0042 (Water Valve) and 0x010A (On/Off Plug-in Unit) in its Descriptor DeviceTypeList, so certified firmware stays native and Home renders it via the type it recognises? Does Home pick the first supported type it finds, or reject the endpoint outright?

  5. Composition vs Bridge. Also not addressed: for a controller with seven independently controlled valves, does Apple prefer one accessory with seven endpoints, or a Bridge (0x000E) exposing seven accessories? Bridge is on your supported list, so does bridging change how Home treats child endpoints whose device types are not supported?

  6. Re-reading composition. You suggested rebooting the accessory. To confirm the mechanism: is a change to the root Descriptor PartsList alone sufficient to trigger a re-scan on the next reconnect, or does Home only re-read composition after the subscription is fully torn down? And is there any state Home caches across a reboot that would keep showing a removed endpoint?

  7. Device type IDs behind the categories. You have confirmed no authoritative list exists. Can you at least confirm the specific device type IDs behind "outlets", "switches" and the five supported sensor types? Prose categories are not something I can design firmware against, and I am currently discovering support at pairing time.

  8. HAP asymmetry. HomeKit has had Valve and Irrigation System service types for years, and shipping accessories render as sprinklers in Home. So Home can already express valve semantics; the gap is specific to the Matter path. Is a HAP-based accessory or a HAP bridge the sanctioned way to get correct valve semantics today, and is Matter parity with those existing HAP service types the intended direction?

  9. Feedback reports, as requested: FB24694606 (Home app does not support Matter Water Valve device type 0x0042) and FB24694621 (Home app does not support the Matter 1.5 Soil Sensor device type). Both are also referenced under DTS case 6784027768.

Part 1....

  1. Soil Sensor (Matter 1.5). Not addressed in your reply. Is the Matter 1.5 Soil Sensor device type supported in Home today? Your supported-types list names motion, ambient light, contact, temperature, and humidity sensors, which implies no, but I would like that confirmed explicitly rather than inferred.

It is not supported.

  1. Are the substitutions sanctioned?

Let me actually answer that question two ways:

  1. By definition, an "uncertified" accessory can do whatever it wants. We don't have any knowledge or control over what/how your accessory works, so there isn't really anything we can "do" about it. In theory, it would probably be possible to block an accessory we specifically identified as "bad", but I can only see that happening for situations which were genuinely harmful/dangerous. Nothing you're describing is remotely close to that.

  2. I'm not involved with the "Works with Apple Home" program, so I don't know what degree of substitution they'd allow. You can find their contact info on the page I linked to, and they're the best people to discuss this with.

One follow-up comment on #2 is that, in my experience, these conversations are FAR more productive when discussing a concrete implementation instead of an abstract request. My recommendation would be that you start by mocking up a configuration that "feels" right in HomeKit, then open the conversation by saying "here is what my accessory does and here is what I'd like to expose through HomeKit". A great user experience is often more important than abstract policy.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

Part 2...

Switching gears, you've asked a lot of implementation-specific questions. I'll answer what I can, but my answer for many of them is going to be that I'm not sure and that you should test things.

  1. Rejection granularity. If one endpoint declares an unsupported device type, does Home reject only that endpoint, or the entire accessory? If it is per-endpoint, I can declare 0x0042 natively and carry a compatibility endpoint alongside it.

I believe it will just ignore any endpoint it doesn't recognize. Keep in mind that this vendor-specific endpoints are also common in HAP, so this situation isn't actually all that unusual.

  1. Multiple device types on one endpoint. Can a single endpoint declare both 0x0042 (Water Valve) and 0x010A (On/Off Plug-in Unit) in its Descriptor DeviceTypeList, so certified firmware stays native and Home renders it via the type it recognises? Does Home pick the first supported type it finds, or reject the endpoint outright?

I don't know, this is something you'd need to test.

  1. Composition vs Bridge. Also not addressed: for a controller with seven independently controlled valves, does Apple prefer one accessory with seven endpoints, or a Bridge (0x000E) exposing seven accessories?

I think it depends entirely on the nature of your accessory and how it best integrates into the home. Conceptually, HomeKit considers an "accessory" to be the base "object" and a bridge is just a special type of accessory that "hands" the system multiple accessories at once, so the "default" expectation is that a given physical accessory will be implemented as a single accessory.

The main issue here is that accessories are assigned to individual rooms, so an accessory can only ever be in a single room. That is totally sensible for most accessories except that some thinking like large-scale irrigation or HVAC systems may not really "feel" right if all of its components are forced to be in the same room. For irrigation systems in particular, the HAP spec basically allows either approach based on the specifics of the hardware involved.

One final note here— while HomeKit itself uses "HMAccessory" as its central object, what Home.app actually presents are the "HMService" objects one level "below" the accessory. So the same accessory can show up multiple times in the same room, since it's presenting multiple services. However, if you shift one of those services to a different room, you'll find that both move.

Bridge is on your supported list, so does bridging change how Home treats child endpoints whose device types are not supported?

No.

  1. Re-reading composition

So, as full disclosure, I'm FAR more familiar with the HAP (HomeKit Accessory Protocol) spec than I am with Matter, so a lot of my guidance is based on my familiarity with how HomeKit and HAP interact, not Matter itself. I think this guidance will still be helpful/useful, but you'll need to do a certain amount of extrapolation and experimentation to sort out the details.

Let me start here:

And is there any state Home caches across a reboot that would keep showing a removed endpoint?

So, the first critical point here is that when you modify an accessory in Home.app, there’s no way to know whether the device is:

  1. Directly sending a command to an accessory it's connected to.

  2. Routing the command through a Home Hub it has "real time" access to.

  3. The command is going through some longer/slower relay path that eventually reaches the accessory.

The key point here is that #2 and ESPECIALLY #3 aren't directly communicating with the accessory, so they can't actually know its current configuration.

Shifting to the hardware, within HAP, every accessory published a "configuration number" (c#) which was ONLY incremented when the accessory changed its logical configuration. Every time a controller connected to the accessory, HomeKit would first check that value and then "rescan" the accessory’s configuration, adjusting its configuration "as needed".

That dynamic is where this guidance comes from:

You suggested rebooting the accessory

HomeKit doesn't expect the configuration to change while it's actively connected to your accessory. Frankly, doing so is inherently somewhat "weird", as there's no good way for a controller to send a series of commands when the target of those commands could change at any time. So, if changing the configuration requires that no one be connected to the accessory, then the simplest way to guarantee that is to... reboot the accessory. You don't HAVE to do that, but what you DO have to do is close enough to a reboot... that it's almost always easier to just reboot.

is a change to the root Descriptor PartsList alone sufficient to trigger a re-scan on the next reconnect?

I'm not entirely sure what that matter equivalent to what is to what I've described above.

Device type IDs behind the categories. You have confirmed no authoritative list exists.

Actually, can you file a bug asking for this and post the number back here? I'd like to share something like this, and having a developer bug would help facilitate that.

Can you at least confirm the specific device type IDs behind "outlets", "switches”, and the five supported sensor types?

I think these are the values:

Outlets -> 0x010A, 0x010B
Switches -> 0x000F, 0x0103, 0x0104, 0x0105

Contact Sensor -> 0x0015
Light Sensor -> 0x0106
Occupancy Sensor -> 0x0107
Temperature Sensor -> 0x0302
Humidity Sensor -> 0x0307

So Home can already express valve semantics; the gap is specific to the Matter path.

So, the big issue here is that while the basic building blocks like "valve" are present, the higher level "Irrigation System" definitions are different enough that they can't be directly mapped to each other. That's different than the clusters HomeKit supports today, where the mapping is quite direct.

Is a HAP-based accessory or a HAP bridge the sanctioned way to get correct valve semantics today?

If you want to have full Home.app support "today”, then, yes, HAP is the only way to do that.

and is Matter parity with those existing HAP service types the intended direction?

Unfortunately, I can't talk about our future plans.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

I think these are the values:

Over the weekend, one of the engineers on the Matter team pointed me at this document in the CHIP project which includes exactly the list you were asking for.

FYI, that the list include this disclaimer, which then points to the Apple Home development portal:

Note: Not exhaustive, and may be out of date, see below for more information.

As of today (9/21/2026), I believe that list is complete.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

Home app rejects Matter device type 0x0042 (Water Valve) as "not supported" — which device types does Home accept?
 
 
Q