From ae8b1ea6f8128e1a76157f5006b12ac9d985f077 Mon Sep 17 00:00:00 2001 From: Claus Dethlefsen Date: Fri, 1 May 2026 19:44:03 +0200 Subject: [PATCH] =?UTF-8?q?Opvaskemaskine:=20kvarter-p=C3=A5mindelser=20me?= =?UTF-8?q?d=20actionable=20notification=20og=20vedligeholdscheck?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/automations/opvaskemaskine.yaml | 71 +++++++++++++++++++++---- include/input/boolean/maintenance.yaml | 6 ++- 2 files changed, 65 insertions(+), 12 deletions(-) diff --git a/include/automations/opvaskemaskine.yaml b/include/automations/opvaskemaskine.yaml index a08aad6..8403acf 100644 --- a/include/automations/opvaskemaskine.yaml +++ b/include/automations/opvaskemaskine.yaml @@ -94,11 +94,14 @@ trigger: - platform: time_pattern - minutes: "0" + minutes: "/15" condition: - condition: template value_template: "{{ now().hour >= 19 and now().hour <= 21 }}" + - condition: state + entity_id: input_boolean.dishwasher_reminder_snoozed + state: "off" - condition: template value_template: "{{ is_state('sensor.dishwasher_status_2', 'Off') }}" - condition: or @@ -108,22 +111,68 @@ state: "off" - condition: template value_template: "{{ not is_state('binary_sensor.dishwasher_dor', 'off') }}" + - condition: template + value_template: "{{ is_state('binary_sensor.dishwasher_info_2', 'on') }}" + - condition: template + value_template: "{{ is_state('binary_sensor.dishwasher_svigt', 'on') }}" + - condition: template + value_template: "{{ states('sensor.dishwasher_salt_level') | float(999) < 20 }}" + - condition: template + value_template: "{{ states('sensor.dishwasher_rinse_aid_level') | float(999) < 20 }}" + - condition: template + value_template: "{{ states('sensor.dishwasher_powerdisk_level') | float(999) < 20 }}" action: - variables: - reminder_time: "{{ now().strftime('%d-%m %H:%M') }}" + reminder_time: "{{ now().strftime('%H:%M') }}" remote_off: "{{ is_state('binary_sensor.dishwasher_fjernbetjening', 'off') }}" door_not_closed: "{{ not is_state('binary_sensor.dishwasher_dor', 'off') }}" + low_salt: "{{ states('sensor.dishwasher_salt_level') | float(999) < 20 }}" + low_rinse: "{{ states('sensor.dishwasher_rinse_aid_level') | float(999) < 20 }}" + low_powerdisk: "{{ states('sensor.dishwasher_powerdisk_level') | float(999) < 20 }}" + info_on: "{{ is_state('binary_sensor.dishwasher_info_2', 'on') }}" + svigt: "{{ is_state('binary_sensor.dishwasher_svigt', 'on') }}" issue_text: > {% set issues = [] %} - {% if remote_off %} - {% set issues = issues + ['remote control er ikke slået til'] %} - {% endif %} - {% if door_not_closed %} - {% set issues = issues + ['døren er ikke lukket'] %} - {% endif %} - {{ issues | join(' og ') }} + {% if remote_off %}{% set issues = issues + ['remote control er ikke slået til'] %}{% endif %} + {% if door_not_closed %}{% set issues = issues + ['døren er ikke lukket'] %}{% endif %} + {% if low_salt %}{% set issues = issues + ['salt er lavt (' ~ states('sensor.dishwasher_salt_level') ~ '%)'] %}{% endif %} + {% if low_rinse %}{% set issues = issues + ['afspændingsmiddel er lavt (' ~ states('sensor.dishwasher_rinse_aid_level') ~ '%)'] %}{% endif %} + {% if low_powerdisk %}{% set issues = issues + ['powerdisk er lav (' ~ states('sensor.dishwasher_powerdisk_level') ~ '%)'] %}{% endif %} + {% if info_on %}{% set issues = issues + ['info-advarsel aktiv'] %}{% endif %} + {% if svigt %}{% set issues = issues + ['maskinsvigt'] %}{% endif %} + {{ issues | join(', ') }} - service: notify.mobile_app_claus_iphone_15pro data: - title: "Slå fjernbetjening til på opvaskemaskinen" - message: "[{{ reminder_time }}] Opvaskemaskinen er planlagt til natkørsel, men {{ issue_text }}." \ No newline at end of file + title: "⚠️ Opvaskemaskine - tjek inden natkørsel" + message: "[{{ reminder_time }}] {{ issue_text | capitalize }}." + data: + actions: + - action: "DISHWASHER_DONE" + title: "✅ Gjort det" + - action: "DISHWASHER_IGNORE" + title: "🔕 Ignorer i aften" + +- id: dishwasher_reminder_action_ignore + alias: Opvaskemaskine - ignorer påmindelser i aften + mode: single + trigger: + - platform: event + event_type: mobile_app_notification_action + event_data: + action: DISHWASHER_IGNORE + action: + - service: input_boolean.turn_on + target: + entity_id: input_boolean.dishwasher_reminder_snoozed + +- id: dishwasher_reminder_snooze_reset + alias: Opvaskemaskine - nulstil snooze ved midnat + mode: single + trigger: + - platform: time + at: "00:00:00" + action: + - service: input_boolean.turn_off + target: + entity_id: input_boolean.dishwasher_reminder_snoozed \ No newline at end of file diff --git a/include/input/boolean/maintenance.yaml b/include/input/boolean/maintenance.yaml index 2f5251e..a44adfd 100644 --- a/include/input/boolean/maintenance.yaml +++ b/include/input/boolean/maintenance.yaml @@ -1,3 +1,7 @@ vis_alle_vedligehold: name: Vis alle vedligehold - icon: mdi:eye-outline \ No newline at end of file + icon: mdi:eye-outline + +dishwasher_reminder_snoozed: + name: Opvaskemaskine - påmindelser snoozed + icon: mdi:bell-sleep \ No newline at end of file