<div dir="ltr">(konfigurak dam nakonec. Je to z dvouploskoveho touch na zigbee. Jedno tl. ovlada lampicku ve smart zasuvce na opacnem konci mistnosti, druhe lustr - tady je podpora click (zapni/vypni) dlouheho click (zapni plny jas), dvojclik (cyklovani jasu po 25%) a trojclick (teplota v 3 krocich). V autonomnim pouze zapni/vypni a prechod autonomni/HA. Co se deje v HA rezimu definuje HA na zaklade toho co dostane (clicke, .....)<div>Ohladne stability HA: jel jsem vzdy na hassio, stability vzdy 100%, puvodne RPi3b na USB flash. Jak postupne zacala flash odchazet, tak se cely system silene zacal spomalovat (reboot dlouhe minuty, instalace udelala system na chvili neovladatelny). Tak jsem presel na asi 120G SSD disk a u te prilezitosti na RPi4B 4GB RAM (zkousim si tam ruzne blbosti v dockeru, tak se trocha vykonu a pameti navic hodi). Pokud mate jeste nejake dotazy - sem s nima.</div><div>BR,</div><div>Marek</div><div><br></div><div># <br># Living room wall switch (2 buttons)<br># Right button: no action<br># Left button: main light<br>#   - very long click (5s+): toggle normal/emergency mode. Button works like normal switch in emergency mode and without hassio<br>#   - short click, long click, double click, triple click - call HASSIO, processing there<br># Light is pulsing in emergency mode. It shows hassio connection status in normal mode<br># <br>globals:<br>  - id: xlastStatus <br>    # Last status reported to statusLight<br>    # -1 => unknown  <br>    #  0 => disconnected<br>    #  1 => conneced<br>    type: int<br>    restore_value: no<br>    initial_value: '-1'<br><br>esphome:<br>  name: s_lr_001_2g<br>  platform: ESP8266<br>  board: esp01_1m<br>  on_boot:<br>    - priority: 300 # start in emergency mode<br>      then:<br>        - binary_sensor.template.publish:<br>            id: emergencyBin<br>            state: ON<br>  on_loop:<br>    then:<br>      # Status led handling<br>      - lambda: |-<br>          static int lastStatus = -1;<br>          if(id(emergencyBin).state){<br>            lastStatus = -1;<br>          }else{<br>            int newStatus = id(apiStatus).state ? 1 : 0;<br>            if(newStatus != lastStatus){<br>              // always turn off first (otherwise it remembers effect)<br>              auto call = id(statusLight).turn_off();<br>              call.set_transition_length(0);<br>              call.perform();<br>              lastStatus = newStatus;<br>              if(lastStatus){<br>                //ESP_LOGD("MS","===>ON");<br>                auto call = id(statusLight).turn_on();<br>                call.set_brightness(1.0);<br>                call.set_transition_length(0);<br>                call.perform();<br>              }else{<br>                //ESP_LOGD("MS","===>OFF");<br>              }<br>            }<br>          }<br><br>wifi:<br>  ssid: "semar-HA"<br>  password: "**to si necham pro sebe**"<br><br>  # Enable fallback hotspot (captive portal) in case wifi connection fails<br>  ap:<br>    ssid: "s_lr_001_2g"<br>    password: "**to si necham pro sebe**"<br>#  use_address: esphome_ota.local<br>  <br>captive_portal:<br><br># Enable logging<br>logger:<br>#  level: VERBOSE<br><br># Enable Home Assistant API<br>api:<br>ota:<br>    <br># GPIO4 => Relay 2<br># GPIO5 =>?<br># GPIO12 => Button 1<br># GPIO13 => Relay 1<br># GPIO14 => Button 2<br># GPIO16 => Led link<br><br>binary_sensor:<br>  - platform: gpio # Button 1 (right)<br>#    internal: true<br>    pin:<br>      number: GPIO14<br>      mode: INPUT_PULLUP<br>      inverted: True<br>    name: device_btn1<br>    on_multi_click:<br>    - timing: # click<br>        - ON for 50ms to 650ms<br>        - OFF for at least 350ms<br>      then:<br>        - logger.log: { tag: '@MS', format: "Button 1 click" }<br>        - homeassistant.service:<br>            service: light.toggle<br>            data:<br>              entity_id: light.living_room_socket<br>    - timing: # very long click - emergency<br>        - ON for at least 3s<br>        - OFF for at least 350ms<br>      then:<br>        - logger.log: Request device_btn1 emergency change<br>        - lambda: ' id(emergencyBin).publish_state(!id(emergencyBin).state); '<br>              <br>  - platform: gpio # Button 2 (left)<br>#    internal: true<br>    pin:<br>      number: GPIO12<br>      mode: INPUT_PULLUP<br>      inverted: True<br>    name: device_btn2    <br>    on_multi_click:<br>    - timing: # click<br>        - ON for 50ms to 650ms<br>        - OFF for at least 350ms<br>      then:<br>        - logger.log: { tag: '@MS', format: "Button 2 click" }<br>        - if:<br>            condition:<br>              binary_sensor.is_on: emergencyBin<br>            then: # emergency mode => direct relay usage<br>              - switch.toggle: device_rel2<br>            else: # normal mode<br>              - if:<br>                  condition:<br>                    switch.is_off: device_rel2<br>                  then: # normal, but relay was of we can anyway only switch it on, no communication possible for some time<br>                    - switch.turn_on: device_rel2<br>#                    - switch.turn_on: device_rel1 # I just want both lights on on switch. 2nd button will anyway only be 'remote'<br>                  else:<br>                    - homeassistant.event:<br>                        event: esphome.s_lr_001_action<br>                        data:<br>                          title: Button was clicked<br>                          source: Button 2<br>                          action: click                     <br>    - timing: # long click<br>        - ON for 750ms to 2500ms<br>        - OFF for at least 350ms<br>      then:<br>        - logger.log: { tag: '@MS', format: "Button 2 clickLong" }<br>        - if:<br>            condition:<br>              binary_sensor.is_on: emergencyBin<br>            then: # emergency mode => direct relay usage<br>              - switch.toggle: device_rel2<br>            else: # normal mode<br>              - if:<br>                  condition:<br>                    switch.is_off: device_rel2<br>                  then: # normal, but relay was of we can anyway only switch it on, no communication possible for some time<br>                    - switch.turn_on: device_rel2<br>                  else:<br>                    - homeassistant.event:<br>                        event: esphome.s_lr_001_action<br>                        data:<br>                          title: Button was clicked (long)<br>                          source: Button 2<br>                          action: clickLong                                     <br>    - timing: # very long click - emergency<br>        - ON for at least 3s<br>        - OFF for at least 350ms<br>      then:<br>        - logger.log: Request device_btn2 emergency change<br>        - lambda: ' id(emergencyBin).publish_state(!id(emergencyBin).state); '<br>    - timing: # double click<br>        - ON for 50ms to 650ms<br>        - OFF for 30ms to 300ms<br>        - ON for 50ms to 650ms<br>        - OFF for at least 350ms<br>      then:<br>        - logger.log: { tag: '@MS', format: "Button 2 clickDouble" }<br>        - if:<br>            condition:<br>              binary_sensor.is_off: emergencyBin<br>            then:<br>              - homeassistant.event:<br>                  event: esphome.s_lr_001_action<br>                  data:<br>                    title: Button was clicked double<br>                    source: Button 2<br>                    action: clickDouble        <br>    - timing: # triple click<br>        - ON for 50ms to 650ms<br>        - OFF for 30ms to 300ms<br>        - ON for 50ms to 650ms<br>        - OFF for 30ms to 300ms<br>        - ON for 50ms to 650ms<br>        - OFF for at least 350ms<br>      then:<br>        - logger.log: { tag: '@MS', format: "Button 2 clickDouble" }<br>        - if:<br>            condition:<br>              binary_sensor.is_off: emergencyBin<br>            then:<br>              - homeassistant.event:<br>                  event: esphome.s_lr_001_action<br>                  data:<br>                    title: Button was clicked triple<br>                    source: Button 2<br>                    action: clickTriple        <br>                    <br>  - platform: status # status<br>    internal: true<br>    id: apiStatus  <br>  - platform: template # emergencyBin<br>    internal: true<br>    id: emergencyBin<br>    on_press:<br>      then:<br>        - logger.log: Emergency mode ON<br>        - light.turn_on:<br>            id: statusLight<br>            effect: emergency mode    <br>            <br>switch:<br>  - platform: gpio # Relay 1<br>#    internal: true<br>    id: device_rel1<br>    name: s_lr_001_2g Relay 1<br>    pin: GPIO13<br>  - platform: gpio # Relay 2<br>#    internal: true<br>    id: device_rel2<br>    name: s_lr_001_2g Relay 2<br>    pin: GPIO4<br>  # helper<br>  - platform: restart<br>    name: s_lr_001_2g restart<br><br>output:<br>  # Register the blue LED as a dimmable output ....<br>  - platform: esp8266_pwm<br>    id: blue_led<br>    pin: GPIO16<br>    inverted: true<br><br>light:<br>  # ... and then make a light out of it.<br>  - platform: monochromatic<br>    id: statusLight<br>    internal: true<br>    output: blue_led<br>    name: device_led <br>    effects:<br>      - lambda: # emergency mode<br>          name: emergency mode<br>          update_interval: 2s<br>          lambda: |-<br>            static bool state = false;<br>            auto call = id(statusLight).turn_on();<br>            // Transtion <br>            call.set_transition_length(2000);<br>            call.set_brightness(state ? 0.1 : 1.0);<br>            call.perform();<br>            state = !state;<br><br>sensor:<br>  - platform: wifi_signal<br>    name: "s_lr_001_2g_wifi"<br>    update_interval: 60s<br>    <br></div><div> </div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Mar 17, 2021 at 10:51 PM Pavel Kratochvíl <<a href="mailto:kratochvil@seznam.cz">kratochvil@seznam.cz</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>Ten trik s rozdílnou funkcionalitou podle dostupnosti HA je fakt dobrý. Mohl bych poprosit o nějaký konfigurák, kde je to použité?<div>Zkušenosti se zdecháváním HA máte jaké? Dřív jsem měl HA nainstalovaný v Raspbianu a to zrovna stabilitou nevynikalo. Teď co to mám jako HassOS si nepamatuju, že by byly nějaké problémy. Já teda jedu na RPi3B+, možná to bylo tím, nebo nějakou zpackanou instalací. Sd kartu nepoužívám, mám SSD připojené na USB.</div><div>Pavel<br><div><br>
---------- Původní e-mail ----------<br>
Od: Marek Sembol <<a href="mailto:hwm.land@gmail.com" target="_blank">hwm.land@gmail.com</a>><br>
Komu: HW-news <<a href="mailto:hw-list@list.hw.cz" target="_blank">hw-list@list.hw.cz</a>><br>
Datum: 17. 3. 2021 18:01:10<br>
Předmět: Re: Zásuvka s ovládáním přes WIFI
<br><blockquote><div dir="ltr">Dalsi vyrazny rozdil tasmota/esphome je, ze tasmota je 'napervno dany firmware' (ano, jsou zdrojaky, muzete ohybat), ktery nakonfigurujete v ramci jeho moznosti. Jsou tam (TUSIM i nejake moznosti automatizace, ale rozhodne omezene).<div>Naproti tomu pro esphome napisete 'konfigurak', na zaklade toho se vygeneruje myslim c(++? tusim) zdrojak a ten se prelozi na firmware. Takze mate mnohem vetsi nabidku obsluhovanych veci (do tasmoty by se nevlezdy z duvodu velikosti) a mnohem sirsi mozsnosti 'programovat' si tam nejakou autonomii. At uz prostredky toho yaml konfiguraku, nebo v pripade nutnosti az na uroven C kodu.</div><div>Ja jsem taky zacinal s tasmotou (taky mam homeasistant, ja na RPi4), ale postupne jsem presel na esphome. Prave proto, ze jsem pak treba do vypinace velmi jednoduse naimplementil:</div><div>-pokud neni HA dostupny, jedes v autonomnim rezimu a umis pouze zapnout/vypnout rele ovladajici zarovku</div><div>-pokud je HA dostupny, tak je (wifi pripadne zigbee - jak kde) pod proudem, vypinac (taky wifi nebo zigbee) posila prikazy do HA a ten zarovku ridi komplexneji (teplota svetla, intenzita svetla, zavislosti na dalsich okolnostech. Samozrejme - vzhledem k HA - nemusi byt vypinac na stejnem systemu (wifi/zigbee) jako zarovka.</div><div><br></div><div>Proste neni-li HA, jedu v zjednosenem autonomnim rezimu (protoze jak znam zivot, tak HA zdechne jakmile odjedu z domu), pokud HA zije, tak mohu vymyslet fajnovosti</div><div>BR,</div><div>Marek</div></div><br><div><div dir="ltr">On Wed, Mar 17, 2021 at 12:44 PM Pavel Kratochvíl <<a href="mailto:kratochvil@seznam.cz" target="_blank">kratochvil@seznam.cz</a>> wrote:<br></div><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>S Tasmota nemám žádnou zkušenost. Začal jsem s ESPHome kvůli přímé integraci do HA - jen se přidá ESPHome addon, není potřeba MQTT prostředníka a ESPHome položka je přímo v menu HA.<div><span style="background-color:transparent">Přehled ESPHome zařízení je pak v té položce, zařízení se dají přidávat, odebírat, konfigurovat, vygenerovat firmware + nahrání přes OTA atd. Jen první nahrání firmware je potřeba udělat přes utilitu výrobce (pokud to umožňuje), nebo přes UART.</span><br></div><div><span style="background-color:transparent">Ale Tasmota se taky vyvíjí, možná má dneska jiné možnosti.</span><br></div><div><span style="background-color:transparent"><br></span></div><div><span style="background-color:transparent">Pavel</span></div><div> <br>
---------- Původní e-mail ----------<br>
Od: Martin Hanek <<a href="mailto:martin@hanek.net" target="_blank">martin@hanek.net</a>><br>
Komu: <a href="mailto:hw-list@list.hw.cz" target="_blank">hw-list@list.hw.cz</a><br>
Datum: 17. 3. 2021 11:33:24<br>
Předmět: Re: Zásuvka s ovládáním přes WIFI
<br><blockquote>
    Díky za jednoduchý a jasný popis. Zkoušel jste i firmware Tasmota?
    Nebo ESPHome vyžaduje také fw od ESPHome?<br>
    <pre>Martin Hanek</pre>
    <div>Dne 17.03.2021 v 11:20 Pavel Kratochvíl
      napsal(a):<br>
    </div>
    <blockquote>
      
      
      <div>Zdravím,</div>
      <div>j<span style="background-color:transparent">ak na tom jsou
          zařízení připojené kamsi do cloudu nevím. </span><span style="background-color:transparent">Já používám </span><span style="background-color:transparent">Home Assistant (HA) a
          všechna zařízení jsou připojená k němu, žádný cloud. "WiFi"
          zařízení mám různé zásuvky, spínače Sonoff, snímače, žárovky
          atd. (prostě všechno co je založené na </span><span style="background-color:transparent">ESP8266/ESP32) s firmware</span><span style="background-color:transparent"> </span><span style="background-color:transparent">ESPHome. Tato zařízení,
          pokud to chcete, umí fungovat i autonomně - všechno co je
          součástí konfigurace ESPHome funguje i kdyby byl HA mimo
          provoz.</span></div>
      <div><span style="background-color:transparent">Takže třeba větrák
          v koupelně zapojený přes Sonoff TH se dá zapnout/vypnout
          tlačítkem, vypne se sám po nějaké době po zapnutí tlačítkem,
          zapne/vypne se sám podle teploty/vlhkosti a nepotřebuje k tomu
          HA, protože veškerou automatizaci nastavuji v konfiguraci
          ESPHome toho zařízení. Ale stav všech čidel a větráku v HA
          vidím a mohl bych větrák ovládat i z HA ručně, nebo na základě
          stavů něčeho.</span></div>
      <div><span style="background-color:transparent">Ale pokud chcete,
          můžete </span><span style="background-color:transparent">stejné
          zařízení</span><span style="background-color:transparent"> </span><span style="background-color:transparent">udělat i zcela závislé na
          HA. V ESPHome nakonfigurujete jen vstupy a výstupy a
          automatizaci uděláte v HA.</span></div>
      <div>Pavel</div>
      <br>
    </blockquote>
    <br>
  

_______________________________________________<br>HW-list mailing list  -  sponsored by <a href="http://www.hw.cz" target="_blank">www.HW.cz</a><br><a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a><br><a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br></blockquote></div></div>_______________________________________________<br>
HW-list mailing list  -  sponsored by <a href="http://www.hw.cz" rel="noreferrer" target="_blank">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
</blockquote></div>
_______________________________________________<br>HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" target="_blank">www.HW.cz</a><br><a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a><br><a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br></blockquote></div></div></div>_______________________________________________<br>
HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" rel="noreferrer" target="_blank">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
</blockquote></div>