diff --git a/blueprints/automation/bruxy70/holiday_in_week.yaml b/blueprints/automation/bruxy70/holiday_in_week.yaml deleted file mode 100644 index 7b18f0b..0000000 --- a/blueprints/automation/bruxy70/holiday_in_week.yaml +++ /dev/null @@ -1,67 +0,0 @@ -blueprint: - name: Holiday in week - description: "This automation is triggered from the `garbage_collection` integration - by event `garbage_collection_loaded`, during the device state update. \nIt PROCESSES - DATA SENT WITH THE EVENT, and then FINISHES THE UPDATE. DO NOT CALL THIS SERVICE - MANUALLY, IT WON'T WORK (it won't have the data).\nAlso, make sure the INTEGRATION - IS CONFIGURED FOR `manual_update` (that will disable the state update by the integration - and pass it to this automation).\n\nIt loops through the calculated dates and - checks for a public holiday the week, before/on the calculated collection date. - If found, it will move the event to the next day.\n\nThe sensors are normally - updated once a day, or when Home Assistant starts. The update can be triggered - by updating the integration configuration (just hit configure and submit)." - domain: automation - source_url: https://github.com/bruxy70/Garbage-Collection/blob/master/blueprints/holiday_in_week.yaml - input: - garbage_collection_entity: - name: Garbage Collection Entity - description: Triggered by the event for this entity. - selector: - entity: - integration: garbage_collection - multiple: false - holiday_entity: - name: Holidays - description: Entity containing the holidays - an instance of Holidays custom - integration (available through HACS) - selector: - entity: - integration: holidays - multiple: false -mode: parallel -trigger: -- platform: event - event_type: garbage_collection_loaded - event_data: - entity_id: !input garbage_collection_entity -action: -- variables: - holiday_entity: !input holiday_entity -- alias: Iterate through the dates - repeat: - for_each: '{{ trigger.event.data.collection_dates }}' - sequence: - - alias: Is there a public holiday on the week? - condition: template - value_template: "{%- set collection_date = as_datetime(repeat.item) %} {%- set - ns = namespace(found=false) %} {%- for i in range(collection_date.weekday()+1) - %}\n {%- set d = ( collection_date + timedelta( days=-i) ) | as_timestamp - | timestamp_custom(\"%Y-%m-%d\") %}\n {%- if d in state_attr(holiday_entity,'holidays') - %}\n {%- set ns.found = true %}\n {%- endif %}\n{%- endfor %} {{ ns.found - }}" - - alias: Move the date - service: garbage_collection.offset_date - data: - entity_id: '{{ trigger.event.data.entity_id }}' - date: '{{ repeat.item }}' - offset: "{%- set collection_date = as_datetime(repeat.item) %} {%- set ns - = namespace(offset=1, found=false) %} {# Increase offset until we find a - date that is not public holiday #} {%- for _ in range(7) if not ns.found - %}\n {%- set d = ( collection_date + timedelta( days=ns.offset) ) | as_timestamp - | timestamp_custom(\"%Y-%m-%d\") %}\n {%- if d in state_attr(holiday_entity,'holidays') - %}\n {%- set ns.offset = ns.offset + 1 %}\n {% else %}\n {%- set - ns.found = true %}\n {%- endif %}\n{% endfor %} {{ ns.offset }}" -- alias: Update the garbage_collection entity - service: garbage_collection.update_state - data: - entity_id: '{{ trigger.event.data.entity_id }}'