switch a spouštění scriptů

Co umí šablony a jak je využívat.
Uživatelský avatar
okoun
Pokročilý
Pokročilý
Příspěvky: 413
Registrován: 30. prosinec 2022, 21:19
Dal poděkování: 9 poděkování
Dostal poděkování: 3 poděkování

switch a spouštění scriptů

Příspěvek od okoun »

ahoj, mám jednoduchý přepínač:

Kód: Vybrat vše

switch:
  - platform: template
    switches:
      tc_vypinac_podlahove_topeni:
        friendly_name: "TC vypínač podlahové topení"
        value_template: "{{ is_state_attr('switch.tc_vypinac_podlahove_topeni1', 'sensor_state', 'on') }}"
        turn_on:
          service: switch.toggle
          target:
            entity_id: switch.tc_vypinac_podlahove_topeni1
            entity_id: script.tc_script_podlahovka_zapnuti
        turn_off:
          service: switch.toggle
          target:
            entity_id: switch.tc_vypinac_podlahove_topeni1
            entity_id: script.tc_script_podlahovka_vypnuti
chtěl jsem spustit script script.tc_script_podlahovka_vypnuti když je OFF přidáním řádku entity_id: script.tc_script_podlahovka_vypnuti a u polohy ON obdobně, ale nejde to :(
lze to nějak vyřešit a nebo musím použít automatizaci, která bude hlídat stav switche? rád bych se automatizaci vyhnul, díky...

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

Re: switch a spouštění scriptů

Příspěvek od Lion® »

Mě se to nezdá.
Zavoláním služby switch.toggle script asi nespustíš.
Co takto:

Kód: Vybrat vše

switch:
  - platform: template
    switches:
      tc_vypinac_podlahove_topeni:
        friendly_name: "TC vypínač podlahové topení"
        value_template: "{{ is_state_attr('switch.tc_vypinac_podlahove_topeni1', 'sensor_state', 'on') }}"
        turn_on:
          - service: switch.turn_on
            target:
              entity_id: switch.tc_vypinac_podlahove_topeni1
          - service: script.turn_on
            target:
              entity_id: script.tc_script_podlahovka_zapnuti
        turn_off:
          - service: switch.turn_off
            target:
              entity_id: switch.tc_vypinac_podlahove_topeni1
          - service: script.turn_on
            target:
              entity_id: script.tc_script_podlahovka_vypnuti
???
________________
🍻 Přispět?
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
okoun
Pokročilý
Pokročilý
Příspěvky: 413
Registrován: 30. prosinec 2022, 21:19
Dal poděkování: 9 poděkování
Dostal poděkování: 3 poděkování

Re: switch a spouštění scriptů

Příspěvek od okoun »

Lion® píše: 19. listopad 2023, 19:06 Mě se to nezdá.
Zavoláním služby switch.toggle script asi nespustíš.
Co takto:

Kód: Vybrat vše

switch:
  - platform: template
    switches:
      tc_vypinac_podlahove_topeni:
        friendly_name: "TC vypínač podlahové topení"
        value_template: "{{ is_state_attr('switch.tc_vypinac_podlahove_topeni1', 'sensor_state', 'on') }}"
        turn_on:
          - service: switch.turn_on
            target:
              entity_id: switch.tc_vypinac_podlahove_topeni1
          - service: script.turn_on
            target:
              entity_id: script.tc_script_podlahovka_zapnuti
        turn_off:
          - service: switch.turn_off
            target:
              entity_id: switch.tc_vypinac_podlahove_topeni1
          - service: script.turn_on
            target:
              entity_id: script.tc_script_podlahovka_vypnuti
???
výborný tohle jede, ten yaml je divnej jazyk to už píšu asi po 10té :) jinak technická proč si použil na tvrdo .turn_on a .turn_off a ne jen .toggle ?

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

Re: switch a spouštění scriptů

Příspěvek od Lion® »

Tak je to jistější, přepnout je přepnout z nějakého stavu do druhého, zapnout je vždy zapnout a vypnout je vypnout ať je výchozí stav z nějakého důvodu jakykoliv.
________________
🍻 Přispět?
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
okoun
Pokročilý
Pokročilý
Příspěvky: 413
Registrován: 30. prosinec 2022, 21:19
Dal poděkování: 9 poděkování
Dostal poděkování: 3 poděkování

Re: switch a spouštění scriptů

Příspěvek od okoun »

Lion® píše: 19. listopad 2023, 20:15 Tak je to jistější, přepnout je přepnout z nějakého stavu do druhého, zapnout je vždy zapnout a vypnout je vypnout ať je výchozí stav z nějakého důvodu jakykoliv.
ještě taková drobnost chtěl jsem napojit přepínač na binární sondu, aby přepínač na HA kopíroval ten reálný jenže to nějak nefunguje viz:

Kód: Vybrat vše

value_template: "{{ is_state_attr('binary_sensor.tc_topeni_aktivni', 'sensor_state', 'on') }}"
binary_sensor.tc_topeni_aktivni dává dle vývojářský nástorjů on/off

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

Re: switch a spouštění scriptů

Příspěvek od Lion® »

To je spíš dotaz na stav atributu binary senzoru.
Zkus se zeptat přímo na stav binary senzoru.

Kód: Vybrat vše

value_template: "{{ is_state('binary_sensor.tc_topeni_aktivni', 'on') }}"
________________
🍻 Přispět?
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
okoun
Pokročilý
Pokročilý
Příspěvky: 413
Registrován: 30. prosinec 2022, 21:19
Dal poděkování: 9 poděkování
Dostal poděkování: 3 poděkování

Re: switch a spouštění scriptů

Příspěvek od okoun »

jo to už asi jede, díky

fitor
Začínající autor
Začínající autor
Příspěvky: 45
Registrován: 14. září 2022, 21:53
Dal poděkování: 1 poděkování
Dostal poděkování: 2 poděkování

Re: switch a spouštění scriptů

Příspěvek od fitor »

Ahoj,
mám v automatizaci nadefinovaný vysoký a nízký tarif pro přepínání elektroměrů.
To mi funguje. Ale chtěl bych nadefinovat switch "HDO on/off"
Jediné, co mi jede je:
- service: input_boolean.toggle
data: {}
target:
entity_id: input_boolean.notify_hdo

ale je tam to toggle, které není úplně spolehlivé. Jak mám nadefinovat přepínání on/off, nečo jako když je tariff = peak nebo offpeak, zapni nebo vypni?
Dík

Kód: Vybrat vše

alias: Tarif
description: Prepinac tarifu
trigger:
  - platform: time
    at: "6:00:00"
    variables:
      tariff: peak
  - platform: time
    at: "7:00:00"
    variables:
      tariff: offpeak
  - platform: time
    at: "9:00:00"
    variables:
      tariff: peak
  - platform: time
    at: "10:00:00"
    variables:
      tariff: offpeak
  - platform: time
    at: "13:00:00"
    variables:
      tariff: peak
  - platform: time
    at: "14:00:00"
    variables:
      tariff: offpeak
  - platform: time
    at: "16:00:00"
    variables:
      tariff: peak
  - platform: time
    at: "17:00:00"
    variables:
      tariff: offpeak
action:
  - service: select.select_option
    target:
      entity_id: select.daily_energy_import
    data:
      option: "{{ tariff }}"
  - service: select.select_option
    target:
      entity_id: select.monthly_energyy_import
    data:
      option: "{{ tariff }}"
  - service: select.select_option
    target:
      entity_id: select.yearly_energyy_import
    data:
      option: "{{ tariff }}"
  - service: input_boolean.toggle
    data: {}
    target:
      entity_id: input_boolean.notify_hdo

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

Re: switch a spouštění scriptů

Příspěvek od Lion® »

fitor píše: 20. listopad 2023, 19:20 Ahoj,
mám v automatizaci nadefinovaný vysoký a nízký tarif pro přepínání elektroměrů.
To mi funguje. Ale chtěl bych nadefinovat switch "HDO on/off"
Spoiler
Jediné, co mi jede je:
- service: input_boolean.toggle
data: {}
target:
entity_id: input_boolean.notify_hdo

ale je tam to toggle, které není úplně spolehlivé. Jak mám nadefinovat přepínání on/off, nečo jako když je tariff = peak nebo offpeak, zapni nebo vypni?
Dík

Kód: Vybrat vše

alias: Tarif
description: Prepinac tarifu
trigger:
  - platform: time
    at: "6:00:00"
    variables:
      tariff: peak
  - platform: time
    at: "7:00:00"
    variables:
      tariff: offpeak
  - platform: time
    at: "9:00:00"
    variables:
      tariff: peak
  - platform: time
    at: "10:00:00"
    variables:
      tariff: offpeak
  - platform: time
    at: "13:00:00"
    variables:
      tariff: peak
  - platform: time
    at: "14:00:00"
    variables:
      tariff: offpeak
  - platform: time
    at: "16:00:00"
    variables:
      tariff: peak
  - platform: time
    at: "17:00:00"
    variables:
      tariff: offpeak
action:
  - service: select.select_option
    target:
      entity_id: select.daily_energy_import
    data:
      option: "{{ tariff }}"
  - service: select.select_option
    target:
      entity_id: select.monthly_energyy_import
    data:
      option: "{{ tariff }}"
  - service: select.select_option
    target:
      entity_id: select.yearly_energyy_import
    data:
      option: "{{ tariff }}"
  - service: input_boolean.toggle
    data: {}
    target:
      entity_id: input_boolean.notify_hdo
To co jsi tu uvedl bych si napsal takto:

Kód: Vybrat vše

alias: Tarif
description: Prepinac tarifu
trigger:
  - platform: time
    at: "6:00:00"
    id: peak
  - platform: time
    at: "7:00:00"
    id: offpeak
  - platform: time
    at: "9:00:00"
    id: peak
  - platform: time
    at: "10:00:00"
    id: offpeak
  - platform: time
    at: "13:00:00"
    id: peak
  - platform: time
    at: "14:00:00"
    id: offpeak
  - platform: time
    at: "16:00:00"
    id: peak
  - platform: time
    at: "17:00:00"
    id: offpeak
action:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - peak
        sequence:
          - service: select.select_option
            data:
              option: peak
            target:
              entity_id:
                - select.yearly_energyy_import
                - select.monthly_energyy_import
                - select.daily_energy_import
          - service: input_boolean.turn_on
            data: {}
            target:
              entity_id: input_boolean.notify_hdo
      - conditions:
          - condition: trigger
            id:
              - offpeak
        sequence:
          - service: select.select_option
            data:
              option: offpeak
            target:
              entity_id:
                - select.yearly_energyy_import
                - select.monthly_energyy_import
                - select.daily_energy_import
          - service: input_boolean.turn_off
            data: {}
            target:
              entity_id: input_boolean.notify_hdo
________________
🍻 Přispět?
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í

fitor
Začínající autor
Začínající autor
Příspěvky: 45
Registrován: 14. září 2022, 21:53
Dal poděkování: 1 poděkování
Dostal poděkování: 2 poděkování

Re: switch a spouštění scriptů

Příspěvek od fitor »

Zítra vyzkouším

Odpovědět

Zpět na „Šablony“