Komunikacja HA z esp8266 z softem ESPEasy po MQTT

Witam serdecznie.
Zaczynam zabawę z home assistant.
Do tej pory działam na domoticz już jakieś 4 lata.
Docelowo chciałbym przesiąść się na HA.
Mam zbudowany system zarządzający moim ogrodem oparty na espeasy. Nie chcę tego ruszać bo to po prostu działa. Esp komunikuje się z domoticz właśnie po protokole mqtt z racji tego, że mój system z esp ma dostęp do Internetu przez sieć mobilną.
Proszę o pomoc w ustawieniu parametrów w zakładce mqtt espeasy.
Nie ma zielonego pojęcia jak to wszystko zrobić w samym home assistant.

Tomek

1 polubienie

Cześć,
Tu jest przykład bazujący na mojej działającej konfiguracji ESPEasy z HA. Mam nadzieję, że to Ci pomoże.

ESPEASY zakładka CONTROLLERS

fragment z zakładki DEVICES

Plik .yaml z konfiguracją sensorów w HA

sensor:
  - platform: mqtt
    state_topic: 'home/salon/TH/Temp'
    availability_topic: 'home/salon/LWT' 
    name: "Temperatura Salon"
    device_class: temperature
    unit_of_measurement: '°C'

  - platform: mqtt
    state_topic: 'home/salon/TH/Hum'
    availability_topic: 'home/salon/LWT' 
    name: "Wilgotność Salon"
    unit_of_measurement: '%'
    device_class: humidity

Witaj Marek.
Dzięki za odpowiedź.
Mam trochę nowszą wersję softu w esp i są małe różnice.
Ale to chyba mam ustawione dobrze. Zerknij jeśli możesz.


W devices mam tak:

Wpis dodałem do pliku config.yaml (nie wiem czy dobrze zrobiłem)
Jestem całkowicie początkujący w HA
HA_config_1
W logach mosquitto brocker mam informację, że moje esp poprawnie się połączyło.
Bardzo proszę o dalsze wskazówki.
Co dalej zrobić, czy encja z temperaturą sama się pojawi?
Co zrobić żebym w interfejsie miał odczyt np. temperatury.
Z góry dziękuję za pomoc i pozdrawiam

Musisz poprawnie skonfigurować urządzenie MQTT może ten artykuł Tobie pomoże: https://arturhome.pl/mqtt-sterujemy-przelacznikiem/ na jego bazie powinieneś ogarnąć resztę :slight_smile: jak coś to pisz.

%sysname% to jest nazwa urządzenia, którą wpisuje się w ESPEasy w zakładce Config pozycja Unit Name: U Ciebie to jest to chyba “Domoticz_1a” więc musisz zmienić w pliku yaml

state_topic: 'home/Domoticz_1a/Pogoda/Temp'
availability_topic: 'home/Domoticz_1a/LWT'

Po dodaniu wpisu w pliku .yaml encja pojawi się w HA. Możesz to zobaczyć w Narzędziach Deweloperskich zakładka STANY

Resztę spróbuj zrobić na bazie poradnika od @artur

U mnie działa z taką konfiguracją:


sensor:

  • platform: mqtt
    name: “Temperatura zewnętrzna”
    state_topic: “NodeMCU/TEMP_ZEWN/Temperature”
    unit_of_measurement: ‘°C’

natomiast ja szukam odpowiedzi jak odpytać esp o stan switcha po restarcie HA - mam nieaktywny do momentu zmiany stanu w esp

Witajcie
Siedzę i tak kombinuję z tym MQTT i za nic mi to nie wychodzi.
Robię wszystko po kolei tak jak w filmie pokazuje Artur.
Instaluję brokera, wpisuję login i hasło, restartuję.
W ESP wpisuję ten sam login i hasło.
W logach z brokera MQTT mam info że nowy klient się połączył:
1594243438: New client connected from 192.168.8.16 as Domoticz_1a_4_4 (p2, c0, k10, u’Enzam123’).
Uruchamiam SSH & Web Terminal wklepuję polecenie : mosquitto_sub -d -t testTopic i dostaję coś takiego.
hhs_err
W integracjach pojawia się coś takiego.
Muszę coś tam ustawiać?
integracje
Bardzo proszę o pomoc.
Co robię nie tak?

@tomek masz odrzucone połączenie z brokerem, z powodu braku autoryzacji.
Przeanalizuj dokładnie poradnik https://arturhome.pl/mqtt-czas-zaczac-uruchamiamy-brokera/ od @artur żeby postawić działający broker.

Spróbuj podać w poleceniu nazwę użytkownika, hasło, IP brokera oraz topic /# który wyświetli wszystko co przychodzi do mqtt.

mosquitto_sub -u "użytkownik" -P "hasło" -h "ip_brokera_mqtt" -d -t /#

Ja do testowania MQTT zamiast komend z linii poleceń używam programu MQTT Explorer.

Też kilka lat korzystałem espeasy w domoticzu. Przesiadka na HA i zaczęły się problem z espeasy, więc grałem esphome i bez zamoty wszystko działa.

Kolejne podejście do MQTT i nadal nic z tego.
W mojej sieci cały czas działa Domoticz z Brokerem MQTT na porcie 1883 i na razie musi działać.
Czyli tego portu raczej nie mogę używać ?
Po kolejnym usunięciu brokera z HA i ponowny zainstalowaniu ustawiam port na 1884 drugi na 1885.
Uruchamiam brokera a w logach mam nadal 1883 i 1884.
Klient uruchomiony na espeasy loguje się z tego co widzę i port mam ustawiony na 1884.

[17:26:18] INFO: Setup mosquitto configuration
[17:26:18] INFO: Found local users inside config
[17:26:18] INFO: Initialize Hass.io Add-on services
[17:26:18] INFO: Initialize Home Assistant discovery
[17:26:18] INFO: Start Mosquitto daemon
1594567578: mosquitto version 1.6.3 starting
1594567578: Config loaded from /etc/mosquitto.conf.
1594567578: Loading plugin: /usr/share/mosquitto/auth-plug.so
1594567578: ├── Username/password checking enabled.
1594567578: ├── TLS-PSK checking enabled.
1594567578: └── Extended authentication not enabled.
1594567578: |-- *** auth-plug: startup
1594567578: Opening ipv4 listen socket on port 1883.
1594567578: Opening ipv6 listen socket on port 1883.
1594567578: Opening websockets listen socket on port 1884.
1594567578: Opening ipv4 listen socket on port 8883.
1594567578: Opening ipv6 listen socket on port 8883.
1594567578: Opening websockets listen socket on port 8884.
1594567578: Warning: Mosquitto should not be run as root/administrator.
1594567581: New connection from 192.168.8.15 on port 1883.
[INFO] found Enzam123 on local database
1594567582: New client connected from 192.168.8.15 as Domoticz_1a_4_4 (p2, c0, k10, u’Enzam123’).
1594567743: New connection from 172.30.32.1 on port 1883.
[INFO] found homeassistant on local database

W configuration.yaml w tej chwili mam tak :
configuration1
Miałem też dopisaną tą linijkę :
availability_topic: ‘home/Domoticz_1a_4_4/LWT’
Bez znaczenia.
W rejestrze encji pokazuj mi się encja Pomiar_temp ale wartości z czujnika nie ma
W powiązaniu mam komunikat : Nie znaleziono powiązanych elementów.
encja1
Wpisująć w terminalu : mosquitto_sub -d -t testTopic dostaję coś takiego
term1
Zaczyna mi już brakować pomysłów co mam nie tak.
W integracjach po instalacji pojawia mi się MQTT mosqitto broker. Czy tam coś trzeba ustawiać ? Z automatu jest ustawiona nazwa użytkownika i hasło.
integracje
mqtt_integr
Rozumiem, że dla większości z Was to wszystko jest banalnie proste ale ja próbuję się nauczyć HA.
Czy mam skasować kartę i zrobić nową instalację HA żeby mi MQTT zaczął działać?
Tego bym nie chciał robi chciałbym się dowiedzieć gdzie tkwi mój błąd, bo z doświadczenia wiem, że raczej zawsze wina leży po stronie programującego a nie sprzętu czy softu.
Znalazł by się może ktoś kto by znalazł czas i pokazał jak to zrobić na aktualnej wersji HA i na wersji mega-20200426 espeasy lub wyższej.
Kolega Marek pokazał mi swoje ustawienia jakie ma na espeasy ale jest to starsza wersja.
Ja mam wiele innych dodatkowych opcji w Controller Settings i nie wiem które muszą być zaznaczone.
Bardzo proszę o pomoc.

A powiedz czy jak masz już bokera na domoticzu który działa nie możesz z niego skorzystać coś mi tak się przypomina że jak ja robiłem przesiadkę i równolegle miałem ha i domoticza to bokera miałem jednego tego z domoticza, tak mi się coś kojarzy że nie instalowałem brokera a tylko dodałem integrację i wpisałem dane tego z domoticza i działało, chyba że coś mi się pomieszało z inną integracja :slight_smile:

@tomek na ostatnim screnie masz wpisany port 1883 w ustawieniach mqtt w HA a pisałeś, że ustawiłeś 1884

Witaj
Pewnie bym mógł tak zrobić Piotrze. Ale docelowo domoticz zostanie wyłączony dlatego to rozwiązanie odpada.
Rafale piszę nad tymi screnami, że w integracji pojawił mi się MQTT mosqitto broker. Z automatu jest ustawiona nazwa użytkownika i hasło. I tutaj nic nie mogę zmienić, próba zmiany portu na 1884 kończy się komunikatem
mqtt_integr1
Nie zmieniając portu klikam zatwierdz wyskakuje kolejne okno z którym nie wiem co zrobić.


Brokera instalowałem zgodnie z poradnikiem Artura na Yotube w supervizor Mosquitto broker. Tam ustawiłem login i hasło oraz zmieniłem porty.
Czekam na pomoc.
Pozdrawiam

A domoticz z espeasy jak się komunikuje po mqtt?

Tak komunikacja jest po MQTT i to działa kilka lat.

Czyli dobrze rozumiem że w espeasy ustawiasz dwa serwery mqtt jeden broker na HA a drugi na domoticzu? Jeśli tak to chyba właśnie dlatego nie działa bo z tego co pamiętam mi też na dwóch ustawionych serwerach w espeasy nie chciało działać, ale jak zrobiłem sobie integrację na tego z domoticza poustawiałem sobie wszystko w ha a później tylko podmieniłem brokera i śmiga

W espeasy mam włączone tyklo jedno ustawienie MQTT własnie z HA a domoticza mam wyłączonego. Jesli dobrze pamiętam espeasy wywala błąd jak spróbuje włączyć dwa na raz.
Jak pisałem wcześniej espeasy loguje się prawidłowo z HA co pokazuję w screnie z logami brokera mqtt.

#jacob
Ja mam taką automatyzację do odpytania stanu bramy

alias: stan bramy wjazdowej
trigger:

  • event: start
    platform: homeassistant
    action:
  • data:
    payload: get
    topic: /brama/gate/cmd
    service: mqtt.publish
    initial_state: ‘true’

Ja mam tak ustawione w supervisor brokera

A integrację tak

W username ustaw użytkownika jakiego masz ustawionego w brokerze oraz hasło

A podeślij jeszcze screena z espeasy, jakie masz tam nazwy