Integrarea BME680 cu Home Assistant

  • 3 minute de citit
  • 6 exemple de cod
  • 5 imagini

Disponibil și în English

Pe această pagină

Salut 👋,

În acest articol scurt voi arăta cum să folosești integrarea BME680 pentru Home Assistant cu un senzor BME680.

Te rog să reții că rulez Home Assistant core pe Raspbian OS.

Configurarea Raspberry Pi

Înainte de a conecta senzorul, va trebui să activezi interfața I2C pe Raspberry Pi și să instalezi câteva unelte suplimentare, utile pentru depanare.

Pentru a activa interfața I2C, rulează:

sudo raspi-config

Apoi mergi la Interfacing options->I2C și selectează yes.

Apoi, instalează următoarele pachete:

sudo apt-get install build-essential libi2c-dev i2c-tools python-dev libffi-dev

Configurarea senzorului

Primul pas este să cumperi senzorul; dacă poți, ia unul cu pini deja lipiți, altfel va trebui să îi lipești tu.

Eu l-am luat de la Pimoroni și nu m-au dezamăgit niciodată, livrează și în UE.

Senzorul BME680. Captură de ecran Pimoroni 2022-01-16 Apoi, în funcție de pinii pe care i-ai ales, vei avea nevoie de patru fire jumper male-to-female pentru a conecta BME680 la Raspberry Pi.

Pentru a conecta senzorul la Raspberry Pi, consultă următoarea diagramă:

Trebuie să conectezi firele la următoarele magistrale:

  • Alimentarea senzorului -> Raspberry PI 3.3V
  • GND senzor -> GND Raspberry PI
  • SCL senzor -> SCL Raspberry PI
  • SDA senzor -> SDA Raspberry PI

Verifică dacă senzorul este detectat folosind următoarea comandă pe Raspberry Pi.

/usr/sbin/i2cdetect -y 1

Ar trebui să obții un rezultat ca acesta:

0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f00:          -- -- -- -- -- -- -- -- -- -- -- -- --10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- --40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --70: -- -- -- -- -- -- -- 76

Adresa I2C a senzorului poate fi 0x76 sau 0x77. Conform rezultatului de mai sus, adresa senzorului în cazul nostru este 0x76, ține minte asta.

Configurarea Home Assistant

Adaugă utilizatorul homeassistant în grupul I2C rulând:

sudo addgroup homeassistant i2c

Apoi, deschide configuration.yaml și modifică secțiunile sensor și homeassistant.customize conform:

Nu uita să înlocuiești i2c_address : 0x76 cu adresa ta i2c, dacă este diferită.

homeassistant:  name: HomeKit NucuLabs  unit_system: metric  time_zone: Europe/Bucharest  customize:    sensor.bme680_sensor_temperature:      icon: mdi:thermometer      friendly_name: Temperature    sensor.bme680_sensor_humidity:      icon: mdi:water      friendly_name: Humidity      device_class: humidity      unit_of_measurement: "%"    sensor.bme680_sensor_pressure:      icon: mdi:gauge      friendly_name: Pressure    sensor.bme680_sensor_air_quality:      icon: mdi:blur      friendly_name: Air Quality      device_class: pm25      unit_of_measurement: "%"sensor:  - platform: bme680    i2c_address: 0x76    monitored_conditions:      - temperature      - humidity      - pressure      - gas      - airquality

Repornește dispozitivul după ce ai modificat configuration.yaml, rulând sudo reboot.

Notă: Secțiunea customize sensor.bme680_sensor_air_quality setează clasa de dispozitiv a măsurătorii calității aerului BME680 la pm25, dar aceasta nu este o măsurătoare pm25, ci un algoritm proprietar conform fișei tehnice BME680. Valorile mari indică o calitate bună a aerului, iar valorile mici o calitate slabă. În schimb, la măsurătorile pm25, valorile mari indică o calitate slabă a aerului, iar valorile mici una bună.

Aceasta este un hack și depinde de tine dacă vrei să îl păstrezi. Dacă nu setezi clasa de dispozitiv la pm25, măsurătoarea nu va fi vizibilă în Apple Homekit, deoarece Homekit nu recunoaște acest tip de măsurătoare. Dacă știi o altă metodă de a o face vizibilă în Homekit, spune-mi. 😀

După ce Home Assistant repornește, următoarele entități ar trebui să fie disponibile în interfața Lovelace:

Mulțumesc că ai citit! 🍻