Add ability to switch Matter Device Type

We should be able to change Matter device types as part of onboarding and management. My specific use case is for Tapo S505 wall switches that are onboarded as “light” but really need to be “switch” for a ceiling fan.

You might have to change that is the native app. That’s an odd one.

Agreed, unfortunately the Tapo app doesn’t let me change the type. I noticed in Google Home I was able to change the device type but I have no such luck in Apple Home or Home Assistant.

I have to +1 this - I have a Leviton D215S switch that comes up in the Light domain, and there is no way to switch it to the Switch domain in the app (the non-Matter integration into HA even shows all objects as Lights, even when they’re not)

I +1 this. It is an annoyance that the S505’s register only as lights in HA and by proxy (via homekit bridge) in HomeKit. In HomeKit you can’t pick the icon (just the lightbulb). I haven’t tried adding them via matter, but so far have not had luck with those devices (lost 17 light bulbs after upgrading my wifi and while they show in HA, they don’t work and they have completely disappeared on my AppleTV and Alexa, so I have to manually repair every single one again. Not fun because now I have to climb up there to the fixtures and get the codes again because my dumb butt lost the paperwork that had them, but that is a different issue all together.) All my regular Tapo/Kasa switches show up as switches.

+1 on this. I have several Aqara H1 switches connected to an Aqara M1S Gen 2 Hub. I’m able to set the switch type using the native app. When imported directly into HomeKit from the native app, I can also change the switch type within Apple’s Home app.

However, when these switches are added to Home Assistant as Matter devices (via the hub), they are identified as lights, and the entity type cannot be edited. Additionally, if I expose them via HA’s HomeKit Bridge instead of adding them directly from the native app, they remain uneditable in Apple’s Home app.

I’m in the same boat. Also have a Tapo S505D, which I added to HASS, via Matter, and it’s coming up as a light.

It seems other integrations provide the ability to override the domain of devices, but I don’t see a way to do that for matter. It kinda messes up automatic dashboards, then gets exposed to Alexa wrong, has the wrong icon, etc.

I can probably make it work by putting exceptions all over the place so it doesn’t get grouped in with lights, make a virtual device for it, and things like that, but it would be easier to just tell HA it’s a fan in the first place.

+1 – I have a handful of Aqara WS-USC01 single rocker switches on a Hub M3, with a few of them on non-light devices. They are presented as a light via the Matter integration and I would like to override them to present as a switch, to allow for grouping with other switches.

This is a bit of a late answer, but I had the same issue (see similar issue: Expand Switch_As_X to include Matter Light Switches - #5 by jvm) and I resolved using templates to create fan entities. In your configuratino.yaml, add a section along the lines shown below:

For the “unique_id”, I use the serial number of the Tapo device.

fan:
  - platform: template
    fans:
      basementbedroomtoilet:
        friendly_name: "Basement Bedroom Toilet Fan"
        unique_id: "98254A23679E"
        value_template: "{{ states('light.basement_bedroom_toilet_fan') }}"
        turn_on:
          service: homeassistant.turn_on
          entity_id: light.basement_bedroom_toilet_fan
        turn_off:
          service: homeassistant.turn_off
          entity_id: light.basement_bedroom_toilet_fan
      basementsbedroom:
        friendly_name: "Basement Bedroom Fan"
        unique_id: "98254A23689E"
        value_template: "{{ states('light.basement_bedroom_bedroom_fan') }}"
        turn_on:
          service: homeassistant.turn_on
          entity_id: light.basement_bedroom_bedroom_fan
        turn_off:
          service: homeassistant.turn_off
          entity_id: light.basement_bedroom_bedroom_fan
2 Likes

Thank you! It took some effort to get all my fans and switches working with the template, but I’m glad it’s finally working now!

This integration should be able to do it too: Change device type of a switch - Home Assistant