Airthings Radion Detection, Integration and Stoplight

Radon is a major problem in middle Tennessee (Nashville area) as well as much of the USA. I run three different Airthings monitors Airthings to keep track. The built in Airthings integration is pretty good but insists on using EU units and not USA-typical units (PCI/L). I’ve applied custom sensors to it, along with a custom dashboard. For extra fun, I’ve developed an ESP32 with 4 integrated relays that lights up a stoplight hanging my office that changes the stop light color based on radon levels and changes.

Configuration YAML

template
  - sensor:
      - name: "Current Radon (US) - Airthings Base"
        unique_id: radon_current_us_base
        unit_of_measurement: "pCi/L"
        state_class: measurement
        icon: mdi:radioactive
        state: "{{ (states('sensor.at_base_radon') | float / 37) | round(2) }}"
  - sensor:
      - name: "Current Radon (US) - Airthings 1st Floor"
        unique_id: radon_current_us_1st
        unit_of_measurement: "pCi/L"
        state_class: measurement
        icon: mdi:radioactive
        state: "{{ (states('sensor.at_1st_radon') | float / 37) | round(2) }}"
  - sensor:
      - name: "Current Radon (US) - Airthings 2nd Floor"
        unique_id: radon_current_us_2nd
        unit_of_measurement: "pCi/L"
        state_class: measurement
        icon: mdi:radioactive
        state: "{{ (states('sensor.at_2nd_radon') | float / 37) | round(2) }}"
  - sensor:
      - name: "Radon Status Text"
        unique_id: radon_text_level_foo
        icon: mdi:radioactive
        state: >-
          {% if states('sensor.at_base_radon') | float < 100 %}
             RADON OK
          {% elif states('sensor.at_base_radon') | float < 150 %}
             RADON ALERT
          {% else %}
             RADON DANGER
           {% endif %}

1 Like