New Firmware Versions for Beta Testing Available

Ok. We will have a look.

No, the erase checkbox was not checked.

Love the MDNS feature in the beta firmwares! There is an added feature I would love for service discoverability (MDNS DNS-SD): Could we add a service which identifies this as an AirGradient device?

I think it is a one line addition:
MDNS.addService("_airgradient", “tcp”, 80);

(having it will make it easy to discover all airgradient sensors in your network and add them automatically to your home automation system)

1 Like

Good idea. We will implement this.

1 Like

Mine did the same thing. I put the 2nd PM sensor back until the firmware is fixed.
Maybe a note in the documentation is in order?

We have this already fixed in the firmware and will roll it out in the next few days.

New firmware is available.

Version 3.0.7:

  • fixed problems on Open Air without SGP41
  • now broadcasts mDNS service as “_airgradient”
  • ‘add to dashboard’ also now shows serial number
  • improved log messages

It still needs to be reconnected to WiFi after flashing even if “erase” is not checked. I don’t know why this happens. If anybody has an idea, let me know.

1 Like

I’ve noticed that http://airgradient_[serial].local/measures/current only publishes PM data for the first few minutes and then those values are dropped completely … not sure why

edit: looks like they come and go. if the values are too low to read could we just publish them as 0 if that’s what’s happening? having them disappear from the data feed is weird.

We are investigating this issue.

1 Like

I tried out the mDNS Service Discovery, but it didn’t quite work. With these changes it works: Fix MDNS Service Discovery: by austvik · Pull Request #79 · airgradienthq/arduino · GitHub

This removes the http service announcement from the same port as the _airgradient service announcement. It might be the correct thing to do unless you want to host web pages on it. I am not able to get _airgradient._tcp.local. discovery to work with http on the same port, but I am not sure if that is a bug in the library I am (inderectly) using or it is dictated by the protocol.

In addition to my suggestion to making tvoc all capital letters, I also noticed that the CO2 column feels cramped when 4 digits are needed. When the final number was a 5 it looked even more like it was touching the vertical line.
I haven’t had a 3 digit PM2.5 value yet, but it seems like it would also be cramped
There is plenty of empty space on the far right next to TVOC so it all could be slid over to the right to give a bit more space


I found some additional inconsistencies which it is probably easier to align before there are too many users:

This adds the possibility to read ledMode. I have also started to play with the possibility to change configuration locally (for e.g. ledMode), this is harder than it sounds, because the setting from the cloud API overwrites it. If one wants to support configuration locally one might need to define that the sensor is the “master copy” of the configuration and change the way the configuration flows between the sensors and the cloud API, so that it is the sensor that uploads the configuration to the cloud API instead of how it is now where the sensor downloads the configuration from the cloud API.

And here is one for triggering Co2 calibration locally:

Thank you @Jorgen_Austvik . We are also currently working on a local HA integration which would then also need to allow local setting of configuration like CO2 calibration and LED mode. There are different ways to achieve it. It probably makes sense to have that discussion on GitHub directly.

1 Like

Is this a typo? the latest firmware on the page is still 3.0.6

Absolutely. Here is what I have if we want something to discuss on:

New Firmware 3.0.8 is available here.

  • Fixed -1 readings on PM module
  • Disabled reboots in offline mode
  • Fixed mDNS double broadcast
  • Various small bug fixes

Not (yet) included is endpoint on how to make configurations to monitor locally. We need to see what is the best approach for this (pull from monitor or push to monitor).

This update should fix the issue when people got “-” instead of PM values. Please feedback if you notice anything.

Next big thing in the pipeline is OTA capability.

1 Like


I am bit confused. My OpenAir kit just arrived and when commissioned to the Dashboard it seems to have fw 0.4.0. This fw is not listed in the Beta Firmwares at all.

Monitor Maker: AirGradient
Linked Location: Home
Firmware Version: 0.4.0
Model: O-1PS

Monitor Commissioning Date: Mar 20, 2024

It also seem that I am having issues with MQTT - I did set MQTT in the Dashboard into:


But I do not see any connection in the tcpdump on my MQTT server originated from the sensor (except of the arp requests for itself).

Please flash the latest firmware by following the steps below.

This will support MQTT.

Yep, you are completely right. I was confused by fw versions, thought that 0.4.0 is 4.0.0. Seems that units are shipped with some old fw versions. Anyway flashed, fixed, MQTT is working, thank you.