ESP8266 + DHT11 stacja pogodowa – v3.0.0

Weather Station Device

Od mojego ostatniego artykułu o Stacji Pogodowej minęły już ponad 3 miesiące. Przez ten czas udało mi się przygotować nową wersję aplikacji, która posiada nową funkcjonalność – możliwość komunikacji z Home Assistant.

Nowa wersja v3.0.0 ma poprawionych kilka drobnych błędów, ale przede wszystkim ma jedną nową funkcjonalność. Teraz może się komunikować z serwerem za pomocą protokołu HTTP lub MQTT. Tak jak wspomniałem powyżej zmiana została podyktowana komunikacją nie tylko z moją aplikacją zbierającą dane ale także z serwerem Home Assistant. To wszystko spowodowało, że komunikacja MQTT w tym przypadku jest bardziej wydajna, gdyż nie powoduje zależności Stacji Pogodowej od dwóch (a może w przyszłości od większej liczby) serwerów tylko wysyła informację do serwera MQTT a ten przekazuje to dalej do wszystkich, którzy zasubskrybowali się na konkretne zdarzenie.

Oczywiście, niezależnie od tego, którego protokołu będziesz używał, Stacja Pogodowa nadal będzie używać lokalnego pliku z danymi, jeśli serwer nie będzie dostępny. Jeśli komunikacja będzie możliwa urządzenie wyśle aktualne dane, a następnie spróbuje wysłać te archiwalne. Należy przy tym pamiętać, że ograniczenie w zapamiętanych danych wynosi 150 pozycji i po osiągnięciu tego limitu najstarszy wynik jest usuwany a jego miejsce zajmuje najnowszy.

To by było na tyle jeśli chodzi o zmiany. Nie byłbym jednak sobą, gdybym nie przekazał także konfiguracji mojego urządzenia z Home Assistant. Aby prawidłowo skonfigurować urządzenie należy dodać poniższy kod do pliku sensors.yaml.

  • platform: mqtt
    name: "Test Temp"
    state_topic: "ws/00FF00_0/SENSOR"
    unit_of_measurement: '°C'
    value_template: "{{ value_json.payload.temp }}"
    device_class: "temperature"
    unique_id: "00FF00_temp"
    force_update: true
  • platform: mqtt
    name: "Test Hum"
    state_topic: "ws/00FF00_0/SENSOR"
    unit_of_measurement: '%'
    value_template: "{{ value_json.payload.hum }}"
    device_class: "humidity"
    unique_id: "00FF00_hum"
    force_update: true

Myślę, że konfiguracja jest generalnie prosta, ale warto zwrócić uwagę na dwa ważne parametry

  • unique_id – każde urządzenie i każdy sensor muszą mieć unikalne
  • state_topic – zdarzenie na którym będzie nasłuchiwanie na pojawiające się dane składa się z 6-cio cyfrowego identyfikator urządzenia i numeru sensora (00FF00_0), gdzie ostatnie 0 to numer pierwszego sensora

To wszystko jeśli chodzi o zmiany w wersji v3.0.0. Jeśli masz jakieś pytania co do Stacji Pogodowej lub konfiguracji z Home Assistant nie wahaj się i napisz do mnie lub umieść komentarz poniżej.

ESP8266 + DHT11 stacja pogodowa – v3.0.0
Przewiń do góry