blueprint - skript zvýšení/snížení jasu světla

Plány (blueprints)
Odpovědět
Uživatelský avatar
Pete30
Moderátor
Moderátor
Příspěvky: 2626
Registrován: 30. září 2020, 20:33
Dal poděkování: 130 poděkování
Dostal poděkování: 287 poděkování

blueprint - skript zvýšení/snížení jasu světla

Příspěvek od Pete30 »

Po delší době tu máme další blueprint/skript na ovládání světla nebo skupiny světel, zvýšení nebo snížení jasu v nastaveném čase
od 1 min až do 1 hod.
Testováno se skupinou 12 světel HUE, má i český popis :D

Kód: Vybrat vše

blueprint:
  name: Postupem času snižuje nebo zvyšuje jas světla
  description: |
    # Postupem času sníží nebo zvýší jas světla

  domain: script
  input: 
    light_entity: 
      name: Entita světla
      description: "Vyberte cílové světlo\n\n
                    _entita světla nebo skupiny_"
      selector:
        entity:
          filter:
            domain: light
          multiple: false
    transition_time: 
      name: Čas přechodu
      description: "Vyberte čas přechodu\n\n
                    _min je 60 sekund, max je 3600 sekund = 1 hodina_"
      default: 60
      selector:
        number:
          min: 60
          max: 3600
          step: 1
          unit_of_measurement: seconds
          mode: slider
    target_brightness: 
      name: Cílový jas
      description: "Vyberte cilový jas\n\n
                    _default je 100%_"
      default: 100
      selector:
        number:
          min: 0
          max: 100
          step: 1
          unit_of_measurement: '%'
          mode: slider

    initial_brightness: 
      name: Počáteční jas
      description: "Vyberte počáteční jas\n\n
                    _default je 10%_"
      default: 1
      selector:
        number:
          min: 0
          max: 100
          step: 1
          unit_of_measurement: '%'
          mode: slider

    brightness_step:
      name: Krok jasu
      description: "Vyberte krok jasu\n\n
                    _výchozí je 2 %, pokud je cílový jas nižší než počáteční jas, je záporný_"
      default: 2
      selector:
        number:
          min: 1
          max: 100
          step: 1
          unit_of_measurement: '%'
          mode: slider

mode: single
icon: mdi:lightbulb-on-60
variables:
  transition_time: !input transition_time
  brightness_step: !input brightness_step
  initial_brightness_pct: !input initial_brightness
  target_brightness_pct: !input target_brightness
  light_entity: !input light_entity

sequence:
  - variables:
      target_brightness: '{{(target_brightness_pct * 255 / 100)|round}}'
      initial_brightness: '{{(initial_brightness_pct * 255 / 100)|round}}'
      required_steps: '{{(((target_brightness_pct - initial_brightness_pct) / brightness_step))|round|int|abs}}'
      delay_between_steps: '{{ (transition_time / required_steps)|round|int|abs }}'
      brightness_step: '{% if (initial_brightness > target_brightness) -%}
                               {{ brightness_step * (-1) }}
                             {%- else -%}
                               {{ brightness_step }}
                             {%- endif %}'

  - service: light.turn_on
    data:
      brightness: '{{ initial_brightness }}'
      transition: 0
    entity_id: !input light_entity
  
  - repeat:
      until:
        - condition: template
          value_template: '{% if (brightness_step > 0) -%}
                             {{ state_attr(light_entity, "brightness") | int(0) >= target_brightness }}
                           {%- else -%}
                             {{ state_attr(light_entity, "brightness") | int(0) <= target_brightness }}
                           {%- endif %}'        
      sequence:
        - service: light.turn_on
          data:
            transition: 0
            brightness_step_pct: '{{ brightness_step }}'
          entity_id: !input light_entity
        - delay:
            hours: 0
            minutes: 0
            seconds: '{{ delay_between_steps }}'
            milliseconds: 0
Pokud nejsem přítomen tak jsem na rybách ;)

strjan
Aktivní autor
Aktivní autor
Příspěvky: 60
Registrován: 13. červenec 2023, 16:04
Dal poděkování: 6 poděkování
Dostal poděkování: 1 poděkování

Re: blueprint - skript zvýšení/snížení jasu světla

Příspěvek od strjan »

Super, něco takového chci dětem napojit na budík...

Odpovědět

Zpět na „Šablony - Plány“