Передача рівня забрудненості дрібнодисперсійним пилом PM2.5 (разом із PM1, PM10) на публічну карту sensor.community.
Повна шлях даних:
Метеостанція (домашня) із лазерним давачем PMS7003 Plantower -> ESPHome (домашня) -> Home Assistant (домашній) -> sensor.community | luftdaten.info -> SaveEcoBot.
Формуємо JSON із даними:
{ "software_version": "UAID", "sensordatavalues":[ {"value_type":"P0", "value":"15"}, {"value_type":"P2", "value":"9"}, {"value_type":"P1", "value":"25"}, {"value_type":"temperature", "value":"-2"}, {"value_type":"humidity", "value":"80"}, {"value_type":"pressure_sealevel", "value":"777"} ] }
Сформований JSON передаємо у POST на
https://api.sensor.community/v1/push-sensor-data/
Додаємо потрібні заголовки:
Content-Type: application/json X-Pin: 1 X-Sensor: esp32-123456
У configuration.yaml додаємо RESTful Command.
rest_command: sensor_community_pm: url: "https://api.sensor.community/v1/push-sensor-data/" method: post content_type: "application/json" headers: X-Pin: 1 X-Sensor: esp32-123456 payload: '{"software_version": "UAID","sensordatavalues":[{"value_type":"P0","value":"{{ pm1 }}"},{"value_type":"P2","value":"{{ pm25 }}"},{"value_type":"P1","value":"{{ pm10 }}"}]}'
і додаємо у automations.yaml відправку даних кожні 5 хвилин.
- id: 'community_pm' alias: "sensor_community відправка PM" triggers: - platform: time_pattern minutes: "/5" actions: - action: rest_command.sensor_community_pm data: pm1: "{{ states('sensor.meteo_pm1') }}" pm25: "{{ states('sensor.meteo_pm2_5') }}" pm10: "{{ states('sensor.meteo_pm10') }}" temp: "{{ states('sensor.meteo_temp') }}" humi: "{{ states('sensor.meteo_hum') }}" press: "{{ states('sensor.meteo_pressure') }}"
Тепер дані доступні онлайн.
Дані беруться із метеостанції:
Інформація для цитування:
Юрій Р. ◯ 0009-0005-3702-9223. (2025). Передача рівня забрудненості повітря на публічну карту. Блог UA ID. Взято з: https://blog.uaid.net.ua/air-pollution-public
Використання фотографій або текстового контенту на інших ресурсах без клікабельного індексованого посилання заборонено.