Connecting Bosch Air 2000i with Matter

I had been looking for an air purifier that could be easily integrated with openHAB for a long time.

Then I saw that Bosch now supports the Bosch Air 2000i, Bosch Air 4000i, and Bosch Air 6000i series air purifiers with Matter.

This gave me the opportunity to try out the new Matter integration, and it works great :slight_smile: .

Matter installation

First, install Matter Binding and then create the file things/matter.things.

Thing matter:controller:main [ nodeId="1" ]

Matter device pairing

Now comes the most difficult part: you have to pair the devices.

First, you need to find the Matter setup code in the Bosch app under Devices.

You must pair the code displayed in the app using the Matter controller thing.
It is important to enter the 11-digit code WITHOUT hyphens.

If it worked, you will receive the air purifier as a new Thing.

Thing matter:controller:main [ nodeId="1" ]
Thing matter:node:main:7819818200003524007 (matter:controller:main) [nodeId="7819818200003524007"]

Air 2000i - Items

Now you can easily control the air purifier using the following items.

The main control is via the “fancontrol-fanmode.”

Dimmer BOSCH_AIR_PURIFIER_DIMMER    "Bosch Air 2000i Dimmer"        <fan>   (LivingRoom)  {channel="matter:node:main:7819818200003524007:1#fancontrol-percent"}
Number BOSCH_AIR_PURIFIER_FANMODE   "Bosch Air 2000i Fanmode"       <fan>   (LivingRoom)  {channel="matter:node:main:7819818200003524007:1#fancontrol-fanmode"}

Number BOSCH_AIR_PURIFIER_AIRQUALI  "Bosch Air 2000i Quality"          (LivingRoom)  {channel="matter:node:main:7819818200003524007:5#airquality-airquality"}

Air 2000i - Rules

Now the air purifier can be easily switched off as soon as a window is opened in the corresponding room:

var lastFanMode = -1

rule "Disable Bosch air when window / door opened"
when
    Item TERRACE_DOOR_SOUTH_LEFT_CONTACT changed to OPEN
then
    if(BOSCH_AIR_PURIFIER_FANMODE.state != 0){
        lastFanMode = (BOSCH_AIR_PURIFIER_FANMODE.getState() as Number).intValue()
        BOSCH_AIR_PURIFIER_FANMODE.sendCommand(0) // 0 = Off , 5 = Auto
    }else{
        lastFanMode = -1
    }
end

rule "Enable Bosch air when window / door closed"
when
    Item TERRACE_DOOR_SOUTH_LEFT_CONTACT changed to CLOSED
then
    if(lastFanMode >= 0 && BOSCH_AIR_PURIFIER_FANMODE.state == 0){
        BOSCH_AIR_PURIFIER_FANMODE.sendCommand(lastFanMode) 
    }
end

I hope that helps :slight_smile: