Sterowanie Bramą Garażową poprzez moduł SONOFF SV (AI-Speaker - Home Assistant)

Wszystkiego naj @Stravi :partying_face:

Bramę mam ogarniętą przez platform: template, do tego automatyzacje i powiązania z przyciskami na panelu sterowania. Więc wolałbym nie ruszać tej encji.
Chciałbym otrzymać informację o otwarciu czy zamknięciu bramy i wykorzystać encję dla np powiadomień. Dobrze aby zmiana ikony odzwierciedlała stan odczytany z czujnika.
Kombinowałem w ten sposób ale chyba nadal nie rozumiem tej składni YAML:

  - platform: mqtt
    name: czujnik_otwarcia wrota
    state_topic: tele/dom_722073/SENSOR
    payload_on: "ON"
    payload_off: "OFF"
    availability_topic: tele/dom_722073/LWT
    payload_available: Online
    payload_not_available: Offline
    device_class: opening
    value_template: "{{ value_json.state }}"
    force_update: true
    unique_id: 722073_SWITCH8
    device:
      identifiers:
        - 722073

Czytam dokumentację MQTT Binary Sensor ale nie mogę skutecznie tego uruchomić Czujnik wciąż pokazuje stan zamknięty.

Podziękował!

zmieniłbym to na

value_template: “{{ value_json.Switch8 }}”

Poprawiłem ale nie działa… :woozy_face:

Edit:

@Stravi - dzięki za podpowiedź, jak zwykle skuteczną.
Poszedłem za radą w dokumentacji i usunąłem zapis entity_id - czujnik działa.

  - platform: mqtt
    name: czujnik_otwarcia wrota
    state_topic: tele/dom_722073/SENSOR
    payload_on: "ON"
    payload_off: "OFF"
    availability_topic: tele/dom_722073/LWT
    payload_available: Online
    payload_not_available: Offline
    device_class: opening
    value_template: "{{ value_json.Switch8 }}"
    force_update: true
    #unique_id: 722073_Switch8
    device:
      identifiers:
        - 722073
1 polubienie

Witam,
Ja tutaj coś zostawię od Siebie, ponieważ TEMAT jest dość prosty dla kogoś kto się sprawnie porusza po HA, a mnie troszkę “przećwiczył”.
Do rzeczy, na dzień dzisiejszy wgrywałem Tasmot’ę w wersji 10. Zmieniła się procedura komend i o ile sterowanie przekaźnikiem było bezproblemowe, to odczytanie stanu kontraktonu było “lekko” problematyczne. Postaram się opisać “łopatologicznie” jak mnie udało się dojść do sytuacji, wktórej wszystko działa jak powinno.
Ściśle trzymamy się tego co w pierwszym poście, ja napiszę to, co się zmieniło wraz z nową wersją.
Pacjent Sonoff SV, który zakupiłem na znanym portalu aukcyjnym, miał już wgraną Tasmotę AIS w wersji 10.0.
Plik configuration.yaml u mine wygląda mniej więcej tak (zbędne i wrażliwe dane zostały usunięte):


Ustawienie modułu : wchodzimy przez IP na moduł → Konfiguracja → Konfiguracja modułu:
Wyświetlą nam się parametry modułu, dla sonoff’a SV ustawiamy:
Typ: Sonoff SV (3)
GIPO1: Brak
GIPO3: DS18x20
GIPO4: Brak
GIPO5: Brak
GIPO14: Przełącznik, oraz w BOXie obok “2”
GIPO17: Brak

Mam nadzieję, że komuś ta wiedza się przyda. Nie jest to nic trudnego dla kogoś kto sprawnie porusza się w tej tematyce, mnie troszkę spędziło snu z powiek.
2 Pytania dla wtajemniczonych, dlaczego po ponownym uruchomieniu (restart/ zanik i powrót napięcia) Sonoff przy włączaniu steruje przekaźnikiem - dodam, że wszystkie polecenia do konsoli zostały wklepane. Pytanie nr 2, czy bez problemu mogę zasilić układ ze sterownika bramy, która na jednym z wyjść podaje 24V DC? Próbowałem, niby działa ale moduł troszkę “buczy”. Sterownik to Nice mhouse wt2s.
Pozdrawiam wszystkich serdecznie

3 polubienia

Witamy serdecznie…
Za zachowanie przekaźnika po restarcie odpowiadają te komendy:

Napięcie 24V DC w/g specyfikacji Sonoff jest na górnej granicy. Teoretycznie OK, praktyka pokaże.
Często w napędach te 24V DC jest dość prosto generowane z transformatora sieciowego. Wahnięcia napięcia w sieci przenoszą się na wyjście 24V DC z napędu. Należało by pomierzyć faktyczne napięcie pod obciążeniem przez Sonoff.

Zauważyłem, że przekaźnik zostaje załączony po ponownym zerwaniu/wznowieniu połączenia WiFI

Pamiętam, że tez miałem z tym problem ale nie mogę sobie przypomnieć jak to rozwiązałem. Chyba czyściłem sonoffa i wgrywałem Tasmote od nowa, ale nie jestem pewien. Teraz sterowanie bramą ma na Satelu więc nie mam jak odtworzyć.

Reflash nie pomógł, wygląda mi to na sytuacje, że gdy sonoff połączy się z serwerem MQTT to dostaje polecenie zasterowanie. Jak to wyłączyć z poziomu HA?
EDIT 1: I jeszcze jedno. Czujnik mam zamontowany, przy otwarciu bramy, a w HA pokazuje, że brama jest zamkniętna, jak i gdzie to najprościej odwrócić?
EDIT 2: Sam sobie odpowiem, wklepać w konsoli SwitchMode2 2
PS. Dzięki Cezary.K

Chyba jednak nie wpisałeś wszystkich komend.

Niestety nie pomaga
Po wpisaniu do konsoli dostaję odpowiedź:
RESULT = {“PowerRetain”:“ON”}
Tak powinno być?

Tak - to odpowiedź (rezultat) wydanej komendy PowerRetain 1 czyli ON.
Komendy w Tasmota, jeśli dotyczą dwóch stanów on / off można zamiennie wpisywać logicznym 0 / 1. Dodam również, że wielkość liter dla komend nie ma znaczenia.

Nigdy nie zgłębiłem tasmoty, ale odnoszę wrażenie że jest zagmatwana w konfiguracji. Niby EspHome wymaga pisania yaml, ale jak już go napiszesz to zapominasz o istnieniu tego urządzenia.

To tylko wrażenie, Tasmota jest dobrze udokumentowana. Jak już ją poznałem, to lubią ja za to, że mogę konfigurować dzięki konsoli wiele i widzieć w locie wynik.

Mam tylko jeno urządzenie z ESPHome i przez 1,5 roku działania miałem z nim jeden problem. Zniknęły mi odczyty encji z MiFlora i jakie było moje zaskoczenie gdy okazało się, że to moja Luba wyjęła wtyczkę zasilacza dla ESP32 :rofl:

1 polubienie

Cezary, zarówno opcja PowerRetina1 1 i 0 zero daje taki sam efekt czyli brak efektu, dyskusja ciekawa ale jestem w kropce.
Jakieś pomysły? Może wgrać ESPHome - tylko jak to ożenić z HA aby grało tak jak teraz i pokazywało stan otwarte/zamknięte?
Pozdrawiam

To w czym masz problem? Chodzi o chwilowe załączanie przekaźnika po połączeniu z brokerem MQTT? Czy konfiguracją encji w HA?

Nie rozumiem “zasterowania” … co w tym momencie mówią logi w konsoli Tasmota?

EspHome jest właściwie stworzony dla HA więc spięcie z HA to podstawowa funkcjonalność.
Zobacz to chyba Twój moduł:

1 polubienie

@Stravi - masz rację, z ESPHome jest dużo łatwiej jeśli zaczynasz przygodę z HA. Znalazłem zapasową płytkę HW-622 i poszło zaskakująco szybko. Dla potomnych zostawiam kod konfiguracji:

esphome:
  name: hw-622
  platform: ESP8266
  board: esp12e

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:
  password: "ota password"

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

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Hw-622 Fallback Hotspot"
    password: "ap passwodr"

captive_portal:

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO5
      mode: INPUT_PULLUP
      inverted: True
    name: "Garage Door"
    device_class: garage_door
    
switch:
  - platform: gpio
    pin: GPIO4
    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

Urządzenie automatyczne wykryte przez HA.

@Slawek1992 - jeśli chcesz mogę pomóc w ESPHome z pierwszą kompilacją binarki…

2 polubienia

A jest ktoś w stanie mi powiedzieć jak szybko zrobić w tasmota przełącznik jako czujnik otwarcia.
Wygląda to tak że kontaktron to przycisk i steruje fikcyjnym przekaźnikiem.

Konieczne jest dodawanie sensora w yaml czy można to załatwić komendą w tamsmota?

Z Tasmota możesz na oba sposoby.

  1. dodanie zapisu w konfiguracji HA w yaml:
  1. Tasmota zrobi to za Ciebie przedstawiając w HA urządzenie zapisem reguły (komendy) Tasmota:

@Cezary.K to zagorzały użytkownik Tasmoty, z historii wypowiedzi na forum, mogę stwierdzić, że guru w tym oprogramowaniu :slight_smile:, zrobi na nim wszystko.

2 polubienia