Sonoff - ewelink be...
 
Powiadomienia
Wyczyść wszystko

[Rozwiązany] Sonoff - ewelink bez "N" + HA - nie działa integracja po MQTT

14 Wpisów
4 Użytkownicy
2 Reactions
2,875 Wyświetleń
(@stefan1818)
Wpisów: 37
Kontrybutor Donator 2K20
Autor tematu
 

Witam serdecznie, tak jak pisałem w innym temacie chciałem przeinstalować od zera HA i tak też uczyniłem gdyż nie mogę sprawić, żeby mqqt współpracował z afe co zaczyna być już flustrujące. Męczę się już ponad 10 dni z konfiguracją wydawać by się było prostej rzeczy, a mianowicie integracja jednego przełącznika z Home Assistant po MQTT. Przeczytałem już masę tutoriali, poradników, tematów na forach i wydawać by się mogło, że powinno działać bez problemów 😠 

Mam najnowszą wersję HA bodaj 3.10, z wtyczek zainstalowałem tylko configurator, ale nic jeszcze nie zmieniałem w plikach yaml oraz Mosquitto.

Maszyna ma stały adres ip przypisany z DHCP.

I teraz do rzeczy, konfiguracja mosquitto wygląda tak:

mosquitto

natomiast konfiguracja AFE tak:

afe 1

afe 2

afe 3

Po instalacji brokera wkleiłem tylko configa z pierwszego linka, następnie odpaliłem wtyczkę i w integracjach pojawił się mosquitto na samej górze - konfiguracja po kliknięciu wygenerowała się sama, ja tylko zaznaczyłem dodatkowo autowykrywanie.

Po restarcie malinki dostaję taki oto komunikat:

ha login failed

Natomiast jak wejdę w integracje > mqqt :

mqqt broker

Podgląd logów mosquitto jest następujący:

log

 

ps. aha próbowałem tak samo z anonymous: false, wtedy jeszcze wrzucam w config mqqt login i pass, które jeszcze wklejam do AFE - ale efekt jest ten sam.

 

ps2 czekam na wasze propozycje 🙂

 
Dodane : 13/02/2020 9:53 pm
(@steel_rat)
Wpisów: 603
Ekspert
 

A gdzie masz skonfigurowanego użytkownika na, którego się logujesz do MQTT.

 
Dodane : 14/02/2020 12:19 am
(@stefan1818)
Wpisów: 37
Kontrybutor Donator 2K20
Autor tematu
 

Jak jest anonymous true to nigdzie i chyba powinno tak działać? Jak sprawdzałem z użytkownikiem to wpisy były tylko w konfiguracji pluginu mosquitto w sekcji logins oraz w urządzeniu afe. Nie było nic konfigurowane po stronie ha.

 
Dodane : 14/02/2020 6:31 am
(@stefan1818)
Wpisów: 37
Kontrybutor Donator 2K20
Autor tematu
 

Nie wiem gdzie błędu szukać - niby wszystko jest a nie działa ...

Czy AFE mam dobrze ustawione ? Muszę jakoś zawęzić pole poszukiwania.

 
Dodane : 14/02/2020 1:30 pm
adrian
(@adrian)
Wpisów: 4035
Szefu Admin Zasłużony dla Forum, Patron Strony
 

popróbujmy odszukać problem (nie używam HA więc trochę w ciemno)

  • czy mosquitto działa - łączy się z nim urządzenie z AFE - spróbujmy posterować nić z poziomu linii komend

 

mosquitto_pub -h adres_ip_gdzie_masz_mqtt_broker -p 1883 -t -u nazwa_uzytkownika -P haslo "dom/hol/swiatlo/cmd/cmd" -m "toggle"

 

Jeśli nie masz klienta mosquitto zainstalowanego

sudo apt-get install mosquitto-clients
 
Dodane : 14/02/2020 4:29 pm
lukas121
(@lukas121)
Wpisów: 543
Ekspert Zasłużony dla Forum Donator 2K19
 

W mosquito zostaw domyślną konfigurację, natomiast dodaj to jeśli nie masz do configuration.yaml

mqtt:
discovery: true
discovery_prefix: homeassistant
broker: ip
port: 1883
username: xxxxx
password: xxxxx

wpisz swój adres ip nazwę i hasło.

 
Dodane : 14/02/2020 10:17 pm
(@stefan1818)
Wpisów: 37
Kontrybutor Donator 2K20
Autor tematu
 
@lukas121

 

Dodałem to co mi napisałeś do konfiguracji w pliku yaml - w zasadzie wklejam cały plik gdyż nic tam praktycznie nie ma:


# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:

# Uncomment this if you are using SSL/TLS, running in Docker container, etc.
# http:
# base_url: example.duckdns.org:8123

# Text to speech
tts:
- platform: google_translate

group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

# Example configuration.yaml entry
mqtt:
discovery: true
discovery_prefix: homeassistant
broker: 192.168.1.100 // tutaj podaję IP malinki na którym jest zainstalowany mosquitto
port: 1883
username: adam // nie tworzyłem specjalnie usera pod mqtt - ten user i hasło jest moim kontem administracyjnym
password: moje_hasło

a brokera moquitto przywróciłem do ustawień fabrycznych, czyli takich:

logins: []
anonymous: false
customize:
active: false
folder: mosquitto
certfile: fullchain.pem
keyfile: privkey.pem
require_certificate: false

Zrestartowałem serwer, w logach pojawiły się takie wpisy:

 

[08:09:47] INFO: Setup mosquitto configuration
[08:09:47] WARNING: SSL not enabled - No valid certs found!
[08:09:47] INFO: No local user available
[08:09:48] INFO: Initialize Hass.io Add-on services
[08:09:48] INFO: Initialize Home Assistant discovery
[08:09:48] INFO: Start Mosquitto daemon
1581750589: mosquitto version 1.6.3 starting
1581750589: Config loaded from /etc/mosquitto.conf.
1581750589: Loading plugin: /usr/share/mosquitto/auth-plug.so
1581750589: |-- *** auth-plug: startup
1581750589:  ├── Username/password checking enabled.
1581750589:  ├── TLS-PSK checking enabled.
1581750589:  └── Extended authentication not enabled.
1581750589: Opening ipv4 listen socket on port 1883.
1581750589: Opening ipv6 listen socket on port 1883.
1581750589: Opening websockets listen socket on port 1884.
1581750589: Warning: Mosquitto should not be run as root/administrator.
1581750589: New connection from 192.168.1.7 on port 1883.
[INFO] found adam on Home Assistant
1581750592: New client connected from 192.168.1.7 as wl-korytarz (p2, c1, k15, u'adam').
1581750593: New connection from 192.168.1.100 on port 1883.
1581750594: Socket error on client <unknown>, disconnecting.
1581750594: New connection from 192.168.1.100 on port 1883.
1581750594: New client connected from 192.168.1.100 as auto-509EB64A-7FE7-EAD9-5676-1CE087551CDD (p2, c1, k60, u'adam').
1581750596: New connection from 172.30.32.1 on port 1883.
1581750597: Socket error on client <unknown>, disconnecting.
1581750597: New connection from 172.30.32.1 on port 1883.
[INFO] found homeassistant on local database
1581750598: New client connected from 172.30.32.1 as auto-F56EE82B-50CA-A250-B2BD-4FFD8009D3EB (p2, c1, k60, u'homeassistant').
1581750599: New connection from 192.168.1.7 on port 1883.
1581750599: Client wl-korytarz already connected, closing old connection.
1581750599: New client connected from 192.168.1.7 as wl-korytarz (p2, c1, k15, u'adam').
1581750757: Client auto-509EB64A-7FE7-EAD9-5676-1CE087551CDD disconnected.
1581750759: Socket error on client auto-F56EE82B-50CA-A250-B2BD-4FFD8009D3EB, disconnecting.
1581750800: New connection from 192.168.1.100 on port 1883.
1581750800: New client connected from 192.168.1.100 as auto-CC5FA786-C2B5-1679-7CFC-0F6D19451F85 (p2, c1, k60, u'adam').
1581751628: New connection from 172.30.32.1 on port 1883.
[INFO] found adam on Home Assistant
1581751631: New client connected from 172.30.32.1 as mosq-gEUglKG3UmLuwUTIh6 (p2, c1, k60, u'adam').
1581751631: Client mosq-gEUglKG3UmLuwUTIh6 disconnected.
1581751767: New connection from 172.30.32.1 on port 1883.
1581751767: New client connected from 172.30.32.1 as mosq-R2A8gjTTcDUzcNWCrp (p2, c1, k60, u'adam').
1581751767: Client mosq-R2A8gjTTcDUzcNWCrp disconnected.
1581752389: Saving in-memory database to /data/mosquitto.db.
1581752743: New connection from 172.30.32.1 on port 1883.
[ERROR] Auth error with adam
1581752748: Socket error on client <unknown>, disconnecting.
1581752763: New connection from 172.30.32.1 on port 1883.
[INFO] found adam on Home Assistant
1581752766: New client connected from 172.30.32.1 as mosq-txGmWlUJoP0U8aQ4ma (p2, c1, k60, u'adam').
1581752766: Client mosq-txGmWlUJoP0U8aQ4ma disconnected.
1581752769: New connection from 172.30.32.1 on port 1883.
1581752769: New client connected from 172.30.32.1 as mosq-ljngcirp4BdciQcwYu (p2, c1, k60, u'adam').
1581752769: Client mosq-ljngcirp4BdciQcwYu disconnected.
1581752771: New connection from 172.30.32.1 on port 1883.
1581752771: New client connected from 172.30.32.1 as mosq-4pMUgdmEdEBlNdnyfa (p2, c1, k60, u'adam').
1581752771: Client mosq-4pMUgdmEdEBlNdnyfa disconnected.
1581752772: New connection from 172.30.32.1 on port 1883.
1581752772: New client connected from 172.30.32.1 as mosq-RdqygmlfGEPmjvoTYg (p2, c1, k60, u'adam').
1581752772: Client mosq-RdqygmlfGEPmjvoTYg disconnected.

W integracjach nic nowego się nie pojawiło, a w skonfigurowanych kiedy kliknę na MQTT pojawia się : Ta integracja nie ma żadnych urządzeń.

@adrian

Jeśli chodzi o sprawdzenie to wygląda to tak, że musiałem trochę zmienić tą komendę i wklepałęm to:

mosquitto_pub -h 192.168.1.100 -p 1883 -u adam -P moje_hasło -t "dom/hol/swiatlo/cmd/cmd" -m "toggle"

Zadziałało i światło się zapala i gasi w zależności od poprzedniego stanu 🙂

Czyli broker działa prawidłowo, tylko po stronie HA czegoś brakuje ??

 
Dodane : 15/02/2020 8:47 am
adrian
(@adrian)
Wpisów: 4035
Szefu Admin Zasłużony dla Forum, Patron Strony
 

@stefan1818

gdzieś w HA takie coś powinieneś chyba wpisać / zaktualizować

https://www.smartnydom.pl/forum/main-category-home-assistant/sonoffafe-ha-brak-wykonania-akcji/#post-11519

  - platform: mqtt
name: "Lampa"
command_topic: "dom/hol/swiatlo/cmd/cmd"
state_topic: "dom/hol/swiatlo/cmd/state"
qos: 1
payload_on: "on"
payload_off: "off"
retain: true

 

 
Dodane : 15/02/2020 9:30 am
lukas121
(@lukas121)
Wpisów: 543
Ekspert Zasłużony dla Forum Donator 2K19
 

@stefan1818 w integracjach nic ci się nie pojawi bo afe nie ma wykrywania po mqtt ( jeśli się mylę niech mnie @adrian poprawi). Musisz ręcznie dodawać wszystkie urządzenia z afe. Musisz wkleić to do configuration.yaml  i w afe konfiguracji mqtt wpisac login i haslo.

light:
- platform: mqtt
name: "Światło"
command_topic: "dom/hol/swiatlo/cmd/cmd"
state_topic: "dom/hol/swiatlo/cmd/state"
qos: 1
payload_on: "on"
payload_off: "off"
retain: true


 
Dodane : 15/02/2020 11:17 am
(@stefan1818)
Wpisów: 37
Kontrybutor Donator 2K20
Autor tematu
 

@adrian

@lukas121

Dzięki wielkie za pomoc w końcu ruszyło - sam nie wiem co wcześniej robiłem źle - jeszcze to przeanalizuję, ale przy waszej pomocy wreszcie się udało bo już mnie nerwy brały - próbowałem to rozgryźć prawie dwa tygodnie i nie wiedziałem gdzie popełniam błędy - problem w tym, że trzymając się dokumentacji wcale nie jest to takie oczywiste moim zdaniem. Dokumentacja może i jest, ale napisana jest bardzo ogólnie.

Dla potomnych napiszę od początku co było zrobione, aby połączenie Home Assistant + Sonoff touch AFE + MQTT Mosquitto działało prawidłowo - napisze tylko podstawową działającą konfigurację gdyż dopiero zaczynam i póki co nie czuję się na siłach nic więcej doradzać 🙂

Instalacja na RPi (nie ma znaczenia które)

1. Na czystym systemie hassio dodałem następujące addony:

- Configurator (sama wtyczka nie wymaga żadnej dodatkowej konfiguracji),

- SSH Serwer (łączenie się przez PUTTY) - konfiguracja banalnia i nie opisuję jej bo nie jest to krok niezbędny do działania w/w zestawu,

- broker MQTT Mosquitto (tutaj najwięcej rozbieżności, gdyż w zależności od wersji różnie piszą w poradnikach, w dokumentacji też uważam że jest sporo wiedzy ale bardziej zaawansowanej - brakuje prostego minimum, które zadziała)

2. Konfiguracja hassio to w zasadzie ustawienie po stronie dhcp stałego adresu malinki, konfiguracji brokera lepiej nie ruszać, działa ta domyślna, nie tworzyłem również dedykowanego usera pod mqtt, tylko wpisałem dane do konta z którego się loguję do HA, natomiast w pliku configuration.yaml dodałem takie wpisy:

mqtt:
discovery: true
discovery_prefix: homeassistant
broker: 192.168.1.100 // adres IP malinki/brokera
port: 1883
username: xxx
password: hasło_xxx

light:
- platform: mqtt
name: "Światło"
command_topic: "dom/hol/swiatlo/cmd/cmd"
state_topic: "dom/hol/swiatlo/cmd/state"
qos: 1
payload_on: "on"
payload_off: "off"
retain: true

 

Niby proste, ale się nakombinowałem, żeby działało 🙂

 

 
Dodane : 15/02/2020 4:34 pm
adrian
(@adrian)
Wpisów: 4035
Szefu Admin Zasłużony dla Forum, Patron Strony
 

dzięki za instrukcję - komuś zdecydowanie może się przyda.

Sugerowałbym Ci jeszcze zmienić w konfiguracji AFE temat MQTT do sterowania przekaźnikiem - teraz masz taki pokraczny

dom/hol/swiatlo/cmd/cmd

Ustaw w AFE 

dom/hol/swiatlo

w HA będziesz miał do sterowania:

dom/hol/swiatlo/cmd

to stanów

dom/hol/swiatlo/state
 
Dodane : 15/02/2020 4:51 pm
(@stefan1818)
Wpisów: 37
Kontrybutor Donator 2K20
Autor tematu
 

Jeszcze raz dziękuję za pomoc. Tematy zmieniłem wg wskazówek.

Potestowalem moje poprzednie konfiguracje bo mi to spokoju nie dawało i już wiem czemu nie działały. Jeden mały szczegół nigdzie o tym wprost nie pisze, a wręcz przeczytałem w oficjalnej dokumentacji mosquitto brokera wprowadzającą w błąd informację:

Create a new user for MQTT via the Configuration -> Users (manage users). Note: This name cannot be homeassistant or addon, those are reserved usernames.

Tak to nie będzie działało, a przynajmniej nie z najnowszą wersją ha. Musimy dać do konfiguracji usera który został stworzony przy pierwszym logowaniu do ha - tak tego z uprawnieniami admina. Dziwne ale przetestowałem sobie i przy oddzielnym userze - nie ma znaczenia czy admin czy zwykły całość nie działa. Może jakoś można to obejść ale ja nigdzie tego nie znalazłem.

Pozdrawiam serdecznie.

 
Dodane : 15/02/2020 6:57 pm
adrian reacted
lukas121
(@lukas121)
Wpisów: 543
Ekspert Zasłużony dla Forum Donator 2K19
 

Przed aktualizacją HA do nowszych wersji warto poczytać czy nie wnoszą one istotnych zmian, które to właśnie mogą powodować problemy zanim nie dokonamy modyfikacji w konfiguracji HA. Jak będziesz miał problemy z ha to pisz chętnie pomogę.

 
Dodane : 16/02/2020 10:47 am
(@stefan1818)
Wpisów: 37
Kontrybutor Donator 2K20
Autor tematu
 

W podziękowaniu za pomoc i zainteresowanie przekazałem datek. Świetne oprogramowanie jestem bardzo zadowolony.

Pozdrawiam.

 
Dodane : 19/02/2020 11:07 am
adrian reacted
Udostępnij: