Esphome airthings integration

I just purchased a airthings wave plus and I was looking at hardware to integrate it into home assistant. I am currently using successfully two DIY sonoff garage door openers in ESPHOME.

The way I see it is I have 2 options:
1)A diy esphome ble to wifi hub using esp32-wroom-32(looks like I have a kind of d1 mini knockoff)
2)A bluetooth dongle ex Feasycom FSC-BP119 (CSR8510A10)

I would like some feedback for the best course here and I thought this technically minded segment of the forum might be the best.

My questions are:
1)Has anybody here the similar use case with esphome and airthings and what was there outcome?

2)Is the esp32 hardware dedicated to that particular ble device or can it handle more than one?

3)Not a esphome question but for the technically minded, I have zigbee and 2 wifi AP’s all running on the least overlapping channels do you think feasycom would be “problematic” in terms of interference?

I’ve gone down the esp32 route but so far it doesn’t seem reliable. At some point it seems to have stopped updating values(may have been an update to newer version of esphome). I am working on troubleshooting the regular things like placing the airthings wave + and the esp32 closer together.

Does anybody have this set up and working reliably? I am also curious about setting up the esp32 as ble hub versus it looks like a bluetooth proxy and airthings integration?

I have the same problem. It used to be reliable solution to use esp32 with airthings wave plus. However, dome months ago it just stopped working reliably. It can update values for some hours but then it just stops. Haven’t found a working solution for this.

ESPhome seems to have had some updates and so far I have a stable gathering of data but we will see. I am wondering if it has something to do with enabling auto refresh on the airthings app in my phone which I haven’t done.

Its kind of a weird set up to use your phone as a bluetooth hub like that. I wonder how much data the airthings device can buffer before you start losing data points if you dont sync it with your phone? Currently I am also using the airthings cloud based integration but I mean if I dont sync with my phone that must also be screwy.

@VanDoni , @dasbooter are you using ESPhome as BLE proxy and running the airthings integration in HA, or are you using the airthings integration in ESPhome and exposing the sensors from there?

In the past, for a more than a year I used the latter and it was very stable, trouble free. A few months back I switched to BLE Proxy but I keep having lockups in ESPhome requiring an ESP restart

Not sure exactly what you mean. Are you talking about the cloud integration? I mean the clouds the cloud with all of its downsides and I’m not referring to that. I’ve a wroom esp32 device flashed with esphome as per the directions on the esphome website specifically for airthings. That device sits inches away from the air things sensors.

Incidentally I can see that it has stopped responding again and has been displaying the exact same value for 3 days.

Referring to ESPhome. I use an ESP32 for this. There are two way to integrate airthings to HA using an ESP. One is with the native ESPhome integration, AirThings BLE Sensors — ESPHome
Another one is by setting the ESPhome devices as a BLE_proxy and then adding the airthings integration in HA directly.

Both work, but the second one seems to be unstable, so I am rolling back to the former (which I had used in the past for over a year without a single connection issue)

May I ask specifically which esp32 device you are using? I believe I’m using yaml similar to this

esphome:
  name: ble-hub
esp32:
     board: esp32dev
     framework:
           type: arduino


sensor:
  - platform: airthings_wave_plus
    ble_client_id: airthings01
    update_interval: 5min # default
    temperature:
      name: "WavePlus Temperature"
    radon:
      name: "WavePlus Radon"
    radon_long_term:
      name: "WavePlus Radon Long Term"
    pressure:
      name: "WavePlus Pressure"
    humidity:
      name: "WavePlus Humidity"
    co2:
      name: "WavePlus CO2"
    tvoc:
      name: "WavePlus VOC"

ble_client:
  - mac_address: 01:02:03:04:05:06
    id: airthings01

esp32_ble_tracker:

I believe I’m using the same as you. On occasion it still stops responding and gives the same value for days. Restarting ble-hub under the esphome integration seems to bring it back. As a work around I was thinking of a binary sensor that would turn on/off if there was no variance in the value I’m interested in which is radon.

Trying to better understand this problem - can the AirThings Wave report sensor data to ESPhome without ever connecting the device to an AirThings app or account?

Maybe, you would have to try. I haven’t synced my device with the app for months now though. Hard to say how much data it can cache too. May have lost some. The esp32 seems more reliable though, there was a recent update to ble that required you add a client id # I think which may have fixed my problem. Maybe it was database related idk

Got it, thanks! I just set it up with no AirThings account or ESP32, and things seem to be working (or, at least, they aren’t obviously broken). I’ll be playing with different set ups, and will report back if I find any answers to your questions.