GPIO switch podmínka pro zapnutí

www
puls
Nováček na fóru
Nováček na fóru
Příspěvky: 8
Registrován: 14. listopad 2022, 19:03

GPIO switch podmínka pro zapnutí

Příspěvek od puls »

Dobrý den,

Jsem začátečník v HA, migruji zařízení z Blynku, ale nevim si rady. Zapínám čerpadlo z HA, při poklesu hladiny se čerpadlo vypne.

Jak to prosím nastavím, aby se při nízké hladině spínač nezapnul?

Zkoušel jsem všechno možné pres condition atd, ale stále se mi v kodu objevují chyby a nejde zkompilovat

Mam tento kód, vypnutí mi v nemfunguje, ale nevím jak zabránit zapnutí spínače, když je úroveň hladiny nízká.

Děkuji Pavel

binary_sensor:
- platform: gpio
name: "hladina"
id: hladina
pin:
number: GPIO14
on_release:
- switch.turn_off: relay_pump

switch:
## relay pump
- platform: gpio
pin: GPIO5
name: "Relay pump"
id: relay_pump

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

Re: GPIO switch podmínka pro zapnutí

Příspěvek od Pete30 »

Formátuj správně svůj kód, takto není vidět syntaxe a nedá se to číst.
Viz zde bod č.8 viewtopic.php?t=31
Nic méně jednu chybu tam vidím již teď, ale bez správného formátování nelze pomoci.
Díky
Pokud nejsem přítomen tak jsem na rybách ;)

puls
Nováček na fóru
Nováček na fóru
Příspěvky: 8
Registrován: 14. listopad 2022, 19:03

Re: GPIO switch podmínka pro zapnutí

Příspěvek od puls »

omlouvam se, nejsem tak zbehly, snad to ted bude citelne. Neumim vyhodnotit tu podminku ve switchi, zkousel jsem tru/false, 0/1, ON/OFF ale porad to probehne i kdyz mam spinac hladiny rozepnuty. Bohuzel jsem nikde nenasel jak ma byt spravne syntaxe.

Kód: Vybrat vše

binary_sensor:
  - platform: gpio
    name: "hladina"
    id: hladina
    pin: 
      number: GPIO14
    on_release:
      - switch.turn_off: relay_pump
      
switch:
  ## relay pump
  - platform: gpio
    pin: GPIO5
    name: "Relay pump"  
    id: relay_pump
    on_turn_on:
      then:
        - if:
            condition:
              lambda: 'return id(hladina).state = "ON";'
            then:
              - switch.turn_on: relay_pump
              - logger.log: "*****on ******"
            else:
              - switch.turn_off: relay_pump
              - logger.log: "***** OFF **


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

Re: GPIO switch podmínka pro zapnutí

Příspěvek od Pete30 »

puls píše: 23. leden 2023, 17:09 Zapínám čerpadlo z HA, při poklesu hladiny se čerpadlo vypne.
Podle tvého popisu zapínáš čerpadlo z HA ?
Když spínáš čerpadlo z HA proč to řešit tak složitě v esp když už máš automatizaci na sepnutí čerpadla v HA ?
Stačí do té automatizace vložit podmínku pokud je hladina vysoká provede se akce a pokud nebude splněna podmínka vysoké hladiny akce se neprovede.
Předpokládám že hlídáš hladinu nějakým senzorem (hladina) na esp ?
Pokud to špatně chápu dodej více informací.

Jinak ta chybka co jsem zahlédl je:

Kód: Vybrat vše

binary_sensor:
  - platform: gpio
    name: "hladina"
    id: hladina
    pin: 
      number: GPIO14
    on_release:
      then:
        - switch.turn_off: relay_pump
Na ten switch jsem se zatím nedíval a pokud to budeš řešit na úrovni HA je to zbytečné.
Pokud nejsem přítomen tak jsem na rybách ;)

puls
Nováček na fóru
Nováček na fóru
Příspěvky: 8
Registrován: 14. listopad 2022, 19:03

Re: GPIO switch podmínka pro zapnutí

Příspěvek od puls »

Chci veskeou automatizaci mit nezavislou na serveru. mam pres 40 desek, vesmes prototypu vlastni vyroby a chci vyloucit napriklad situaci kdy by mi pri vypadku serveru zustala tect voda do jezirek atd. Nechci automatizovat na dalku kriticke operace, kdyz to zvladne primo cip.Mel jsem to takto udelane uz na Blynku, bohuzel ten zpoplatnili tak, ze jsem odesel a ted od listopadu postupne vse migruju. Kazdopadne kdyby jste mi nekdo umeli poradit budu moc vdecny, ten kod je jen maly fragment na kterem jsem se zaseknul, potrebuju nakopnout. Tapu protoze syntaxe jazyka je zcela jina nez jsem byl zvykly. Diky moc.

puls
Nováček na fóru
Nováček na fóru
Příspěvky: 8
Registrován: 14. listopad 2022, 19:03

Re: GPIO switch podmínka pro zapnutí

Příspěvek od puls »

Jeste pro upresneni tady na to prikladu to spoustim z ha, ale mam dalsi moduly kde je jen na jare zapnu a celou sezonu se o to nestaram, dashboard je jen pro kontrolu a notifikace havarijnich stavu.

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

Re: GPIO switch podmínka pro zapnutí

Příspěvek od Pete30 »

Ok teď už je mi to jasné a chápu.
Nejdříve se podívej sem kde je to v dokumentaci docela dobře popsáno včetně automatizací:
https://esphome.io/components/switch/index.html
https://esphome.io/components/binary_se ... ary+sensor
Případně co nebude jasné zkusíme dát dohromady ;)
Jen pro upřesnění pár otázek:
Senzor hladiny spíná relé čerpadla (esp) ?
Pokud se sníží hladina relé vypne (esp) ?
Požadavek je pokud senzor nahlásí nízkou hladinu a relé vypne, aby relé nešlo zapnout pokud senzor stále hlásí nízkou hladinu ?
Relé se sepne pokud senzor nahlásí vysokou hladinu ?
Nebo ještě něco je potřeba ?
Pokud nejsem přítomen tak jsem na rybách ;)

puls
Nováček na fóru
Nováček na fóru
Příspěvky: 8
Registrován: 14. listopad 2022, 19:03

Re: GPIO switch podmínka pro zapnutí

Příspěvek od puls »

V tomto pripade senzor cerpadlo vypne, po vycisteni filtru ho zapnu z panelu rucne. Kdyz se to zapinalo automaticky pri znecustenem filtru tak voda pomalu nastoupala, a kdyz zaplo cetpadlo nestacila dotekat a chytlo to smycku kdy se to zapjnalo a vypinalo a ty cerpadla na to nejsou stavene.

To vypinani funguje, ale protoze to nebsluhuju sam, ale kdyz je doma tak dcera, tak ona, potrebuju to blbuvzdorme aby to neslo zapnout pri nizke hladine.

To je cele.

V tech dalsich se uz pak z toho odpichnu, koiknu na to bude to nejaka blbost v tom kodu, ale za boha na to neumim prijit.

puls
Nováček na fóru
Nováček na fóru
Příspěvky: 8
Registrován: 14. listopad 2022, 19:03

Re: GPIO switch podmínka pro zapnutí

Příspěvek od puls »

Dobrý den,
problem bude v pravdepodobne v te lambde, prosel jsem navody, ale bezuspesne. Sensor do logu posila ON/OFF, kousel jsem i 1/0 nebo true/false, co delam spatne?
Dekuji Pavel

Kód: Vybrat vše

binary_sensor:
  - platform: gpio
    name: "hladina"
    id: hladina
    pin: 
      number: GPIO14
    on_release:
      - switch.turn_off: relay_pump

switch:
  ## relay pump
  - platform: gpio
    pin: GPIO5
    name: "Relay pump"  
    id: relay_pump
    on_turn_on:
      then:
        - if:
            condition:
              lambda: 'return id(hladina).state == 1;'
            then:
              - switch.turn_on: relay_pump
              - logger.log: "*****on ******"
            else:
              - switch.turn_off: relay_pump
              - logger.log: "***** OFF *****"


rxw
Nováček na fóru
Nováček na fóru
Příspěvky: 7
Registrován: 09. prosinec 2022, 13:48
Dostal poděkování: 1 poděkování

Re: GPIO switch podmínka pro zapnutí

Příspěvek od rxw »

Podle dokumentace má binary_sensor.state hodnotu true/false. Takže bych zkusil změnit podmínku:

Kód: Vybrat vše

condition:
  lambda: 'return (id(hladina).state == true);'
nebo použít jednodušší formu:

Kód: Vybrat vše

condition:
  binary_sensor.is_on: hladina

Odpovědět

Zpět na „ESPHome“