Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ##############################
- ### Helper ####
- ##############################
- Hinweis:
- Es werden zwei Helfer hierfür benötigt:
- - MuellSchichtplan -> Typ: Text
- - NaechsteAbholung -> Typ: Text
- ##############################
- ### configuration.yaml ####
- ##############################
- Hinweis:
- Die Sensoren müssen um weitere Attribute erweitert werden !
- Hier können die Schichten pro Monat eingetragen werden,
- für keine Schicht einfach den jeweiligen Monat leer lassen
- # HomeAssistant
- homeassistant:
- customize:
- sensor.altpapier:
- friendly_name: "Blaue Tonne"
- unit_of_measurement: Tage
- sensor.bioabfall:
- friendly_name: "Braune Tonne"
- unit_of_measurement: Tage
- sensor.gelber_sack:
- friendly_name: "Gelben Säcke"
- unit_of_measurement: Tage
- sensor.restabfall:
- friendly_name: "Schwarze Tonne"
- unit_of_measurement: Tage
- input_text.muellschichtplan:
- January:
- February: UserA,UserB
- March: UserC
- April:
- May: UserC
- June:
- July: UserA,UserB
- August: UserC
- September:
- October: UserC
- November:
- December: UserA,UserB
- ###############################
- ### Automation YAML Code ####
- ###############################
- Hinweis:
- Die Automation einfach als Yaml Code einfügen:
- alias: Müllkalender
- description: ""
- trigger:
- - platform: time
- at: "12:00:00"
- enabled: true
- - platform: time
- at: "21:00:00"
- enabled: true
- condition: []
- action:
- - alias: Restabfall Prüfung
- if:
- - alias: Wenn Restabfall ist 1
- condition: numeric_state
- entity_id: sensor.restabfall
- below: 2
- above: 0
- then:
- - service: input_text.set_value
- target:
- entity_id: input_text.naechsteabholung
- data_template:
- value: |
- {% set NaechsteAbholung = states('input_text.naechsteabholung') %}
- {% set Name = state_attr('sensor.restabfall', 'friendly_name') %}
- {% if NaechsteAbholung == '' %}
- {{ Name }}
- {% else %}
- {{ NaechsteAbholung }} und {{ Name }}
- {% endif %}
- alias: NaechsteAbholung befüllen
- - alias: Gelber Sack Prüfung
- if:
- - condition: numeric_state
- entity_id: sensor.gelber_sack
- below: 2
- above: 0
- alias: Wenn Gelber Sack ist 1
- then:
- - service: input_text.set_value
- target:
- entity_id: input_text.naechsteabholung
- data_template:
- value: |
- {% set NaechsteAbholung = states('input_text.naechsteabholung') %}
- {% set Name = state_attr('sensor.gelber_sack', 'friendly_name') %}
- {% if NaechsteAbholung == '' %}
- {{ Name }}
- {% else %}
- {{ NaechsteAbholung }} und {{ Name }}
- {% endif %}
- alias: NaechsteAbholung befüllen
- - alias: Altpapier Prüfung
- if:
- - condition: numeric_state
- entity_id: sensor.altpapier
- below: 2
- above: 0
- alias: Wenn Altpapier ist 1
- then:
- - service: input_text.set_value
- target:
- entity_id: input_text.naechsteabholung
- data_template:
- value: |
- {% set NaechsteAbholung = states('input_text.naechsteabholung') %}
- {% set Name = state_attr('sensor.altpapier', 'friendly_name') %}
- {% if NaechsteAbholung == '' %}
- {{ Name }}
- {% else %}
- {{ NaechsteAbholung }} und {{ Name }}
- {% endif %}
- alias: NaechsteAbholung befüllen
- - alias: Bioabfall Prüfung
- if:
- - condition: numeric_state
- entity_id: sensor.bioabfall
- below: 2
- above: 0
- alias: Wenn Bioabfall ist 1
- then:
- - service: input_text.set_value
- target:
- entity_id: input_text.naechsteabholung
- data_template:
- value: |
- {% set NaechsteAbholung = states('input_text.naechsteabholung') %}
- {% set Name = state_attr('sensor.bioabfall', 'friendly_name') %}
- {% if NaechsteAbholung == '' %}
- {{ Name }}
- {% else %}
- {{ NaechsteAbholung }} und {{ Name }}
- {% endif %}
- alias: NaechsteAbholung befüllen
- - alias: Telegram Info um 12:00 senden
- if:
- - condition: template
- value_template: "{{ states('input_text.naechsteabholung') != '' }}"
- alias: Abholung morgen
- - condition: time
- after: "12:00:00"
- before: "12:01:00"
- then:
- - alias: UserA und UserB Schicht ?
- if:
- - condition: template
- value_template: >-
- {% set Schicht = state_attr('input_text.muellschichtplan',
- now().strftime('%B')) %}
- {{ Schicht is search('UserA|UserB') }}
- alias: UserA und UserB Prüfung
- then:
- - service: notify.usera
- metadata: {}
- data:
- message: >-
- Morgen wird die {{ states('input_text.naechsteabholung') }}
- abgeholt.
- alias: an UserA senden...
- - service: notify.userb
- metadata: {}
- data:
- message: >-
- Morgen wird die {{ states('input_text.naechsteabholung') }}
- abgeholt.
- alias: an UserB senden...
- - alias: UserC Schicht ?
- if:
- - alias: UserC Prüfung
- condition: template
- value_template: >-
- {% set Schicht = state_attr('input_text.muellschichtplan',
- now().strftime('%B')) %}
- {{ Schicht is search('UserC') }}
- then:
- - service: notify.userc
- metadata: {}
- data:
- message: >-
- Morgen wird die {{ states('input_text.naechsteabholung') }}
- abgeholt.
- alias: an UserC senden...
- - alias: Telegram Erinnerung um 21:00 senden
- if:
- - condition: template
- value_template: "{{ states('input_text.naechsteabholung') != '' }}"
- alias: Abholung notwendig ?
- - condition: time
- after: "21:00:00"
- before: "21:01:00"
- then:
- - alias: UserA und UserB Schicht ?
- if:
- - condition: template
- value_template: >-
- {% set Schicht = state_attr('input_text.muellschichtplan',
- now().strftime('%B')) %}
- {{ Schicht is search('UserA|UserB') }}
- alias: UserA und UserB Schicht ?
- then:
- - service: notify.usera
- metadata: {}
- data:
- message: >-
- Hast du die {{ states('input_text.naechsteabholung') }} raus
- gefahren?
- alias: an UserA senden...
- - service: notify.userb
- metadata: {}
- data:
- message: >-
- Hast du die {{ states('input_text.naechsteabholung') }} raus
- gefahren?
- alias: an UserB senden...
- - alias: UserC Schicht ?
- if:
- - alias: UserC Prüfung
- condition: template
- value_template: >-
- {% set Schicht = state_attr('input_text.muellschichtplan',
- now().strftime('%B')) %}
- {{ Schicht is search('UserC') }}
- then:
- - service: notify.userc
- metadata: {}
- data:
- message: >-
- Hast du die {{ states('input_text.naechsteabholung') }} raus
- gefahren?
- alias: an UserC senden...
- - alias: Leeren von NaechsteAbholung
- service: input_text.set_value
- metadata: {}
- data:
- value: ""
- target:
- entity_id: input_text.naechsteabholung
- mode: restart
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement