Sensory ds18b20 wpięte w esp8266 i wysyłające pakiety danych przez udp

Kilka lat temu “wypociłem” coś takiego:

i działa do dziś.
Mam pytanie czy to się da jakoś spiąć z HA, czy budować coś od nowa na esphome?
Wolałbym tego nie ruszać bo się sprawdza i ładnie wyświetla temperatury w ramce z oled i na apce termik4temp w smartfonie.
A do HA chciałbym tylko dodać sensory temp do tworzenia statystyk.

Dodaj obsługę MQTT i będziesz miał dane w HA.

1 Like

Do esp-serwera, czy osobno w każdym esp8266 z ds18b20?
esp-serwer odbiera dane z pozostałych esp z ds18b20 i przesyła cały pakiet udp do termik4temp i wyswietla na oled.

Wysyłając dane do MQTT w HA musisz mieć autoryzację, czyli user:pass aby MQTT odebrało twoje tematy

To rozumiem, ale biorąc pod uwagę mój projekt, czy przejdzie pakiet z głównego esp czy z “satelit” z czujnikami temperatury?
Jutro bedę testował, ale po co tracić czas na sprawdzanie jeśli coś jest niemożliwe.
Stopniowo dodaję poszczególne rzeczy do HA i cały czas się uczę :wink:

https://mqtt-explorer.com/
Mqtt-explorer Podpinasz pod MQTT HA i ślesz tematy z twoich urządzeń, jak coś będzie dochodzić będziesz to widział.

1 Like

Miałem właśnie proponować użycie MQTT. Jak masz już cały pakiet w jednym miejscu, to dokładając (we własnym kodzie) wysyłanie wiadomości MQTT (json) tworzonych na bazie tego pakietu i dzieląc je na tematy pod dany czujnik. Możesz wówczas mieć pełen odczyt tego co masz u siebie w HA. Dostosowując wszystko według potrzeb przy tworzeniu sensora w YAML.

2 Likes

Wszystko spięte ok po MQTT, mam tylko mały problem z początkowymi danymi, które testowo wysyłałem i zakłamują mi teraz statystyki :slight_smile:


Nie chciałbym z tego powodu usuwać całej bazy db, ani zmieniać topic dla sensora :(.
Da się jakoś tę bazę danych edytować?

  1. Obejście problemu (dawno z tego nie korzystałem, więc nie obiecuję, że ten trik nadal działa), to wyłączenie urządzenia na czas dłuższy niż gęste dane rekordera (domyślnie to 5 dni, więc wyłączenie na tydzień wystarczy).
    Wtedy będziesz miał informacje, że ta encja już nie jest dostarczana przez daną integrację i będziesz mógł usunąć encję oraz dotyczące jej zapisy w bazie. Nie może być ustawiona flaga retain w MQTT.

  2. Obejście problemu - skoro budowałeś to od zera, to po prostu utwórz nową encję o innym unikalnym ID nie powiązanym z tamtą encją z wadliwymi wartościami. A wartości starej skasuj jak w 1.

  3. Rozwiązanie eleganckie, dla bazy sqlite (wymagana wiedza jak edytować bazę)
    GitHub - hassio-addons/addon-sqlite-web: SQLite Web - Home Assistant Community Add-ons

1 Like

Spróbuję od pkt.3, dzięki.

1 Like

A próbowałeś w samej zakładce?

Narzędzia deweloperskie → STATYSTYKI → NAPRAW

Tam nie ma co naprawiać tylko trzeba wykasować błędne dane.