Witajcie. Na początek chciałem się przywitać gdyż jestem nowy na tym forum oraz całkowicie początkującym użytkownikiem Home Assistant. To jest już moje drugie podejście do HA po roku gdyż poprzednio nie poradziłem sobie z konfiguracją i z racji braku czasu odstawiłem temat na półkę.
Przez ostatni czas oglądałem masę poradników dotyczących HA i spróbowałem ponownie swoich sił ale po raz kolejny zderzyłem się ze ścianą natłoku informacji których nie potrafię poskładać w jedną całość tak aby zacząć rozumieć co z czym i do czego jest dlatego czasami moje pytania mogą być niezrozumiałe ponieważ sam nawet czasami za bardzo nie wiem o co dokładnie pytać…
Może na początek napiszę co mam, co już wiem, co chciałem osiągnąć i na czym utknąłem.
Sprzęt jaki posiadam to raspberry pi 4 4GB z wgranym
Home Assistant Core
2024.2.5
Supervisor
2024.03.0
Operating System
12.0
Interfejs użytkownika
20240207.1
Do tego
Wemos d1mini z ESP_Easy_mega-20231130 z czujnikiem kontraktonowym w drzwiach
Cel:
Wysyłanie z espeasy do Home assistanta za pomocą mqtt statusu drzwi- otwarte/zamknięte.
W HA utworzyłem użytkownika “aa” z hasłem które wpisałem w configu espeasy
EspEasy config mqtt
I tutaj teraz zaczyna się ściana gdyż nie mam zielonego pojęcia co dalej. Oglądając poradniki to jedne były “starym sposobem” inne “nowym” a ja tak naprawdę nie rozumiem tych różnic, czytając poradniki np. takie MQTT Sensor - Home Assistant nie jestem jeszcze na tym etapie żeby je rozumieć(znaczy się nie wiem które parametry mają być a które nie są w tej konkretnej sytuacji potrzebne)
plik configuratio.yaml wygląda następująco
Zwracam się z prośbą o pomoc w podpowiedzi co gdzie zmienić i dlaczego aby to zadziałało.
Jestem świadom, że to wszystko jest dosyć chaotyczne stworzone ale po kilku nocach kombinowania już sam się gubię w tym wszystkim.
Pozdrawiam serdecznie.
Może jeszcze dopiszę jak w HA dodaję sensor bo może tu cos źle robię.
W “przegląd” po prawej u góry daję edytuj, z dołu po prawej -dodaj kartę, następnie wg. encji i tam widzę Door Sensor-binary_sensor.door_sensor
Dodawanie karty do widoku nie ma nic do encji, to jest tylko wizualizacja, a aby coś się dało wizualizować, to taki byt - encja, najpierw musi działać poprawnie.
To co robisz nie jest dodawaniem encji do HA, ani jej modyfikowaniem.
Czy poprawiłeś kod YAML i zrestartowałeś HA?
to coś symbolizuje, że kod jest wyrwany z szerszego kontekstu (pozwoliłem sobie dodać do posta wyżej, aby zwrócić uwagę, że to jest wyrwane z jakiejś sekcji, stąd nie może się to zaczynać bez odpowiednich wcięć
to że namieszałem to wiedziałem, nie wiedziałem jak bardzo:D
ale w końcu udało się! oczywiście z Waszą pomocą za co dziękuję.
po 5 dniach walki i przekleństw że tak prostej rzeczy nie potrafię zrobić:)
błąd był w espeasy/controllers
W Controller Client ID: miałem ukośnik dodany ( tak mi się wydaje przynajmniej)
suma sumarum plik yaml wygląda tak:
Czy można zmienić w HA z on i off na open/closed
próbowałem w payload zmienić on na open, off na closed ale nie przechodzi weryfikacji.
Jak chciałem wejść w edycję ustawień Door Sensor otrzymałem komunikat
Ta encja ("binary_sensor.door_switch") nie ma unikalnego identyfikatora, dlatego z poziomu interfejsu użytkownika nie można zarządzać jej ustawieniami. Więcej szczegółów znajdziesz w dokumentacji.
To nie był błąd skoro miałeś dane w brokerze. Wystarczyło kliknąć w explorerze i wkleić w state_topic. Tak robiąc nie pomylisz się w przepisywaniu topic.
Ponieważ ESPEasy ma tylko stan 0/1 i nie da się tego zmienić więc w prosty sposób nie da się tego zmienić.
Trzeba by utworzyć jakiś value_template coś na wzór
# Example configuration.yaml entry
mqtt:
- binary_sensor:
name: Door Switch
state_topic: "homedoor_1/Door_sensor/State"
value_template: "{%if is_state(entity_id,\"open\")-%}1{%-else-%}0{%-endif%}"
payload_on: "open"
payload_off: "closed"
NIE KOPIUJ to tylko wskazówka, są tu magicy od {{{{}}}}} to może zrobią to poprawnie.
Dziękuję za podpowiedzi, dzisiaj troszkę pokombinowałem i już jest prawie dobrze.
W espEasy utworzyłem rules które wysyła mi status Open/Close.
Gdyby ktoś potrzebował wstawiam działające rules dla switch/input switch
on Door_sensor#State do
if %eventvalue%=0
Publish,homedoor_1/Door_sensor/State,CLOSE
else
Publish,homedoor_1/Door_sensor/State,OPEN
endif
endon
W HA mam takie parametry:
mqtt:
- binary_sensor:
name: Zamek
state_topic: "homedoor_1/Door_sensor/State"
payload_on: "OPEN"
payload_off: "CLOSE"
unique_id: kontaktron1
device_class: door
No i działa pięknie. Jest jednak jedno małe ale.
W drzwiach mam dwa kontaktrony:
Czujnik czy drzwi są otwarte/ zamknięte
Czujnik zamka czy jest otwarty/zamknięty
O ile status drzwi wejściowe zamknięte/otwarte jest prawidłowo
to już zamek powinno być zamknięty/otwarty. a wyświetla się
zamek otwarte/zamknięte.
Czy można to poprawić na zamknięty/otwarty?
kol. @macek pewnie z biegiem czasu przestawię się na ESPHome. ale to jeszcze pewnie potrwa:)
znalazłem podobny temat tutaj na forum, próbuję to ogarnąć.
Zacznij od zmiany definicji device_class na lock, powinno od razu być dobrze przetłumaczone z lock i unlock, wszystko masz opisane dokumentacji Binary sensor - Home Assistant.