From d772ce208aa97ac43d243360baeb66ce94e86203 Mon Sep 17 00:00:00 2001 From: Georgi Gardev Date: Sat, 28 Mar 2020 02:13:55 +0200 Subject: [PATCH] Initial brita filter implementation --- config/lovelace/03_kitchen.yaml | 7 +++++ config/packages/devices/brita_filter.yaml | 36 +++++++++++++++++++++++ config/packages/modules/system.yaml | 5 ++++ 3 files changed, 48 insertions(+) create mode 100644 config/packages/devices/brita_filter.yaml diff --git a/config/lovelace/03_kitchen.yaml b/config/lovelace/03_kitchen.yaml index 92f0bc7..8ec7b1a 100644 --- a/config/lovelace/03_kitchen.yaml +++ b/config/lovelace/03_kitchen.yaml @@ -19,3 +19,10 @@ cards: template: sonos_media_player variables: - player: media_player.kitchen + - type: entities + title: Brita Filter + entities: + - input_number.brita_remaining_liters + - input_datetime.brita_next_change + - binary_sensor.brita_should_change_filter + - script.brita_new_filter diff --git a/config/packages/devices/brita_filter.yaml b/config/packages/devices/brita_filter.yaml new file mode 100644 index 0000000..fc185ed --- /dev/null +++ b/config/packages/devices/brita_filter.yaml @@ -0,0 +1,36 @@ +input_number: + brita_remaining_liters: + name: Remaining liters + unit_of_measurement: "liters" + min: 0 + max: 150 + +input_datetime: + brita_next_change: + name: Filter next change + has_date: true + has_time: false + +binary_sensor: + - platform: template + sensors: + brita_should_change_filter: + friendly_name: Should change Brita filter + device_class: problem + value_template: > + + {% set next_change = states('input_datetime.brita_next_change') %} + {{ states('input_number.brita_remaining_liters') | int < 3 or (as_timestamp(next_change) - as_timestamp(now())) / (3600*24) | round(0) < 3 }} + +script: + brita_new_filter: + alias: Brita ยท New filter + sequence: + - service: input_number.set_value + entity_id: input_number.brita_remaining_liters + data: + value: 150 + - service: input_datetime.set_datetime + entity_id: input_datetime.brita_next_change + data_template: + date: "{{ (as_timestamp(now()) + 3600*24*90) | timestamp_custom('%Y-%m-%d') }}" diff --git a/config/packages/modules/system.yaml b/config/packages/modules/system.yaml index cddd0bc..7564c67 100644 --- a/config/packages/modules/system.yaml +++ b/config/packages/modules/system.yaml @@ -1,4 +1,9 @@ sensor: + - platform: time_date + display_options: + - "time" + - "date" + - platform: template sensors: sarah_url: