ITEAD/Sonoff sent out a marketing email today which introduced their “AirGuard” lineup of devices. I could not find any reviews for them yet, only a few posts from trade shows. I’m posting this to see if anyone can guess if they will be easy to integrate with Home Assistant or will require custom firmware such as ESPHome.
The three devices are:
SONOFF AirGuard CO2 Matter Over Wi-Fi Air Quality Monitor | SAWF-08P
SONOFF AirGuard PM2.5/PM10 Matter Over Wi-Fi Air Quality Monitor | SAWF-07P
SONOFF AirGuard TH 3.6’’ LCD Zigbee Temperature And Humidity Sensor
I found a device.report certification document which has a teardown of the matter/Wi-Fi devices. It seems like they have a common motherboard with an ESP32-D0WDR2-V3, which is also mentioned on the website. It looks like Sonoff is building two versions of the PM2.5 sensor model with different laser-based modules:
PM2.5 sensor: Plantower PMS9103M
Cubic PM2008M
The CO2 sensor daughter board doesn’t have any identifying information on the silk screen, but the mounted device ‘in a can’ looks like an I2C Sensirion AG SCD41-D-R1. The certification company cut everything open, including the can and removed the mesh.
I am not sure about the LCD controller, it has a 48 pin package, and it looks like it might be a Holtek HT1621 . I cannot be sure if the TM1621 LCD Display - ESPHome - Smart Home Made Simple library is compatible
I’m not super interested or concerned about the humidity/temperature sensor, the other Zigbee Sonoff devices are mostly compatible and don’t use a custom zigbee implementation, like Samsung.
I just received mine. Its easily adding to HA via Matter - see screenshot what it offers. Funfact, HA thinks its a WIFI smart switch.
Compared to my selfmade and calibrated SDC30 sensors, the CO2 readings seem pretty solid, only humidity is way off by 20%, but the values can be calibrated manually on the unit itself.
I think its a nice, solid unit, although I found EUR 50 a bit pricey. However, if you want something working off the shelf, its pretty good I think. Display is nice, although no backlight.
After using it for two days, I have to revert my positiv reply.
The Co2 readings are 190ppm off and cannot be calibrated. I even left the unit outside for a day, hoping it would calibrate around 400ppm, restartet it several times, hoping it to calibrate, but it stayed aroung 590ppm.
The air quality LED is really bright and can not be dimmed, only off/on. Its way to bright for a bedroom at night, lighting up the whole room.
Also, a backlight is missing badly. There is no way to read the display at dim light. This makes it pretty useless in dim rooms, especially because the bright led blinds you at the same time.
I also noticed, when temperature comes down to the freezing point, it does not display the real temperature anymore. but only ‘LL’ which I guess means low.
JoFranke, thank you so much for posting your experience. I suggest contacting Sonoff, at worst they might offer you a coupon on a future purchase, but perhaps they can offer a firmware update to rectify the situation. The CO2 calibration/reading problem has already dissuaded me from purchasing one.
It does seem that right around when I posted, reviewers started posting on YouTube. My apologies for not replying sooner; it seems I don’t have notifications enabled.
I also bought this device. Below are my impressions after the first 24 hours of testing.
Price: around USD 50. It’s high enough to make you think twice before buying one for every room.
Documentation is almost nonexistent. I don’t mean the setup or connectivity — that part is clear enough. I mean that CO₂ sensors are fairly complex devices, yet there is no calibration procedure provided. For calibration, I simply placed it next to an open window (outside temperature was around minus 10 °C).
After spending the night with the window slightly open, the CO₂ level did not drop below 535 ppm. This is despite the room temperature dropping from 23 °C to 11 °C. Based on that, I believe the sensor should have been able to show at least ~450 ppm.
Sonoff switches integrate easily with Home Assistant via eWeLink. However, as of now (January 2026), eWeLink does not pass sensor data to Home Assistant. Moreover, it appears that these data are not even sent to their own web service. An example can be seen in the screenshot (SAWF-08P). I’ll probably have to integrate it using Matter.
(I may be mistaken)The enclosure is very unfriendly to DIY . I couldn’t figure out how to open it. It feels like the display panel with the attached PCB simply snaps into the case. Because of that, any attempt to pry it open with a screwdriver or plastic spudger would most likely leave a mark on the display.
Judging by what I could see through the ventilation slots, there is an NDIR SCD40/SCD41 sensor inside.
Based on all of the above, my conclusion is that the device is not outright bad — it’s just a bit immature. Maybe they will update the firmware, maybe they will allow CO₂ calibration, but given the price and how difficult it is to open the enclosure, it’s unlikely to become a “standard” tool for home DIYers.
On the contrary, looking at it makes me want to learn ESPHome and build my own device using off-the-shelf modules. It probably won’t be much cheaper: NDIR SCD41 — USD 20, ESP32 — USD 3.5, plus a case, an (optional) screen, and your time. But in return, you get full control over the device, its calibration, and the measurement and reporting intervals.
And finally, I tried to connect it to a Home Assistant Docker installation. It turns out that integrating Matter devices with Home Assistant running in Docker is a major challenge. After spending an entire evening on it, I was still unable to make it work.
The standard approach is to use HAOS, and the developers are quite confident that Matter support in Home Assistant is designed as an add-on. Home Assistant running in Docker is expected to work “as is”, but in my case it did not.
And another piece of news: I managed to integrate the SAWF-08P into Dockerized HA. I just had to put the Sonoff sensor into pairing mode! After that, I was able to pair it successfully. My Docker playbook for the Matter server:
services:
# python-matter-server
matter-server:
#image: ghcr.io/home-assistant-libs/python-matter-server:8.0.0
#image: ghcr.io/matter-js/python-matter-server:stable
image: ghcr.io/home-assistant-libs/python-matter-server:stable
container_name: matter-server
restart: unless-stopped
# Required for mDNS to work correctly
network_mode: host
security_opt:
# Needed for Bluetooth via dbus
- apparmor:unconfined
volumes:
# Create an .env file that sets the USERDIR environment variable.
- ./data:/data/
# Required for Bluetooth via D-Bus
- /run/dbus:/run/dbus:ro
Before that, I also tried a lot of crazy stuff that ChatGPT suggested. This included modifying /etc/sysctl.d/99-sysctl.conf:
Now I have commented out the settings in 99-sysctl.conf and removed radvd. After rebooting my Ubuntu server with HA, I am able to see values from the Sonoff CO2 sensor. So, apparently, these configurations and service were not really required for the sensor.
After all, the sensor is OK and I do not regret buying it. Although for me personally it would be much better with Zigbee mode.
I build my own, and one issue I have found is that the minor heat sources within the device - such as the ESP32 itself - mess with the temperature readings quite significantly (several degrees). While temperature can be adjusted (but I hate doing it), I am unaware of a proper way of calibrating relative humidity. Since it is relative to temperature, the sensor reports humidity based on the incorrect temperature it is reading therefore it would make more sense for the sensor to allow an adjustment to its temperature reading, and for it to calculate the proper relative humidity based on the adjusted temp… otherwise the reading is meaningless.
In other words - courtesy of AI rewording my post - what I was trying to say was:
In compact, self-built devices, internal heat sources like the ESP32 raise the local temperature around the sensor. Since relative humidity is mathematically derived from temperature, even a small temperature bias causes a disproportionately large RH error. While temperature can be offset in software, the humidity value has already been computed using the wrong temperature, making post-hoc RH calibration ineffective or misleading. Without a way to correct the temperature before the RH calculation, the reported humidity becomes fundamentally unreliable rather than just “uncalibrated.”
I am not sure I would agree with “post-hoc RH calibration ineffective or misleading.” but I definitely don’t trust the readings because I am not equipped to perform a proper humidity measurement validation and calibration…
Speaking of calibration, many just apply an offset based on a single known good value (but is it really good?) while more reliable calibration would require more complex calibration methods. Esphome takes a stab at it with:
Based on the report @byb posted, the sensor used seems like it can be easily substituted with one of the many sensor PCBs using the same I2C sensor. Of course this would require being able to use ESPHome and it supporting all the components… unless the original firmware detects the sensor and “it just works” with both (assuming I2C addresses used match).
This may also allow placing the sensor outside the main enclosure to get it farther away from the heat source… The one with the PM sensor, might be using the temp/humidity sensor that sometimes is inside PM sensors like the popular PM5003T
For the AirGuard TH (Zigbee version), has anyone tried to link it to an external sensor? It has that capability and Sonoff states that it requires a specific FW and a bridge - wondering if this is something that can also be achieved with a Zigbee coordinator on HA, preferably ZHA? Very neat feature and I’m looking specifically for something that allows us to have easy outdoor readings at a physical, battery driven unit, and this would be perfect for that use case.
Supported devices for Temperatrue: AirGuard TH (require firmware v1.1.0 or above), SNZB-02P,SNZB-02D, SNZB-02WD, SNZB-02LD
The remote device must be connected to the same SONOFF Zigbee gateway, including: Bridge-P, Bridge-U, NSPanel Pro, iHost
Can anyone confirm if the PM10 readings are exposed to Home Assistant over Matter for the SAWF-07P (SONOFF AirGuard PM2.5/PM10 Matter Over Wi-Fi Air Quality Monitor)?
The screenshot above seems to be for the SAWF-08P which is the model which monitors CO2 levels, not PM10.
I am hoping the PM10 sensor will help in detecting high pollen levels.
@masoos To let you know and anyone else stumble upon this thread. Do not add the device via ewwlink. Just use the mobile Home Assistant app and add a new device (Matter integration). You will need to point the camera to the QR code at the back of the sensor.