# Mqtt +espeasy + czujnik drzwi - totalnie początkujący HA

**URL:** <https://forum.arturhome.pl/t/mqtt-espeasy-czujnik-drzwi-totalnie-poczatkujacy-ha/11921>\
**Category:** Konfiguracja HA\
**Tags:** mqtt, espeasy\
**Created:** [15 Marzec 2024 12:50 UTC](https://forum.arturhome.pl/t/mqtt-espeasy-czujnik-drzwi-totalnie-poczatkujacy-ha/11921 "2024-03-15T12:50:35Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Autor:** ![Amper](https://forum.arturhome.pl/letter_avatar_proxy/v4/letter/a/71e660/32.png) [@Amper](https://forum.arturhome.pl/u/Amper)\
**Data wpisu:** [15 Marzec 2024 12:50 UTC](https://forum.arturhome.pl/t/mqtt-espeasy-czujnik-drzwi-totalnie-poczatkujacy-ha/11921/1 "2024-03-15T12:50:35Z")

</div>

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

```auto
Home Assistant Core
2024.2.5
Supervisor
2024.03.0
Operating System
12.0
Interfejs użytkownika
20240207.1

```

Do tego

```auto
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

 ![mqtt](https://forum.arturhome.pl/uploads/default/original/3X/b/1/b1bab31d29232b743131e60e40fd17f38385f37e.jpeg)  
Device mam tak  
 ![device](https://forum.arturhome.pl/uploads/default/original/3X/8/3/8317cb4926c07adaa90bbb41f826230cd69abd13.jpeg)  
W aplikacji mqtt explore pokazuje mi tak  
 ![mqtt explore](https://forum.arturhome.pl/uploads/default/original/3X/3/1/31346bd507887a377b6f6857c616f5ecdb6dc31b.jpeg)  
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](https://www.home-assistant.io/integrations/sensor.mqtt/) 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

```auto
  binary_sensor:
    - name: "Door Sensor"
      state_topic: "homedoor_1/Door_sensor/State"
      payload_on: “open”
      payload_off: “close”
      device_class: opening
      qos: 0

```

w HA mam  
 ![door sensor](https://forum.arturhome.pl/uploads/default/original/3X/1/a/1aa22309fc101052373161dd26d5de4ee0eb13f5.jpeg)  
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.

---

<div class="post-metadata">

**Autor:** ![RobinI30](https://forum.arturhome.pl/user_avatar/forum.arturhome.pl/robini30/32/5835_2.png) [@RobinI30](https://forum.arturhome.pl/u/RobinI30)\
**Data wpisu:** [15 Marzec 2024 13:22 UTC](https://forum.arturhome.pl/t/mqtt-espeasy-czujnik-drzwi-totalnie-poczatkujacy-ha/11921/2 "2024-03-15T13:22:47Z")

</div>

To co masz w Mqtt State (0/1) musi bić zgodne z tym czego oczekujesz

```auto
[…]
  binary_sensor:
    - name: "Door Sensor"
      state_topic: "homedoor_1/Door_sensor/State"
      payload_on: “1”
      payload_off: “0”
      device_class: opening
      qos: 0
[…]

```

---

<div class="post-metadata">

**Autor:** ![Amper](https://forum.arturhome.pl/letter_avatar_proxy/v4/letter/a/71e660/32.png) [@Amper](https://forum.arturhome.pl/u/Amper)\
**Data wpisu:** [15 Marzec 2024 14:48 UTC](https://forum.arturhome.pl/t/mqtt-espeasy-czujnik-drzwi-totalnie-poczatkujacy-ha/11921/3 "2024-03-15T14:48:57Z")

</div>

Nadal mam nieznany  
 ![nieznany](https://forum.arturhome.pl/uploads/default/original/3X/2/9/29bb52f8dbf72603333a2134acbadeee2a71a3fc.jpeg)  
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

 ![11](https://forum.arturhome.pl/uploads/default/original/3X/2/5/25dc729328a9df28c0ca83294782ac4eef8b355a.jpeg)

---

<div class="post-metadata">

**Autor:** ![szopen](https://forum.arturhome.pl/user_avatar/forum.arturhome.pl/szopen/32/1093_2.png) [@szopen](https://forum.arturhome.pl/u/szopen)\
**Data wpisu:** [15 Marzec 2024 15:10 UTC](https://forum.arturhome.pl/t/mqtt-espeasy-czujnik-drzwi-totalnie-poczatkujacy-ha/11921/4 "2024-03-15T15:10:28Z")

</div>

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ęć

```auto
[…]

```

---

<div class="post-metadata">

**Autor:** ![RobinI30](https://forum.arturhome.pl/user_avatar/forum.arturhome.pl/robini30/32/5835_2.png) [@RobinI30](https://forum.arturhome.pl/u/RobinI30)\
**Data wpisu:** [15 Marzec 2024 16:41 UTC](https://forum.arturhome.pl/t/mqtt-espeasy-czujnik-drzwi-totalnie-poczatkujacy-ha/11921/5 "2024-03-15T16:41:00Z")

</div>

Nie spodziewałem się, że aż tak namieszasz 😉 , cała definicja jest zła… nie tylko payload. Definicja na starych zasadach. Przeszło to weryfikację?

```auto
# Example configuration.yaml entry
mqtt:
  - binary_sensor:
      name: Bathroom
      state_topic: "home/bathroom/switch/button"
      payload_on: "1"
      payload_off: "0"
[…]

```

[…] @szopen ten znaczek to jakaś nowa zasada? - ma sens

---

<div class="post-metadata">

**Autor:** ![Amper](https://forum.arturhome.pl/letter_avatar_proxy/v4/letter/a/71e660/32.png) [@Amper](https://forum.arturhome.pl/u/Amper)\
**Data wpisu:** [15 Marzec 2024 20:56 UTC](https://forum.arturhome.pl/t/mqtt-espeasy-czujnik-drzwi-totalnie-poczatkujacy-ha/11921/6 "2024-03-15T20:56:19Z")

</div>

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:

```auto
mqtt:
  - binary_sensor:
      name: Door Switch
      state_topic: "homedoor_1/Door_sensor/State"
      payload_on: "1"
      payload_off: "0"

```

Mam jeszcze dwa pytania.

1. 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.
2. Jak chciałem wejść w edycję ustawień Door Sensor otrzymałem komunikat

```auto
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.

```

Czy powinienem się tym przejmować?

---

<div class="post-metadata">

**Autor:** ![isom1266](https://forum.arturhome.pl/letter_avatar_proxy/v4/letter/i/3ab097/32.png) [@isom1266](https://forum.arturhome.pl/u/isom1266)\
**Data wpisu:** [15 Marzec 2024 21:21 UTC](https://forum.arturhome.pl/t/mqtt-espeasy-czujnik-drzwi-totalnie-poczatkujacy-ha/11921/7 "2024-03-15T21:21:52Z")

</div>

Ad 1 Można po dodaniu unikalnego ID , czyli pierwsze pytanie ściśle się wiąże z drugim. Dodaj do YAML dwa wiersze

```auto
unique_id: kontaktron1 
device_class: door

```

Pamiętaj o wcięciach , ma być dokładnie pod payload\_off  
Zapisz, zrób restart i sprawdź

---

<div class="post-metadata">

**Autor:** ![RobinI30](https://forum.arturhome.pl/user_avatar/forum.arturhome.pl/robini30/32/5835_2.png) [@RobinI30](https://forum.arturhome.pl/u/RobinI30)\
**Data wpisu:** [15 Marzec 2024 21:43 UTC](https://forum.arturhome.pl/t/mqtt-espeasy-czujnik-drzwi-totalnie-poczatkujacy-ha/11921/8 "2024-03-15T21:43:58Z")

</div>

> [@Amper](#):
>
> błąd był w espeasy/controllers  
> W Controller Client ID: miałem ukośnik dodany ( tak mi się wydaje przynajmniej)

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.

> [@Amper](#):
>
> Czy można zmienić w HA z on i off na open/closed

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

```auto
# 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.

---

<div class="post-metadata">

**Autor:** ![macek](https://forum.arturhome.pl/user_avatar/forum.arturhome.pl/macek/32/1647_2.png) [@macek](https://forum.arturhome.pl/u/macek)\
**Data wpisu:** [16 Marzec 2024 11:34 UTC](https://forum.arturhome.pl/t/mqtt-espeasy-czujnik-drzwi-totalnie-poczatkujacy-ha/11921/9 "2024-03-16T11:34:43Z")

</div>

@Amper zastanów sie nad przejściem na rozwiązanie ESPHome albo Tasmota, sporo problemów z integracją Cię ominie 😉.

---

<div class="post-metadata">

**Autor:** ![Amper](https://forum.arturhome.pl/letter_avatar_proxy/v4/letter/a/71e660/32.png) [@Amper](https://forum.arturhome.pl/u/Amper)\
**Data wpisu:** [30 Marzec 2024 23:29 UTC](https://forum.arturhome.pl/t/mqtt-espeasy-czujnik-drzwi-totalnie-poczatkujacy-ha/11921/10 "2024-03-30T23:29:08Z")

</div>

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

```auto
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:

```auto
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ąć.

---

<div class="post-metadata">

**Autor:** ![macek](https://forum.arturhome.pl/user_avatar/forum.arturhome.pl/macek/32/1647_2.png) [@macek](https://forum.arturhome.pl/u/macek)\
**Data wpisu:** [31 Marzec 2024 06:43 UTC](https://forum.arturhome.pl/t/mqtt-espeasy-czujnik-drzwi-totalnie-poczatkujacy-ha/11921/11 "2024-03-31T06:43:53Z")

</div>

> [@Amper](#):
>
> to już zamek powinno być zamknięty/otwarty

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](https://www.home-assistant.io/integrations/binary_sensor/#device-class).
