Integracja z ESPHome

w “konfiguracja” kliknąłem “wczytaj ponownie” i jest z powrotem :wink: trywialne :stuck_out_tongue:

Przy okazji porównywania projektów ESPHome i Tasmota wyraźnie widzę różnicę w przejrzystości dokumentacji obu projektów. Szukam listy definicji płytek na stronie ESPHome i nie potrafię odnaleźć informacji jaki wpis w wierszu z wyborem rodzaju płytki board: powinienem wykonać. Informacje na stronie ESPHome są słabo skatalogowane i porozrzucane w różnych działach, miejscach…
Mój dalekowschodni moduł HW-622 ma na pokładzie board ESP o oznaczeniach ESP8266MOD.
Czy ktoś może wie, gdzie znaleźć informację z listą definicji płytek (board) dla ESPHome?

EDIT:
Przy okazji walidacji kodu ESPHome otrzymałem listę w konsoli:

Valid boards are d1, d1_mini, d1_mini_lite, d1_mini_pro, esp01, esp01_1m, esp07, esp12e, esp210, esp8285, esp_wroom_02, espduino, espectro, espino, espinotee, espresso_lite_v1, espresso_lite_v2, gen4iod, heltec_wifi_kit_8, huzzah, inventone, modwifi, nodemcu, nodemcuv2, oak, phoenix_v1, phoenix_v2, sparkfunBlynk, thing, thingdev, wifi_slot, wifiduino, wifinfo, wio_link, wio_node, xinabox_cw01.

Spróbuj ESP12E
ESPHome bazuje na platformio:

W nawiązaniu do dyskusji w innym temacie…

@Slawek1992 - Masz w takim razie kilka możliwości uruchomienia ESPHome:

  1. uruchomić ESPHome jako oficjalny dodatek HA (AddOn)
  1. Uruchomić ESPHome w Python poprzez instalację pip. Zarówno w Win jak i innych środowiskach, czy nawet uruchomić kontener Docker’a.

W każdej z metod możesz uruchomić ESPHome dashboard - GUI ( localhost:6052) ułatwiające bardzo konfigurację w YAML i samo flashowanie ESP.

Osobiście używam Linux’a, który bardzo ułatwia sprawę. W Win najpierw, jeśli nie używałeś, będziesz musiał zainstalować Python oraz prawdopodobnie samo narzędzie pip. Samo ESPHome instalujesz i uruchamiasz z konsoli poprzez komendy:

pip3 install esphome
# Install dashboard dependencies
pip install tornado esptool
#start GUI
esphome dashboard config/

Jak już odpalisz dashboard ESPHome, czy to w HA czy innym środowisku, to już z górki… :snowboarder:

Poniżej link do filmu przedstawiającego przebieg konfiguracji z dashboard:

Cześć Cezary,
ESPHome odpalone w HA. W Web UI zakładka ADD Device. To teraz mi proszę powiedz, jak mam dlaej postąpić z konfiguracją i moim Sonoffem?
Z ciekawości dałem Add Device, wprowadziłem nazwę urządzenia, SSID sieci, Hasło do sieci → ESP8266
Urządzeni dodane, jest offline. Mam go teraz przez przejściówkę USB → UART podłączyć pod serwer HA, udostępnić HA port USB w którym jest przejściówka i ??
HA stoi na Poxmox

Dobrze kombinujesz, potem sprawdź w tym miejscu czy program widzi Twój konwerter UART podpięty do USB. Jeśli masz go na liście to wybierz… pierwszy plik bin wgrywasz po kabelku.

Wogóle nie widzę takiej zakładki,


Po restarcie HA krzyczało o znalezieniu nowego urządzenia i pytało czy dodać go jako integrację Z-wave ale odrzuciłem, więc jako tako przejściówka jest widziana w systemie

OK - z tym USB pod Poxmox widać nie będzie łatwo i myślę, że możesz sobie podarować na ten moment.
Najważniejsze wygenerować (skompilować) plik bin. Takowy sobie ściągniesz i wgrasz podobnie jak ten z Tasmota.
Pod przyciskiem EDIT - kryje się edytor kodu YAML. W nim wpisujesz swoją konfigurację i klikasz zapisz. Kod dla Sonoff SV masz pod linkiem od @Stravi w temacie sterowania bramą oraz poniżej:

esphome:
  name: garagedoor
  platform: ESP8266
  board: esp01_1m

wifi:
  ssid: "SSID NAME"
  password: "Wireless Password"


captive_portal:

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO14
      mode: INPUT_PULLUP
      inverted: True
    name: "Garage Door"
    device_class: garage_door
    
switch:
  - platform: gpio
    pin: GPIO12
    id: relay
  - platform: template
    icon: "mdi:arrow-up-down-bold-outline"
    name: "Garage Control"
    turn_on_action:
    - switch.turn_on: relay
    - delay: 500ms
    - switch.turn_off: relay
    
sensor:
  - platform: wifi_signal
    name: "Garage Door WIFI Strength"
    update_interval: 60s

Początek konfiguracji już będziesz miał - dopisujesz wiersze od binary_sensor: , nazwy możesz zmienić wedle upodobania.

Pokaż co kryje się pod trzema kropkami przy karcie modułu “brama-garazowa”?

Pod trzema kropkami kryje się opcja instalacji z USB :wink:
Zabieram się do ogarnięcia tych ustawień. Jak już wykonam tę czynność to muszę to jeszcze skompilować czy wystarczy kliknąć install wybrać mój klucz USB->UART a program skompiluje się sam?

Tak dokładnie tak… Wybierasz właściwy USB i otwiera się konsola z logami kompilacji i następnie flashowania. Nie zapomnij o bootmode w module ESP.

AddOn widać różni się od natywnej instalacji, nie widzę przycisku walidacji kodu czy możliwości pobrania samej binarki po kompilacji.

EDIT:
Aktualizacja AddOn w Supervisor i mam takie samo okno jak Ty, ESPHome Current version: 2021.10.3

Mniejsza o to, mam inny “Problem”. To co zaznaczone czerwonym prostokątem ładnie działa, a gdy dodam do interfejsu lovelance przycisk który informuje o statusie bramy - otwarta / zamknięta to wywala mi błąd.


Podejrzewam, że muszę trochę poczarować aby stworzyć sobie “Wirutalny” przycisk, który będzie działać jak ten który zaznaczyłem na czerwono (Sterowanie brama garazowa) i odczytywał status z “Brama garazowa”
Dobrze myślę, podopowiesz jak to zrobić?

Pewnie chodzi o to, że odwróciłeś działanie logiki kontaktronu. Czyli Twoja otwarta brama dla HA jest zamknięta…
Proponuję lekturę dla ustawienia w wierszu inverted: True

Myślę, że chodzi o to:

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO14
      mode: INPUT_PULLUP
      inverted: True
    name: "Garage Door"
    device_class: garage_door

Nie wiem jaki błąd Ci wyskakuje w Lovelace
Swoją drogą chyba można ogarnąć bramę tym i będzie 1 czytelna encja :slight_smile:

Dzięki, podejrzewam, że muszę iść tym torem ale od początku, tak aby niczego nie zepsuć.
Chodzi mi o to, że - przenieśmy się do mojej zakładki urządzenia → mój Sonoff (Brama-garazowa) z wgranym ESP:


Sterowanie to przycisk którym steruję bramą (Sterowanie brama garazowa) i działa tak jak chciałem. Sensor to Brama garażowa i również działa tak jak trzeba otwarte to otwarte itd.
A proszę niech ktoś mi to łopatologicznie wytłumaczy jak zrobić z tego właśnie tego cover (czujnik otwarcia i przycisk otwórz/zamknij w 1) :wink:
Dziękuje za wasze poświęcenie, znów dużo się nauczyłem i chce się uczyć dalej :smiley:

 brama_garaz:
   friendly_name: "Brama garaż"
   device_class: garage
   open_cover:
     service: switch.turn_on
     entity_id: switch.brama_garaz
   close_cover:
     service: switch.turn_on
     entity_id: switch.brama_garaz
   stop_cover:
     service: switch.turn_on
     entity_id: switch.brama_garaz
   value_template: "{{is_state('binary_sensor.stan_bramy_garaz', 'on')}}"       
   icon_template: >-
     {% if is_state('cover.brama_garaz', 'open') %}
       mdi:garage-open-variant
     {% else %}
      mdi:garage-variant
     {% endif %}
1 polubienie

Wklepałem to do customize.yaml w takiej formie ale nie wskoczył mi żaden dodatkowy przycisk.
Dopisałem jeszcze na początek cover i wygląda to tak:

cover.brama_garaz:
   friendly_name: "Brama garaż"
   device_class: garage
   open_cover:
     service: switch.turn_on
     entity_id: switch.brama_garaz
   close_cover:
     service: switch.turn_on
     entity_id: switch.brama_garaz
   stop_cover:
     service: switch.turn_on
     entity_id: switch.brama_garaz
   value_template: "{{is_state('binary_sensor.stan_bramy_garaz', 'on')}}"       
   icon_template: >-
     {% if is_state('cover.brama_garaz', 'open') %}
       mdi:garage-open-variant
     {% else %}
      mdi:garage-variant
     {% endif %}

@jszkiela wkleił sam kod bez komentarza, więc trochę zgaduję… może ten kod dotyczy konfiguracji w ESPHome?

Nie, to nie jest yaml do esphome tylko do configuration.yaml:

To trzeba wklepać do covers.yaml. Oczywiście w configuration.yaml musi być wpis:

cover: !include covers.yaml

Po restarcie Ais będziesz mia nową encję:

obraz

Moim zdaniem skąd pochodzą encje switch i sensor nie ma znaczenia może być Satel, ESPHome czy jakiś moduł co ma wej. i wyj.

Dobra Panowie, UDAŁO SIĘ!!
A to dla tych co by chcieli tak jak ja, czyli sterowanie bramą za pomocą Sonoff SV i HA! W skrócie należy napisać, że były próby ogarnięcia tematu na Tasmot’a ale niestety spaliły na panewce ponieważ najnowsze oprogramowanie tasmot’a ma niestety jeden BUG? (po restarcie urządzenia przekaźnik zostawał “zasterowany” i otwierała się brama) - tak myślę ale może mi się tylko wydaje. W każdym razie z ESP od samego początku nie było problemu.
A więc tak, instalujemy dodatek ESPHome, uruchamiamy, otwieramy interfejs WEB UI → klikamy na + na zielonym tle (na screenie zaznaczony w prawym dolnym rogu czerwonym prostokątem)


W name wklepujemy co nam się podoba, ja chciałem sterować bramą garażową więc wklepałem brama-garazowa, poniżej nazwa naszej sieci WiFi z którą ma się łączyć tak jak na załączonym obrazku:

i klikamy NEXT. Następny panel wybieramy ESP8266 i znów NEXT, dodaje screnna:

Wyskoczy okienko w którym klikamy CLOSE. Pojawi się box nazwany brama-garazowa, klikamy EDIT i wrzucamy KOD konfiguracyjny:

esphome:
  name: brama-garazowa
  platform: ESP8266
  board: esp01_1m

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:
  password: "To hasło wygeneruje się samo"

wifi:
  ssid: "Nazwa SSID twoje sieci WiFi"
  password: "Twoje hasło wifi"

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Brama-Garazowa Fallback Hotspot"
    password: "To hasło wygeneruje się samo przy tworzeniu"

captive_portal:
binary_sensor:
  - platform: gpio
    pin:
      number: GPIO14
      mode: INPUT_PULLUP
      inverted: True
    name: "Brama garazowa"
    device_class: garage_door
    
switch:
  - platform: gpio
    pin: GPIO12
    id: relay
  - platform: template
    icon: "mdi:arrow-up-down-bold-outline"
    name: "Sterowanie brama garazowa"
    turn_on_action:
    - switch.turn_on: relay
    - delay: 500ms
    - switch.turn_off: relay
    
sensor:
  - platform: wifi_signal
    name: "Sonoff brama garazowa sila sygnalu WiFi"
    update_interval: 60s

W okienku edycji po połączeniu ESP z komputerem na którym mamy zainstalowany AIS/HomeAssistant poprzez przejściówkę USB → UART klikamy Install - Ten wątek w EXTRA skrócie. Jeżeli będą chętni opiszę ten krok bardzo szczegółowo.
A oto zawartość jaką trzeba wklepać do pliku covers.yaml:

- platform: template
  covers:
     brama_garaz:
      friendly_name: "Brama garaż"
      device_class: garage
      open_cover:
        service: switch.turn_on
        entity_id: switch.sterowanie_brama_garazowa
      close_cover:
        service: switch.turn_on
        entity_id: switch.sterowanie_brama_garazowa
      stop_cover:
        service: switch.turn_on
        entity_id: switch.sterowanie_brama_garazowa
      value_template: "{{is_state('binary_sensor.brama_garazowa', 'on')}}"       
      icon_template: >-
       {% if is_state('cover.brama_garaz', 'open') %}
         mdi:garage-open-variant
       {% else %}
         mdi:garage-variant
       {% endif %}

Wszystko ślicznie działa, na HA mam odpalony integracje HomeKit i utworzony mostek oraz sparowany z aplikacją Dom na swoim iPhonie, gdy brama się otworzy dostaje powiadomienie o otwarciu bramy, gdy się zamknie, informacje o zamknięciu (oczywiście w aplikacji Dom)
Wielkie dzięki dla wszystkich zaangażowanych za pomoc
Pozdrawiam Wszystkich!

3 polubienia