Indoor Air Quality Sensor Component

Nice component. Would it be possible to take into account ozone and sulfur dioxide?

1 Like

With this setup are you still using the interval so you only turn on measurement for 20s every 2 minutes or do you measure air quality continuous?

My live versions are very close to what I shared previously. I have like six of them all over my house. They measure continuously but I primarily use the rolling data because of the inaccuracy of the instantaneous data. Noise doesnā€™t help anyone make a decision.

If you look at ā€œofficial AQI numberā€ reporting, youā€™ll see that the average is rolled by 24 hours which causes significant delay in reportingā€¦ it takes a long time to move the needle when a nasty air front moves in quickly. With a 30 minute rolled average the results are nearly real time by comparison.

I have great visibility to see the quality of the air from my house and now I can align what I see with what is actually happening. Mostly I wanted i know: is it just fog in the valley or is it bad air and we should stay inside? The AQI sensor tells me.

I also use the room-based data to trigger air purifiers that I have in the house should the roomā€™s air quality start to degrade. I throttle the purifier based on how ā€œbadā€ the AQI measurement is. It works very well.

1 Like

Woah, I just noticed that ESPHomeā€™s integration for PMS5003ST and PMS5003S now have support for formaldehyde! Lately, Iā€™ve been trying to register my 3D printerā€™s impact to room air quality with the PMS7003 sensors I bought but nothing seems to register ā€“ even TVOC/CO2. I know that printing ABS generates formaldehyde (which is pretty much all I print) so Iā€™m going to get a couple of these PMS5003ST sensors and see what it can see. :smiley:

1 Like

I just installed and got this working. I love this component, but I am not a programmer. The Indoor air quality UK component makes use of a function that has been depreciated and will soon no longer function. It looks like there is a replacement available. Is there any chance you will be updating this component before it stops working?

This is the Home assistant log message:

Logger: homeassistant.helpers.frame Source: helpers/frame.py:77 First occurred: 7:50:15 AM (1 occurrences) Last logged: 7:50:15 AM
Detected integration that uses temperature utility. This is deprecated since 2022.10 and will stop working in Home Assistant 2023.4, it should be updated to use unit_conversion.TemperatureConverter instead. Please report issue to the custom integration author for iaquk using this method at custom_components/iaquk/__init__.py, line 355: value = convert_temperature(value, entity_unit, TEMP_CELSIUS)

I would really appreciate your help keeping this component alive.

1 Like

Nice work, but my sensors are coming up as sensor.unnamed_device.
I donā€™t believe I missed a step in the config, did i?

iaquk:
  livingroom:
    name: "iaq Living Room"
    sources:
      temperature: sensor.woonkamer_temperature
      humidity: sensor.woonkamer_humidity
      co2: sensor.livingsensor_co2_value

Any update on making this work with 2023.6?

Thank you so much @FredTheFrog! With your comment, you saved my day! I spend a couple of days trying to set up the sensor and after connecting the WAKE pin to GROUND, everything worked! Thanks!

1 Like

Iā€™m having problems getting this up and running as it errors on boot, hereā€™s the logsā€¦

Logger: homeassistant.setup
Source: setup.py:251
First occurred: 15:41:53 (1 occurrences)
Last logged: 15:41:53

Setup failed for custom integration 'iaquk': Unable to import component: No module named 'homeassistant.util.temperature'
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/setup.py", line 251, in _async_setup_component
    component = integration.get_component()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/loader.py", line 814, in get_component
    ComponentProtocol, importlib.import_module(self.pkg_path)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/config/custom_components/iaquk/__init__.py", line 30, in <module>
    from homeassistant.util.temperature import convert as convert_temperature
ModuleNotFoundError: No module named 'homeassistant.util.temperature'

ā€“

Googling the error gets me another thread about another integration, and it looks like that module was deprecated a year ago, not sure if that helps?

:sob:

Home Assistant Core
2024-01-07 19:15:38.505 WARNING (SyncWorker_2) [homeassistant.loader] We found a custom integration iaquk which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2024-01-07 19:15:41.917 WARNING (MainThread) [homeassistant.const] TEMP_CELSIUS was used from iaquk, this is a deprecated constant which will be removed in HA Core 2025.1. Use UnitOfTemperature.CELSIUS instead, please create a bug report at https://github.com/Limych/ha-iaquk/issues
2024-01-07 19:15:41.921 WARNING (MainThread) [homeassistant.const] TEMP_FAHRENHEIT was used from iaquk, this is a deprecated constant which will be removed in HA Core 2025.1. Use UnitOfTemperature.FAHRENHEIT instead, please create a bug report at https://github.com/Limych/ha-iaquk/issues
2024-01-07 19:15:41.921 ERROR (MainThread) [homeassistant.setup] Setup failed for custom integration 'iaquk': Unable to import component: No module named 'homeassistant.util.temperature'
File "/config/custom_components/iaquk/__init__.py", line 30, in <module>

Just installed the latest update and itā€™s all working again! :grinning:

1 Like

I have the same issue. Did you find a solution?

Hi

Sorry, a real noob question

I added the following in the configuration.yaml file, how do I about getting the outputs on my homepage. I searched all the entities and sensors on the system cannot find iaq_level any where.

iaquk:
    sources:
      temperature: sensor.dyson_purifier_big_quiet_temperature
      humidity: sensor.dyson_purifier_big_quiet_humidity
      co2: sensor.dyson_purifier_big_quiet_carbon_dioxide
      no2: sensor.dyson_purifier_big_quiet_nitrogen_dioxide_index
      hcho: sensor.dyson_purifier_big_quiet_hcho
      pm:
        - sensor.dyson_purifier_big_quiet_pm_2_5
        - sensor.dyson_purifier_big_quiet_pm_10
      voc_index: sensor.dyson_purifier_big_quiet_volatile_organic_compounds_index
    sensors:
      - iaq_level
      - iaq_index

WARNING: about JQ1/2/300 sensors: these donā€™t measure what you think they measure

Internally they have a sanyo dust sensor, Alcohol sensor and temp/humidity sensor

TVOC is used to calculate HCHO and eCO2 - the actual MCU on these devices only outputs TVOC data and all the calculations are made in the cloud

About the only thing these are good for is indicating when to open a window.

I certainly wouldnā€™t regard them as ā€œcalibratedā€ (although itā€™s possible to do so if you install esphome on them, youā€™ll only get temp/hum/PM2.5/TVOC)

Unfortunately this is the case for a lot of the cheap Chinese sensors. None of the ā€œTuya N-in-1 sensorsā€ based around the ZN-2C0x series boards have CO2 sensors and whilst itā€™s possible to obtain CO readings from a TVOC sensor this isnā€™t being done and is merely inferred (TVOC/HCHO/CO/CO2 all track linearly if you graph them)

I regard these units as dangerous. They give false positives AND false negatives on CO levels(*), which may cause the average user to gain a false sense of security

(*) They donā€™t respond to elevated CO at all, but report lethal levels if exposed to alcohol fumes

Search for ā€œha iaqukā€ in HACS. The name has changed or that happened with the hacs 2.0 update?!

Thanks for that component!!!