Homebridge plugin for both Wave (first generation) and Wave Plus radon sensors from Airthings Requires bluetooth capable Raspberry Pi that communicates directly with the the Wave/Wave Plus without the need of a hub. Reads the following values:
- Temperature
- Humidity
- Radon short-term average
- Radon long-term average
- Atmospheric pressure (Wave Plus only)
- Carbon dioxide level (Wave Plus only)
- Volatile organic compounds level (Wave Plus only)
Note that radon, pressure and VOC can only be viewed using the Eve app (and others) but not in the Home app. However, these values can be accessed using Automation shortcuts in the Home app so they can be automatically logged to a database if needed (they all show up as 'Custom' variable).
Make sure you are using a bluetooth capable Raspberry Pi and that it is located within range of the Airthings Wave / Wave Plus.
- Install Homebridge using
npm install -g homebridge
- Install this plugin
npm install -g --unsafe-perm https://github.com/HSkul/homebridge-airthings-wave
- Download wave_read.py and/or waveplus_read.py Python scripts and place them in /home/pi or another location of your choice (indicated in config.json).
- Download find_wave.py Python script and place it in /home/pi (or other location of your choice)
- Update your configuration file - see below for an example
Use 'python find_wave.py SN' to find the bluetooth address of your Airthings Wave radon sensor, where SN is the serial number of your radon sensor (found on the back of it). If you have multiple Wave/Wave Plus sensors it will actually list bluetooth addresses of them all even if you just run it with one of serial numbers. Note that you may need to turn bluetooth off on your phone so the Waves are broadcasting (and this is the reason why I have the python scripts take the bluetooth address and not the serial number as I want my phone to still talk to the Wave/Wave Plus).
- Setup config.json according to below.
accessory
: "Airthings"name
: descriptive namewaveplus
: true / false : false is for Wave generation 1name_temperature
(optional): descriptive name for the temperature sensorname_humidity
(optional): descriptive name for the humidity sensoraddress
: bluetooth address of Wave/Wave Plus obtained from find_wave.pyrefresh
: Optional, time interval for refreshing data in seconds, defaults to 1hpath
( optional ): Full path and name of the python script. Defaults to '/home/pi/wave_read.pi'. Use waveplus_read.py if you have a Wave Plus
Example configuration:
"accessories": [
{
"accessory": "Airthings",
"name": "MyWave",
"waveplus": false,
"name_temperature": "Temperature",
"name_humidity": "Humidity",
"refresh": 3600,
"address": "AA:BB:BB:CC:DD:EE",
"path": "/home/pi/wave_read.py"
},
{
"accessory": "Airthings",
"name": "MyWavePlus",
"waveplus": true,
"name_temperature": "Temperature",
"name_humidity": "Humidity",
"name_CO2": "Carbon Dioxide",
"refresh": 900,
"address": "AA:BB:BB:CC:DD:EE",
"path": "/home/pi/waveplus_read.py"
}
]
- NorthernMan54/rxseger - Barometric Pressure and Device Polling Plugin this based on
MIT