Vypnutí čerpadla pokud poklesne SOC baterie pod 70 %, nebo je dnešní doba provozu čerpadla delší než 1 hod

Automatizace tvořené přímo, pomocí funkcí HomeAssitent(a).
Odpovědět
jarda
Nováček na fóru
Nováček na fóru
Příspěvky: 5
Registrován: 30. prosinec 2022, 15:04
Dal poděkování: 2 poděkování

Vypnutí čerpadla pokud poklesne SOC baterie pod 70 %, nebo je dnešní doba provozu čerpadla delší než 1 hod

Příspěvek od jarda »

Jsem začátečník v HA, yaml se snažím pochopit a potřebuji nakopnout v automatizaci

Snažím se upravit automatizaci pro vypínání bazénového čerpadla

Nyní se mně čerpadlo vypíná vždy, když poklesne SOC baterie u fotovoltaiky pod 70 %
Potřebuji rozšířit podmínku na vypnutí čerpadla: SOC baterie je pod 70 %, nebo dnešní doba provozu čerpadla je delší než 1 hod

Do configuration.yaml jsem doplnil sensor dobaprovozucerpadla
# sledování doby provozu čerpadla

Kód: Vybrat vše

sensor:
  - platform: history_stats
    name: dobaprovozucerpadla
    entity_id: switch.shelly1pm_cerpadlo_switch_0
    state: "on"
    type: time
    start: "{{ now().replace(hour=0, minute=0, second=0) }}"
    end: "{{ now() }}"
Výpis stavu entity ve vývojářských nástrojích je:

state_class: measurement
unit_of_measurement: h
device_class: duration
icon: mdi:chart-line
friendly_name: dobaprovozucerpadla

V pomocnících jsem si vytvořil měřič dnešní doby provozu čerpadla – stav entity ve vývojářských nástrojích je

state_class: total_increasing
source: sensor.dobaprovozucerpadla
status: collecting
last_period: '1.00'
last_valid_state: '0.02'
meter_period: daily
cron pattern: 0 0 * * *
last_reset: '2023-05-08T22:00:00.004597+00:00'
unit_of_measurement: h
icon: mdi:counter
friendly_name: Provoz bazénového čerpadla - dnes

Automatizaci v yaml mám napsanou takto

Kód: Vybrat vše

alias: Vypni cerpadlo pokud je SOC menší než 70%, nebo dnešní provoz čerpadla > 1 hod
description: ""
trigger:
  - platform: time_pattern
    minutes: /5
condition:
  - condition: or
    conditions:
      - type: is_battery_level
        condition: device
        device_id: 45929a2fb1a77d376eb01042fcd25899
        entity_id: sensor.battery_state_of_charge
        domain: sensor
        below: 70
      - condition: state
        entity_id: sensor.provoz_bazenoveho_cerpadla_dnes
        state: "1.00"
action:
  - type: turn_off
    device_id: fa2006a6be55fda2a45d967716c825b6
    entity_id: switch.shelly1pm_cerpadlo_switch_0
    domain: switch
mode: single
Bohužel neumím napsat podmínku sensor.provoz_bazenoveho_cerpadla_dnes > 1 a mám tam jen state entity je přesně 1.00 (pokud je doba provozu např. 1.01 tak se čerpadlo samozřejmě nevypne)
Naposledy upravil(a) jarda dne 09. květen 2023, 15:57, celkem upraveno 3 x.

Uživatelský avatar
tiimsvk
Dárce - Donátor
Dárce - Donátor
Příspěvky: 801
Registrován: 06. květen 2021, 07:03
Dal poděkování: 72 poděkování
Dostal poděkování: 65 poděkování

Re: Vypnutí čerpadla pokud poklesne SOC baterie pod 70 %, nebo je dnešní doba provozu čerpadla delší než 1 hod

Příspěvek od tiimsvk »

Prosim spravne naformatuj prispevok takto sa to neda skontrolovať
[ code ][ /code ]

jarda
Nováček na fóru
Nováček na fóru
Příspěvky: 5
Registrován: 30. prosinec 2022, 15:04
Dal poděkování: 2 poděkování

Re: Vypnutí čerpadla pokud poklesne SOC baterie pod 70 %, nebo je dnešní doba provozu čerpadla delší než 1 hod

Příspěvek od jarda »

Na druhý pokus upraveno

Uživatelský avatar
tiimsvk
Dárce - Donátor
Dárce - Donátor
Příspěvky: 801
Registrován: 06. květen 2021, 07:03
Dal poděkování: 72 poděkování
Dostal poděkování: 65 poděkování

Re: Vypnutí čerpadla pokud poklesne SOC baterie pod 70 %, nebo je dnešní doba provozu čerpadla delší než 1 hod

Příspěvek od tiimsvk »

Takže takto:

Kód: Vybrat vše

description: ""
mode: single
trigger:
  - platform: time_pattern
    minutes: "5"
condition: []
action:
  - if:
      - condition: or
        conditions:
          - condition: numeric_state
            entity_id: sensor.battery_state_of_charge
            below: 70
      - condition: state
        entity_id: switch.shelly1pm_cerpadlo_switch_0
        for:
          hours: 1
          minutes: 0
          seconds: 0
        state: "on"
    then:
      - service: switch.turn_off
        data: {}
        target:
          entity_id: switch.shelly1pm_cerpadlo_switch_0
A nemal by si potrebovať ďalšie template senzory na vytvorenie času.

jarda
Nováček na fóru
Nováček na fóru
Příspěvky: 5
Registrován: 30. prosinec 2022, 15:04
Dal poděkování: 2 poděkování

Re: Vypnutí čerpadla pokud poklesne SOC baterie pod 70 %, nebo je dnešní doba provozu čerpadla delší než 1 hod

Příspěvek od jarda »

Pokud jsem tvoji automatizaci pochopil, tak by to vypnulo pokud by čerpadlo běželo 1 hod v kuse, nebo pokleslo SOC pod 70%. Jestli to tak není, tak mně ještě jednou nakopni ;)

Mně se ale čerpadlo zapíná podle stavu baterie a výkonu fotovoltaiky, několikrát za den + si ji mohu pustit sám např. pokud čistím bazén + pokud nesvítí sluníčko a fotovoltaika nestíhá, zapne se čerpadlo večer když je levnější sazba elektřiny.
Doba provozu je daná teplotou vody do 18 st 1 hod, nad 20 st 2 hod,...
Celý problém byl ten, že jsem neuměl převést sensor na číselnou hodnotu :D
ted to díky tobě umím :thx:
změnil jsem to takto a vypadá to že je to funkční

Kód: Vybrat vše

alias: Vypni cerpadlo pokud je SOC menší než 70%, nebo dnešní provoz čerpadla > 1 hod
description: ""
trigger:
  - platform: time_pattern
    minutes: /5
condition:
  - condition: or
    conditions:
      - type: is_battery_level
        condition: device
        device_id: 45929a2fb1a77d376eb01042fcd25899
        entity_id: sensor.battery_state_of_charge
        domain: sensor
        below: 70
      - condition: numeric_state
        entity_id: sensor.provoz_bazenoveho_cerpadla_dnes
        above: 1
action:
  - type: turn_off
    device_id: fa2006a6be55fda2a45d967716c825b6
    entity_id: switch.shelly1pm_cerpadlo_switch_0
    domain: switch
mode: single

Odpovědět

Zpět na „Automatizace“