Vodoměr ER-AM + bateriový WiFi snímač průtoku s SHELLY DOOR/WINDOW 2

Ucelené projekty, návody a postupy.
Uživatelský avatar
Lion®
Administrátor fóra
Administrátor fóra
Příspěvky: 1604
Registrován: 28. září 2020, 14:07
Bydliště: podkrkonoší
Dal poděkování: 144 poděkování
Dostal poděkování: 193 poděkování
Kontaktovat uživatele:

Vodoměr ER-AM + WeMos ESP-WROOM-02

Příspěvek od Lion® »

dvě otázečky prosím:

1. Můžu nahradit tu Shellynu WeMos ESP-WROOM-02?
https://www.laskakit.cz/wemos-esp-wroom ... ova-deska/
2. dostanu do toho Tasmotu?

edit:
asi ano
https://tasmota.github.io/docs/Pinouts/#esp-wroom-02
________________
🍻 Přispěj a získej přístup do obsahu fóra pro dárce. :thx:
Oficiální sada s Raspberry Pi 4B/4GB, černá +Argon NEO Raspberry Pi 4 Case
Patriot Burst 2.5" SATA SSD 120GB + AXAGON EE25-XA6 ALINE box

Galerie realizací

kiklhorn
Moderátor
Moderátor
Příspěvky: 901
Registrován: 03. červenec 2021, 18:35
Dal poděkování: 107 poděkování
Dostal poděkování: 210 poděkování

Re: Vodoměr ER-AM + WeMos ESP-WROOM-02

Příspěvek od kiklhorn »

Půjde. Pin na ESP si nastav na input pull-up a napřímo ho připoj k výstupu vodoměru.

Kdybys náhodou chtěl použít ESPHome - https://esphome.io/components/binary_sensor/gpio.html
Vše co si přinesu domů je buď Shelly, nebo to skončí buď pod ESPhome nebo pod Zigbee2mqtt.
Ajťák co pamatuje BBS a OS/2 Warp a je mu jedno o jaký systém nebo síťařinu běží.
HA OS jako jedna z Proxmox VM na Odroid H3+/64GB https://github.com/tteck/Proxmox

Uživatelský avatar
Lion®
Administrátor fóra
Administrátor fóra
Příspěvky: 1604
Registrován: 28. září 2020, 14:07
Bydliště: podkrkonoší
Dal poděkování: 144 poděkování
Dostal poděkování: 193 poděkování
Kontaktovat uživatele:

Re: Vodoměr ER-AM + WeMos ESP-WROOM-02

Příspěvek od Lion® »

kiklhorn píše: 22. prosinec 2022, 19:24 Půjde. Pin na ESP si nastav na input pull-up a napřímo ho připoj k výstupu vodoměru.

Kdybys náhodou chtěl použít ESPHome - https://esphome.io/components/binary_sensor/gpio.html
Pokud to bude možné půjdu do tasmoty a input pull-up dořešíme až to po Novým roce příjde.
Opět si totiž nejsem jistý, o čem je řeč. ;)
________________
🍻 Přispěj a získej přístup do obsahu fóra pro dárce. :thx:
Oficiální sada s Raspberry Pi 4B/4GB, černá +Argon NEO Raspberry Pi 4 Case
Patriot Burst 2.5" SATA SSD 120GB + AXAGON EE25-XA6 ALINE box

Galerie realizací

kiklhorn
Moderátor
Moderátor
Příspěvky: 901
Registrován: 03. červenec 2021, 18:35
Dal poděkování: 107 poděkování
Dostal poděkování: 210 poděkování

Re: Vodoměr ER-AM + WeMos ESP-WROOM-02

Příspěvek od kiklhorn »

z toho odkazu -

Kód: Vybrat vše

      mode:
        input: true
        pullup: true
ESP pin nastaví jako vstupní a interně k němu připojí rezistor na napájení
Vše co si přinesu domů je buď Shelly, nebo to skončí buď pod ESPhome nebo pod Zigbee2mqtt.
Ajťák co pamatuje BBS a OS/2 Warp a je mu jedno o jaký systém nebo síťařinu běží.
HA OS jako jedna z Proxmox VM na Odroid H3+/64GB https://github.com/tteck/Proxmox

Uživatelský avatar
Lion®
Administrátor fóra
Administrátor fóra
Příspěvky: 1604
Registrován: 28. září 2020, 14:07
Bydliště: podkrkonoší
Dal poděkování: 144 poděkování
Dostal poděkování: 193 poděkování
Kontaktovat uživatele:

Re: Vodoměr ER-AM + WeMos ESP-WROOM-02

Příspěvek od Lion® »

kiklhorn píše: 22. prosinec 2022, 19:52 z toho odkazu -

Kód: Vybrat vše

      mode:
        input: true
        pullup: true
ESP pin nastaví jako vstupní a interně k němu připojí rezistor na napájení
ten odkaz je pro mě jak pro Bureše žaludky...
víš přece že se mnou musíš jak s debilem ;)
https://tasmota.github.io/docs/Template ... r-template

???
https://tasmota.github.io/docs/Peripher ... -mode-pins
???
________________
🍻 Přispěj a získej přístup do obsahu fóra pro dárce. :thx:
Oficiální sada s Raspberry Pi 4B/4GB, černá +Argon NEO Raspberry Pi 4 Case
Patriot Burst 2.5" SATA SSD 120GB + AXAGON EE25-XA6 ALINE box

Galerie realizací

kiklhorn
Moderátor
Moderátor
Příspěvky: 901
Registrován: 03. červenec 2021, 18:35
Dal poděkování: 107 poděkování
Dostal poděkování: 210 poděkování

Re: Vodoměr ER-AM + WeMos ESP-WROOM-02

Příspěvek od kiklhorn »

Tasmotu nepoužívám, zkusím si tu cvičně udělat vodoměr pod ESPHome - použít to samozřejmě nemusíš...
Myslím že by to mohl být užitečný úvod do ESPHome.
Postupně od prostého kopírování stavu výstupu vodoměru (sepnuto/rozepnuto) do HA až po přímé zobrazení číselného stavu vodoměru na displeji připojeném k ESP.
Mám tu tento modul: https://www.laskakit.cz/lilygo-ttgo-t-d ... ifi-modul/ a li-pol polštářek
Na modulu jsou dvě tlačítka, jedním pólem na GND, druhým na GPIO35 A GPIO0
Jedno z tlačítek -GPIO0- použiji na simulaci kontaktu vodoměru
Protože je kontakt tlačítka spínaný na GND tak nastavím u pinu pull-up. (namísto tlačítka bych v reálu připojil výstup vodoměru)

Ať to tu nehledám - kolik pulzů na litr jde z toho vodoměru? - nebo podobný údaj

V ESPHome + new device, zadat jméno (dávám vodomer), přeskočit prozatím instalation, vybrat typ ESP, a install, po drátu flashne ESP modul a vygeneruje úvodní konfiguraci. Všechny další instalace už pak půjdou bez drátu přes OTA.

Objeví se v oznámení že
newDevice.jpg
Pokud bude dotaz na šifrovací klíč tak ten získám buď z úvodního konfiguračního souboru, nebo jej ani nemusím otvírat - přes tři tečky - show api key
ApiKey.jpg
Automaticky vygenerovaná úvodní konfigurace vypadá nějak takto, končí řádkem captive_portal:

Kód: Vybrat vše

esphome:
  name: vodomer

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "y04C14BsaCdttVT1n6pMHuH4UrvvyFmIvfwjuRYFgzA="

ota:
  password: "b87c4f83ff8b0657ac9e31aac10584e5"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Vodomer Fallback Hotspot"
    password: "ulUaBu0Yd7xk"

captive_portal:
Pod ní zapíšu:

Kód: Vybrat vše

binary_sensor:

  - platform: gpio
    pin: 
      number: GPIO0
      inverted: True
      mode: INPUT_PULLUP
    name: "výstup vodoměru"
    id: vstup_GPIO0
a dám instal, v integracích je teď pod esphome zařízení vodomer
Po přidání.jpg
Po přidání.jpg (11.33 KiB) Zobrazeno 620 x
a dá se doklikat k názvu senzoru
klik.jpg
prvnisenzor.jpg
A přidám nějaké čítače:

Kód: Vybrat vše

sensor:
  - platform: pulse_counter
    pin:
      number: GPIO0
      mode:
        input: true
        pulldown: true
    name: "Průtokoměr" #pulsy za minutu
    update_interval: 10s #novou hodnotu chci vidět častěji než jednou za minutu

  - platform: pulse_counter
    pin:
      number: GPIO0
      mode:
        input: true
        pulldown: true
    filters: 
      - multiply: 0.25 #dělíme 4, čtyři pulsy na litr, tedy jeden puls = 0.25l
    name: "Průtok" 
    unit_of_measurement: l/min
    total:
      name: "Celkový počet litrů" 
      unit_of_measurement: l
    update_interval: 10s #novou hodnotu chci vidět častěji než jednou za minutu
    
install, a v HA dostanu:
čítače.jpg
Vše co si přinesu domů je buď Shelly, nebo to skončí buď pod ESPhome nebo pod Zigbee2mqtt.
Ajťák co pamatuje BBS a OS/2 Warp a je mu jedno o jaký systém nebo síťařinu běží.
HA OS jako jedna z Proxmox VM na Odroid H3+/64GB https://github.com/tteck/Proxmox

kiklhorn
Moderátor
Moderátor
Příspěvky: 901
Registrován: 03. červenec 2021, 18:35
Dal poděkování: 107 poděkování
Dostal poděkování: 210 poděkování

Re: Vodoměr ER-AM + WeMos ESP-WROOM-02

Příspěvek od kiklhorn »

Trochu jsem to rozšířil,

Pro vlastní použití je třeba definovat v globals - kolik pulsů na litr a stav počítadla
A v celém kódu GPIO0 za pin použitý pro připojení výstupu vodoměru
Volitelný displej je definován odděleně v poslední části a při jeho nepoužití je potřeba v první části kódu zakomentovat řádek s

Kód: Vybrat vše

- component.update: my_display 
Kompletní kód vodoměru:

Kód: Vybrat vše

esphome:
  name: vodomer
  on_boot:
    priority: 300
    then:
      - pulse_counter.set_total_pulses: #po bootu do čítačů obnovit počítadlo pulsů uložené ve flash
          id: pocitadlo
          value: !lambda "return id(pocitadlo_stored);"
      # - pulse_meter.set_total_pulses:   #Ne, meter obnovovat nebudu. I když nemá atribut last_reset tak s ním nějak HA počítá. Ve spotřebě by to dělalo nepořádek. Stav pocitadla je v total counter, ne v meter  
      #     id: vodomer_energy
      #     value: !lambda "return id(pocitadlo_stored);" 
          
             
esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "y04C14BsaCdttVT1n6pMHuH4UrvvyFmIvfwjuRYFgzA="

ota:
  password: "b87c4f83ff8b0657ac9e31aac10584e5"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Vodomer Fallback Hotspot"
    password: "ulUaBu0Yd7xk"

captive_portal:

globals:
  - id: ppl
    type: int
    restore_value: False
    initial_value: "10"  # pulsů na litr
  - id: pocitadlo_stored #Hodnota v litrech ukládaná do flash - přežije odpojení napájení i OTA flash
    type: float
    restore_value: True
    initial_value: "2345.0" #Hodnota interního počitadla = číslo na fyzickém vodoměru interpretovat v litrech a vydělit hodnotou zadanou v ppl

preferences:
  flash_write_interval: 1min 
#Při použití ESP8266 raději 10minut a použít esp8266_restore_from_flash direktivu pod esp8266: blokem

binary_sensor:
  - platform: gpio
    pin: 
      number: GPIO0
      inverted: True
      mode: INPUT_PULLUP
    name: "výstup vodoměru"
    id: vstup_GPIO0
    on_release: 
      then: 
        - component.update: pocitadlo #chci aktualizovat zobrazení počítadla při každém pulzu 
        - component.update: my_display 

sensor:
  - platform: pulse_counter
    name: "Průtok"
    icon: "mdi:faucet"
    accuracy_decimals: 3    
    id: pocitadlo
    pin:
      number: GPIO0
      mode:
        input: true
        pulldown: true
    filters: 
      - lambda: return x * (1.0/id(ppl));
    unit_of_measurement: l/min
    total:
      name: "Celkový počet litrů" 
      icon: "mdi:water"
      unit_of_measurement: l
      filters: 
        - lambda: return x * (1.0/id(ppl));
      on_value: 
        then:
          - globals.set: 
              id: pocitadlo_stored
              value: !lambda return x * id(ppl); 
    update_interval: 23s #novou hodnotu chci vidět častěji než jednou za minutu, nestavím na never kvůli aktualizaci zobrazení průtoku

  - platform: pulse_meter #voda celkem - do energy monitoru 
    id: vodomer_energy
    pin: GPIO0
    internal_filter_mode: EDGE 
    internal_filter: 300ms
    name: "Water Meter"
    icon: "mdi:faucet"
    unit_of_measurement: 'l/min'
    accuracy_decimals: 3
    filters:
      - lambda: return x * (1.0/id(ppl));
    total:
      name: "Voda celkem"
      id: vodomer_celkove_energy
      icon: "mdi:water"
      unit_of_measurement: "m³"
      state_class: total_increasing
      device_class: water
      accuracy_decimals: 6
      filters:
        - lambda: return x * (1.0/id(ppl)/1000);


################# pridam displej

spi:
  clk_pin: GPIO18
  mosi_pin: GPIO19

color:
  - id: color_red
    red: 1
    green: 0
    blue: 0

font: # https://fonts.google.com/?width=1&preview.text=1234567890&preview.text_type=custom
  # gfonts://family[@weight]
  # - file: "gfonts://Teko@600"
  # - file: "gfonts://Just Another Hand@400"
  # - file: "gfonts://BenchNine@400"
  - file: "gfonts://Six Caps@400"
    glyphs: "!%()+,-/_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyzμčáůýř₂³"
    id: pismo
    size: 100

display:
  - platform: st7789v
    id: my_display
    model: TTGO TDisplay 135x240
    backlight_pin: GPIO4 #tento parametr mohu vynechat, a na GPIO4 pověsit PWM a řídit jas 
    cs_pin: GPIO5
    dc_pin: GPIO16
    reset_pin: GPIO23
    rotation: 270°
    #brightness: 0.5
    update_interval: 5s
    lambda: |-
        it.printf(0, 4, id(pismo), id(color_red), "%.1f L", id(pocitadlo_stored)/id(ppl));
 
Stav meter neobnovuji z flash - použitý v HA jako zdroj spotřeby vody. Nemá sice atribut last_reset ale HA s ním tak počítá.
Stav counter obnovuji z flash - používá se pro zobrazení na displeji a měl by kopírovat stav fyzického počitadla na displej.
Používám google fonts - není nutné kopírovat žádné fonty ručně.
Okomentoval jsem snad vše potřebné..
Přílohy
enerkyvoda.jpg
DSC_1148.JPG
Final.jpg
Vše co si přinesu domů je buď Shelly, nebo to skončí buď pod ESPhome nebo pod Zigbee2mqtt.
Ajťák co pamatuje BBS a OS/2 Warp a je mu jedno o jaký systém nebo síťařinu běží.
HA OS jako jedna z Proxmox VM na Odroid H3+/64GB https://github.com/tteck/Proxmox

Uživatelský avatar
Lion®
Administrátor fóra
Administrátor fóra
Příspěvky: 1604
Registrován: 28. září 2020, 14:07
Bydliště: podkrkonoší
Dal poděkování: 144 poděkování
Dostal poděkování: 193 poděkování
Kontaktovat uživatele:

Re: Vodoměr ER-AM + WeMos ESP-WROOM-02

Příspěvek od Lion® »

Flash Tasmotou desky WeMos ESP-WROOM-02 bez problému.
Zvolil jsem šablonu pro Sonoff mini

Kód: Vybrat vše

{"NAME":"Sonoff Mini","GPIO":[32,0,0,0,160,0,0,0,224,320,0,0,1,0],"FLAG":0,"BASE":1}
vypnul příkazem ovládání relé a zapnul tak odeslání mqtt zpráv

Kód: Vybrat vše

SetOption114 1
změnil chování spínače příkazem

Kód: Vybrat vše

SwitchMode 1
z nastavení v Tasmotě jsem odebral led, relé i tlačítko a nechal tam pouze spínač
a upravil automatizaci v balicku pro include

Kód: Vybrat vše

automation:
  - alias: Vodoměr - záznam impulsů
    description: ""
    trigger:
      - platform: mqtt
        topic: stat/vodomer/RESULT
    condition: []
    action:
      - choose:
          - conditions:
              - condition: template
                automation:
  - alias: Vodoměr - záznam impulsů
    description: ""
    trigger:
      - platform: mqtt
        topic: stat/vodomer/RESULT
    condition: []
    action:
      - choose:
          - conditions:
              - condition: template
                value_template: '{{ trigger.payload_json["Switch1"]["Action"] == "ON" }}'
            sequence:
              - service: counter.increment
                data: {}
                target:
                  entity_id: counter.impulsy_vodomeru
    mode: single
zdá se, že to pracuje správně, zbývá jen doladit senzor stavu baterie který nepracuje a zatím ještě nevím jak
________________
🍻 Přispěj a získej přístup do obsahu fóra pro dárce. :thx:
Oficiální sada s Raspberry Pi 4B/4GB, černá +Argon NEO Raspberry Pi 4 Case
Patriot Burst 2.5" SATA SSD 120GB + AXAGON EE25-XA6 ALINE box

Galerie realizací

Uživatelský avatar
Lion®
Administrátor fóra
Administrátor fóra
Příspěvky: 1604
Registrován: 28. září 2020, 14:07
Bydliště: podkrkonoší
Dal poděkování: 144 poděkování
Dostal poděkování: 193 poděkování
Kontaktovat uživatele:

Re: Vodoměr ER-AM + WeMos ESP-WROOM-02

Příspěvek od Lion® »

Upekl by mi prosím někdo krabičku?

Kód: Vybrat vše

https://www.laskakit.cz/wemos-esp-wroom-02-vyvojova-deska/
Samozřejmě zaplatím a pošlu si pro ní.
________________
🍻 Přispěj a získej přístup do obsahu fóra pro dárce. :thx:
Oficiální sada s Raspberry Pi 4B/4GB, černá +Argon NEO Raspberry Pi 4 Case
Patriot Burst 2.5" SATA SSD 120GB + AXAGON EE25-XA6 ALINE box

Galerie realizací

Uživatelský avatar
Pete30
Moderátor
Moderátor
Příspěvky: 3333
Registrován: 30. září 2020, 20:33
Dal poděkování: 172 poděkování
Dostal poděkování: 364 poděkování

Re: Vodoměr ER-AM + WeMos ESP-WROOM-02

Příspěvek od Pete30 »

Rád bych, ale prozatím to po mě nechtěj.
Budu dávat dohromady stolek a skládat box. Teď dělám tuning, dotykové ovládání, spínané zásuvky atd.
Modelovací program je vyšší dívčí a zatím nevím ani jak začít, ale časem se to snad podá :D
Pokud nejsem přítomen tak jsem na rybách ;)

Odpovědět

Zpět na „Komplexní projekty“