Co ja tu robię źle ? LWT w GUI AFE ustawione na topic jak niżej, komunikat SFF159/LWT "connected" jest widoczny kolejce, sonoff działa pokazując właściwą temperaturę (co minutę wstawia ją do MQTT i jest widoczna w HA), a urządzenie w HA jest nieaktywne (nie ma możliwości przełączania). Wyłączenie sonoffa z prądu i podłączenie załatwia temat, urządzenie jest znowu aktywne. To nie problem z WiFi ponieważ komunikacja z MQTT jest. W tym samym czasie żarówka YeeLight działa bez problemu. Jest jakiś tryb usypiania urządzeń, czy co?
platform: "mqtt"command_topic: "SNF159/RELAY/cmd"state_topic: "SNF159/RELAY/state"availability_topic: "SNF159/LWT"payload_available: "connected"payload_not_available: "disconnected"payload_on: "on"payload_off: "off"retain: trueqos: 1
Może niczego nie robię źle - bug: MQTT entities shown as 'unavailable' after restart of HA #37662. Jak sprawdzić czy ten bugfix wszedł do wersji 2020.12.7 HA ? https://github.com/home-assistant/core/issues/37662
BTW, też macie taki objaw po restarcie HA?
@adrian Coś jest nie tak, ale nie w HA, a mojej konfiguracji albo AFE. Poniżej konfiguracje w switches.yaml: dwa identyczne sonoffy re5v1c, na jednym Tasmota, na drugim AFE i podobna, albo identyczna konfiguracja (różnica tylko w value_template, którego nie mam w AFE), ale inne zachowanie. Obsługa wyłączenia/włączenia zasilania dla sonoffów na podstawie LWT jest ok w obu przypadkach poprawna, tj. po kilkunastu sekundach dostępność urządzenia jest ustawiana prawidłowo na podstawie komunikatu z MQTT. W AFE, w odróżnieniu od Tasmota, sonoff staje się nieaktywny (Unavailable) po przeładowaniu HA. Jest to powtarzalne - bez rozłączenia sonoffa z AFE nie da się nim sterować z HA (z Tasmota jest OK). W HA mam wyłączoną integrację z Tasmota, zatem to raczej nie będzie związane z usługami Discovery (Tasmota jest z autoatu wykrywana w HA).
Masz pomysł, co może być nie tak?
# .140 SONOFF RE5V1c AFE- name: "AFE Sw.140"platform: "mqtt"command_topic: "SNF140/RELAY/cmd"state_topic: "SNF140/RELAY/state"availability_topic: "SNF140/LWT"payload_available: "connected"payload_not_available: "disconnected"payload_on: "on"payload_off: "off"retain: trueqos: 1
# .141 Sonoff RE5V1c Tasmota- name: "TSM Sw.141"platform: mqttcommand_topic: "cmnd/SNF141/POWER"state_topic: "stat/SNF141/RESULT"value_template: "{{ value_json.POWER }}"availability_topic: "tele/SNF141/LWT"payload_available: "Online"payload_not_available: "Offline"payload_on: "ON"payload_off: "OFF"retain: trueqos: 1
@l3m4r hey, żebym dobrze zrozumiał
- urządzenie z AFE uruchamiasz, masz info, że żyje
- AFE po podłączeniu do MQTT Brokera wysyła LWT
- robisz reset HA, urządzenie z AFE włączone
- MQTT broker też wyłączasz?
- po uruchomieniu HA nie wiadomo, czy urządzenie z AFE jest, czy nie jest żywe - status ten co podałeś?
LWT w AFE pojawia się tylko raz ,ani nie jest retain ( nawet nie wiem czy może być:) ) ,stąd tak się dzieje.
@marcingajda dokładnie
@l3m4r hey, żebym dobrze zrozumiał
- urządzenie z AFE uruchamiasz, masz info, że żyje
- AFE po podłączeniu do MQTT Brokera wysyła LWT
- robisz reset HA, urządzenie z AFE włączone
- MQTT broker też wyłączasz?
- po uruchomieniu HA nie wiadomo, czy urządzenie z AFE jest, czy nie jest żywe - status ten co podałeś?
Dokładnie tak. HA -> Configuration -> Server Controls -> Server Management -> Restart. Postaram się dziś sprawdzić, czy integracje HA (Mosquitto) też się w tej sytuacji restartują. Możliwe, że nie, a restart przeładowuje wszystkie YAMLowe pliki konfiguracyjne HA.
LWT raz, czy nie raz 🙂 - bez znaczenia. Interesuje mnie dlaczego (prawie) identycznie skonfigurowana Tasmota daje radę, a w AFE jest taki efekt. Ja nie twierdzę, że w AFE błąd, staram się znaleźć rozwiązanie problemu jaki mam. Dziś zaobserwowałem, że nagle, a niespodziewanie, po kilkunastu godzinach oba sonoffy z AFE stały się dostępne (niczego nie dotykałem, i stało sięto dokładnie w tej samej chwili - akurat patrzyłem na ekran :-)). Przeładowałem HA i AFE zrobiły się disabled (a te z Tasmota nie). A sensory (AM2302) dostarczają dane non-stop.
Skoro wyłączenie sonoffa i włączenie załatwia temat , to spróbuj zaktualizować sam temat SNF159/LWT ( np .przez MQTT Explorer) i zobacz , czy pomoże.
Widzę ,że AFE tego nie robi , ale używam projektu HeishaMon ( wysyła dane z pompy ciepła Panasonic do poszcególnych tematów w MQTT) , i tam jest aktualizowanie tematu lwt co 1min ( pewnie w jakimś celu...)
Sposób wysyłania wiadomości ma znaczenie, z AFE nie wysyłam wiadomości z "retain." Wypuszczam raz i nie powtarzam jeśli pojawi się nowy klient który łączy się do MQTT Brokera
daj Marcin znać którą wersję testujesz to na szybko zmienię i zobaczysz, czy rozwiązuje Twoją potrzebę.
pzdr.a
@marcingajda i @adrian Posłałem na SNF156/LWT 'connected' i ... tadam :-), AFE ożył w HA. Czyli takie 'keep alive' pomogło. Poszukam jak często robi to Tasmota.
A gdyby LWT było ... 'retain' (ale to by chyba zaprzeczyło temu, czym jest LWT :-))?
To wyślij z flagą retain i zobacz 🙂
Niekoniecznie by przeczyło , bo broker mógłby zmienić i tak "last will" jak klient się rozłączy na disconnected.
A gdyby LWT było ... 'retain' (ale to by chyba zaprzeczyło temu, czym jest LWT :-))?
Zobaczymy w praktyce
Tak, to zdaje się rozwiązywać ten problem, pytanie czy nie spowoduje innych.
Sonoff, dla którego wysłałem LWT z Retain po restarcie HA jest żywy (jak ten z Tasmota). Faktyczne wyłączenie urządzenia z pradu pokazuje je w HA jako nieaktywne, a włączenie do prądu aktywuje (Retain). LWT (Retain) wysłałem przed powyższą akcją z wyłączaniem urządzenia z prądu, czyli to wydaje się, że aktywowanie sonoffa po przeładowaniu HA to wpływ właśnie LWT/Retain.
Żeby nie byo tak różowo, po reaktywacji Sonoff nie ma właściwego stanu, tj. przeładowanie HA z włączonym Sonoffem przywróciło w stanie wyłączonym. Sprawdzę jeszcze, czy w Tasmota stan jest prawidłowy.
Edit: Tasmota wraca z prawidłowym stanem. Może mam coś nie tak w konfiguracji AFE, czy tu niżej powinno być retain: true? (sprawdzę):
# .156 SONOFF Basic R1 (AFE) - lampa 230V- name: "Choinka"platform: "mqtt"availability_topic: "SNF156/LWT"command_topic: "SNF156/RELAY/cmd"state_topic: "SNF156/RELAY/state"payload_available: "connected"payload_not_available: "disconnected"payload_on: "on"payload_off: "off"retain: trueqos: 1
Sonoff niezależnie od jego faktycznego stanu wraca jako Off. Nieważne, czy w konfiguracji jest retain: true.
W konfiguracji przekaźnika jest akcja Po podłączeniu do brokera MQTT , z tym trzeba pokombinować , np ustawić "Wartość z systemu sterowania przekaźnikiem"
No i do tego w HA to retain potrzebne by było na true.
Tasmota chyba ustawiona jest standardowo tak ,że ustawia przekaźnik po włączeniu na taki stan ,jaki zapamietal przed wyłączeniem , a że status zapisuje do flasha na bieząco ,stąd jest ok. Wylacz tasmotę , przestaw w HA i wtedy zobacz 🙂
EDIT: Czyli tasmota ustawioną masz tak ,zeby po włączeniu zawsze było off.
Hey, tutaj jest do ściągnięcia AFE T2 2.4.2.B1 z retain na LWT (tylko) - nie jest ustawiony na żadnych innych informacjach wysyłanych z AFE
- z moich szybkich testów wynika, że działa okay - do brokera wysyła ostatni LWT albo connected lub diconnected w zależności od rzeczywistych warunków
nie wiem czy przetestowałem wszystkie graniczne przypadki
smacznego
Tak przy okazji mając tasmotę na Sonoff Dual R2 byłem w stanie włączać i wyłaczać przekaźniki jednym przyciskiem na obudowie, jedno naciśnięcie działało na R1 , natomist dwuklik (jak w komputerze ) działało na drugi przekaźnik . Można by jeszcze wprowadzić trójklik , czteroklik .... Ale już pięcioklik to chyba za dużo 🙂
Taki feature na przyszłość 🙂
@marcingajda W AFE mam Off i z MQTT, ale HA nie przywraca stanu urządzenia. W sumie nieważne jak ma Tasmota, stan HA jest ustawiany na prawidłowy, a w AFE nie. Sprawdzałem to tak, że odpalałem przeładowanie HA, zmieniałem stan Sonoffa podczas przeładowywania i po przeładowaniu (jakieś 20-25s) Home Asistant ustawiał prawidłowo stan Sonoffa na Tasmocie, a na AFE nie (zarówno retain: true, jak i false). Chodzi mi o to, że zapamiętanie we flash nie ma znaczenia, skoro HA ogarnął zmieniony stan Sonoffa Tasmocie. W Tasmocie niczego nie ustawiam i się nim nie zajmuję skoro działa ok. Przeszedłem z ręcznej konfiguracji na integrację Tasmota (wersja beta) w HA, z tego co widzę Tasmota pakuje komplet informacji w swój topic 'discovery' do MQTT, a integracja w HA na tej podstawie konfiguruje podstawowe czujniki i dodaje Sonoffa do konfiguracji).
@adrian Dzięki, potestuję nową wersję i dam znać.
@marcingajda Usiłowalem Adriana do tego przekonać ze 2 lata temu, ale .. w sumie, to sam Ci odpowie ;-).