update shower MQTT for HA

This commit is contained in:
Paul
2019-10-14 18:16:31 +02:00
parent 1378dcf20d
commit 270ed5a1ea
3 changed files with 7 additions and 24 deletions

View File

@@ -7,19 +7,7 @@
- service: notify.general_notify
data_template:
title: "Shower finished at {{states.sensor.time.state}}"
message: '{{trigger.payload}}'
- id: boiler_shower_alarm
alias: Alert shower too long
trigger:
platform: mqtt
topic: home/ems-esp/command
payload: 'shower_alarm'
action:
- service: notify.admin_notify
data_template:
title: "Shower Alert!"
message: "Shower time exceeded limit"
message: "{{ trigger.payload_json['duration'] }}"
# when ems-esp starts send boottime
- id: boiler_restart

View File

@@ -140,7 +140,7 @@
- platform: template
sensors:
showertime_time:
value_template: '{{ as_timestamp(states.sensor.last_shower_duration.last_updated) | int | timestamp_custom("%-I:%M %P on %a %-d %b") }}'
value_template: '{{ as_timestamp(states.sensor.last_shower_duration.last_updated) | int | timestamp_custom("%-I:%M on %a %-d %b") }}'
boiler_updated:
value_template: '{{ as_timestamp(states.sensor.boiler_temperature.last_updated) | timestamp_custom("%H:%M on %d/%b") }}'

View File

@@ -1060,6 +1060,7 @@ bool do_publishShowerData() {
rootShower[TOPIC_SHOWER_TIMER] = EMSESP_Settings.shower_timer ? "1" : "0";
rootShower[TOPIC_SHOWER_ALERT] = EMSESP_Settings.shower_alert ? "1" : "0";
// only publish shower duration if there is a value
char s[50] = {0};
if (EMSESP_Shower.duration > SHOWER_MIN_DURATION) {
char buffer[16] = {0};
@@ -1067,10 +1068,8 @@ bool do_publishShowerData() {
strlcat(s, " minutes and ", sizeof(s));
strlcat(s, itoa((uint8_t)((EMSESP_Shower.duration / 1000) % 60), buffer, 10), sizeof(s));
strlcat(s, " seconds", sizeof(s));
} else {
strlcpy(s, "n/a", sizeof(s));
rootShower[TOPIC_SHOWER_DURATION] = s;
}
rootShower[TOPIC_SHOWER_DURATION] = s;
char data[300] = {0};
serializeJson(doc, data, sizeof(data));
@@ -1939,13 +1938,9 @@ void showerCheck() {
// SETUP
//
void setup() {
// LA trigger create a small puls to show setup is starting...
INIT_MARKERS(0);
LA_PULSE(50);
// GPIO15 has a pull down, so we must set it to HIGH
pinMode(15, OUTPUT);
digitalWrite(15, 1);
// GPIO15/D8 has a pull down, so we must set it to HIGH so it doesn't bring the whole EMS bus down
pinMode(D8, OUTPUT);
digitalWrite(D8, 1);
// init our own parameters
initEMSESP();