Advertisement
314ma

A7_v2

Aug 1st, 2023 (edited)
1,324
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. alias: Salon na parterze - Terrarium narożne - Oświetlenie - Automatyzacje ON/OFF
  2. description: ""
  3. trigger:
  4.   - platform: state
  5.     entity_id:
  6.      - light.shelly_duo_rgbw_id42
  7.     id: shelly_duo_rgbw_id42_changes
  8.   - platform: homeassistant
  9.     event: start
  10.     id: ha_start
  11.   - platform: state
  12.     entity_id:
  13.      - light.shelly_duo_rgbw_id42
  14.     from: unavailable
  15.     id: shelly_duo_rgbw_id42_changes_from_unavailable
  16.   - platform: time
  17.     at: input_datetime.salon_na_parterze_terrarium_narozne_oswietlenie_opoznienie
  18.     id: time-equal-helper-delay
  19. condition: []
  20. action:
  21.   - if:
  22.       - condition: trigger
  23.         id:
  24.          - shelly_duo_rgbw_id42_changes
  25.       - condition: or
  26.         conditions:
  27.           - condition: template
  28.             value_template: >-
  29.               {{ trigger.to_state.context.user_id ==
  30.               'f051924d2cc14a99bc79839b10c89f6b' }}
  31.           - condition: template
  32.             value_template: >-
  33.               {{ trigger.to_state.context.user_id ==
  34.               '73349f17591940499daae0c4fa843401' }}
  35.           - condition: template
  36.             value_template: >-
  37.               {{ trigger.to_state.context.user_id ==
  38.               'e3a83817985f4c3e8e879d551de4f096' }}
  39.       - condition: state
  40.         entity_id: switch.shelly_duo_rgbw_id42_automations_on_off
  41.         state: "on"
  42.     then:
  43.       - service: input_datetime.set_datetime
  44.         data:
  45.           timestamp: >-
  46.             {% macro next_time(input_id) -%}
  47.             {{ (today_at(states(input_id)) + iif(states(input_id) < now().strftime("%H:%M:%S"), timedelta(days=1), timedelta())) | as_timestamp }}
  48.             {%- endmacro %}
  49.             {% set dawn_end=next_time('input_datetime.dawn_end') | float %}
  50.             {% set next_dawn_start=next_time('input_datetime.dawn_start') | float %}
  51.             {% set dawn_start = iif(next_dawn_start > dawn_end, next_dawn_start - 86400, next_dawn_start) %}
  52.             {% set dusk_end=next_time('input_datetime.dusk_end') | float %}
  53.             {% set next_dusk_start=next_time('input_datetime.dusk_start') | float %}
  54.             {% set dusk_start = iif(next_dusk_start > dusk_end, next_dusk_start - 86400, next_dusk_start) %}
  55.             {% set in_3h = (now() + timedelta(hours=3)) | as_timestamp %}
  56.             {% if dawn_start < in_3h <= dawn_end %}
  57.             {{ dawn_end }}
  58.             {% elif dusk_start < in_3h <= dusk_end  %}
  59.             {{ dusk_end }}
  60.             {% else %}
  61.             {{ in_3h }}
  62.             {% endif %}
  63.         target:
  64.           entity_id: >-
  65.             input_datetime.salon_na_parterze_terrarium_narozne_oswietlenie_opoznienie
  66.       - type: turn_off
  67.         device_id: 5ed29ed627c075bf06e1e12ecc58ba0b
  68.         entity_id: 39fef45946eb421ab331ac87dc382683
  69.         domain: switch
  70.   - if:
  71.       - condition: trigger
  72.         id:
  73.          - ha_start
  74.       - condition: time
  75.         after: >-
  76.           input_datetime.salon_na_parterze_terrarium_narozne_oswietlenie_opoznienie
  77.       - condition: state
  78.         entity_id: switch.shelly_duo_rgbw_id42_automations_on_off
  79.         state: "off"
  80.     then:
  81.       - type: turn_on
  82.         device_id: 5ed29ed627c075bf06e1e12ecc58ba0b
  83.         entity_id: 39fef45946eb421ab331ac87dc382683
  84.         domain: switch
  85.   - if:
  86.       - condition: trigger
  87.         id:
  88.          - shelly_duo_rgbw_id42_changes_from_unavailable
  89.       - condition: time
  90.         after: >-
  91.           input_datetime.salon_na_parterze_terrarium_narozne_oswietlenie_opoznienie
  92.       - condition: state
  93.         entity_id: switch.shelly_duo_rgbw_id42_automations_on_off
  94.         state: "off"
  95.     then:
  96.       - type: turn_on
  97.         device_id: 5ed29ed627c075bf06e1e12ecc58ba0b
  98.         entity_id: 39fef45946eb421ab331ac87dc382683
  99.         domain: switch
  100.   - if:
  101.       - condition: trigger
  102.         id: time-equal-helper-delay
  103.       - condition: state
  104.         entity_id: switch.shelly_duo_rgbw_id42_automations_on_off
  105.         state: "off"
  106.     then:
  107.       - type: turn_on
  108.         device_id: 5ed29ed627c075bf06e1e12ecc58ba0b
  109.         entity_id: 39fef45946eb421ab331ac87dc382683
  110.         domain: switch
  111. mode: restart
  112.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement