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: trueplatform: 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.