This commit is contained in:
proddy
2018-12-08 16:37:12 +01:00
parent 30e73cbd0c
commit fb3407e6ba
13 changed files with 3 additions and 3 deletions

View File

@@ -0,0 +1,65 @@
- id: boiler_shower
alias: Alert shower time
trigger:
platform: mqtt
topic: home/boiler/showertime
action:
- 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/boiler/command
payload: 'shower_alarm'
action:
- service: notify.admin_notify
data_template:
title: "Shower Alert!"
message: "Shower time exceeded limit"
# when boiler starts send boottime
- id: boiler_restart
alias: See if boiler restarts
trigger:
platform: mqtt
topic: home/boiler/start
payload: 'start'
action:
- service: notify.admin_notify
data_template:
title: "boiler has booted"
message: "Boiler"
- service: mqtt.publish
data_template:
topic: 'home/boiler/start'
payload: >
{{ now().strftime("%H:%M:%S %-d/%b/%Y") }}
# Boiler warm water temp
- id: boiler_wwtemp
trigger:
platform: state
entity_id: input_number.boiler_wwtemp
action:
service: mqtt.publish
data_template:
topic: 'home/boiler/boiler_wwtemp'
payload: >
{{ states.input_number.boiler_wwtemp.state }}
# See if wwTemp has changed in recent mqtt payload, then adjust input_number
- id: boiler_wwtemp_incoming
trigger:
platform: state
entity_id: sensor.warm_water_selected_temperature
action:
service: input_number.set_value
data_template:
entity_id: input_number.boiler_wwtemp
value: '{{ states.sensor.warm_water_selected_temperature.state }}'

View File

@@ -0,0 +1,12 @@
- platform: mqtt
name: 'Tap Water'
state_topic: 'home/boiler/tapwater_active'
payload_on: "1"
payload_off: "0"
- platform: mqtt
name: 'Heating'
state_topic: 'home/boiler/heating_active'
payload_on: "1"
payload_off: "0"

View File

@@ -0,0 +1,20 @@
- platform: mqtt
name: Thermostat
modes:
- low
- manual
- auto
mode_state_topic: "home/boiler/thermostat_data"
current_temperature_topic: "home/boiler/thermostat_data"
temperature_state_topic: "home/boiler/thermostat_data"
temperature_command_topic: "home/boiler/thermostat_cmd_temp"
mode_command_topic: "home/boiler/thermostat_cmd_mode"
mode_state_template: "{{ value_json.thermostat_mode }}"
current_temperature_template: "{{ value_json.thermostat_currtemp }}"
temperature_state_template: "{{ value_json.thermostat_seltemp }}"
temp_step: 0.5

View File

@@ -0,0 +1,12 @@
sensor.boiler_boottime:
friendly_name: Controller last restart
icon: mdi:clock-start
sensor.showertime_time:
friendly_name: 'Last shower at'
icon: mdi:timelapse
sensor.boiler_updated:
friendly_name: 'Data last received'
icon: mdi:clock-start

BIN
doc/home_assistant/ha.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -0,0 +1,9 @@
boiler_wwtemp:
name: Warm Water temp
icon: mdi:temperature-celsius
min: 30
max: 60
step: 1
unit_of_measurement: "°C"
mode: slider

View File

@@ -0,0 +1,16 @@
- name: pushover
platform: pushover
api_key: !secret pushover_api_key
user_key: !secret pushover_user_key
- name: general_notify
platform: group
services:
- service: ios_pauls_iphone
- service: pushover
- name: admin_notify
platform: group
services:
- service: ios_pauls_iphone
- service: pushover

View File

@@ -0,0 +1,7 @@
shower_coldshot:
sequence:
- service: mqtt.publish
data_template:
topic: 'home/boiler/shower_coldshot'
payload: '1'

View File

@@ -0,0 +1,144 @@
- platform: mqtt
state_topic: 'home/boiler/thermostat_data'
name: 'Current Room Temperature'
unit_of_measurement: '°C'
value_template: "{{ value_json.thermostat_currtemp }}"
- platform: mqtt
state_topic: 'home/boiler/thermostat_data'
name: 'Current Set Temperature'
unit_of_measurement: '°C'
value_template: "{{ value_json.thermostat_seltemp }}"
- platform: mqtt
state_topic: 'home/boiler/thermostat_data'
name: 'Current Mode'
value_template: "{{ value_json.thermostat_mode }}"
# last time boiler was started
- platform: template
sensors:
boiler_boottime:
value_template: '{{ as_timestamp(states.automation.see_if_boiler_restarts.attributes.last_triggered) | timestamp_custom("%H:%M:%S %d/%m/%y") }}'
- platform: mqtt
state_topic: 'home/boiler/showertime'
name: 'Last shower duration'
force_update: true
- platform: mqtt
state_topic: 'home/boiler/boiler_data'
name: 'Tap Water'
value_template: '{{ value_json.tapwaterActive }}'
- platform: mqtt
state_topic: 'home/boiler/boiler_data'
name: 'Heating'
value_template: '{{ value_json.heatingActive }}'
- platform: mqtt
state_topic: 'home/boiler/boiler_data'
name: 'Warm Water selected temperature'
unit_of_measurement: '°C'
value_template: '{{ value_json.wWSelTemp }}'
- platform: mqtt
state_topic: 'home/boiler/boiler_data'
name: 'Warm Water current temperature'
unit_of_measurement: '°C'
value_template: '{{ value_json.wWCurTmp }}'
- platform: mqtt
state_topic: 'home/boiler/boiler_data'
name: 'Warm Water activated'
value_template: '{{ value_json.wWActivated }}'
- platform: mqtt
state_topic: 'home/boiler/boiler_data'
name: 'Warm Water 3-way valve'
value_template: '{{ value_json.wWHeat }}'
- platform: mqtt
state_topic: 'home/boiler/boiler_data'
name: 'Current flow temperature'
unit_of_measurement: '°C'
value_template: '{{ value_json.curFlowTemp }}'
- platform: mqtt
state_topic: 'home/boiler/boiler_data'
name: 'Return temperature'
unit_of_measurement: '°C'
value_template: '{{ value_json.retTemp }}'
- platform: mqtt
state_topic: 'home/boiler/boiler_data'
name: 'Gas'
value_template: '{{ value_json.burnGas }}'
- platform: mqtt
state_topic: 'home/boiler/boiler_data'
name: 'Boiler pump'
value_template: '{{ value_json.heatPmp }}'
- platform: mqtt
state_topic: 'home/boiler/boiler_data'
name: 'Fan'
value_template: '{{ value_json.fanWork }}'
- platform: mqtt
state_topic: 'home/boiler/boiler_data'
name: 'Ignition'
value_template: '{{ value_json.ignWork }}'
- platform: mqtt
state_topic: 'home/boiler/boiler_data'
name: 'Circulation pump'
value_template: '{{ value_json.wWCirc }}'
- platform: mqtt
state_topic: 'home/boiler/boiler_data'
name: 'Burner max power'
unit_of_measurement: '%'
value_template: '{{ value_json.selBurnPow }}'
- platform: mqtt
state_topic: 'home/boiler/boiler_data'
name: 'Burner max power'
unit_of_measurement: '%'
value_template: '{{ value_json.selBurnPow }}'
- platform: mqtt
state_topic: 'home/boiler/boiler_data'
name: 'Burner current power'
unit_of_measurement: '%'
value_template: '{{ value_json.curBurnPow }}'
- platform: mqtt
state_topic: 'home/boiler/boiler_data'
name: 'System Pressure'
unit_of_measurement: 'bar'
value_template: '{{ value_json.sysPress }}'
- platform: mqtt
state_topic: 'home/boiler/boiler_data'
name: 'Boiler temperature'
unit_of_measurement: '°C'
value_template: '{{ value_json.boilTemp }}'
- platform: mqtt
state_topic: 'home/boiler/boiler_data'
name: 'Pump modulation'
unit_of_measurement: '%'
value_template: '{{ value_json.pumpMod }}'
- 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") }}'
boiler_updated:
# value_template: '{{ (as_timestamp(now()) - as_timestamp(states.sensor.boiler_temperature.last_updated)) | int | timestamp_custom("%-M min %-S seconds ago") }}'
value_template: '{{ as_timestamp(states.sensor.boiler_temperature.last_updated) | timestamp_custom("%H:%M on %d/%b") }}'

View File

@@ -0,0 +1,20 @@
- platform: mqtt
name: "Shower Timer"
state_topic: "home/boiler/shower_timer"
command_topic: "home/boiler/shower_timer"
payload_on: "1"
payload_off: "0"
optimistic: false
qos: 1
retain: false
- platform: mqtt
name: "Long Shower Alert"
state_topic: "home/boiler/shower_alert"
command_topic: "home/boiler/shower_alert"
payload_on: "1"
payload_off: "0"
optimistic: false
qos: 1
retain: false

View File

@@ -0,0 +1,59 @@
title: Home
views:
- title: Heating
cards:
- type: entities
title: Boiler
show_header_toggle: true
entities:
- sensor.boiler_boottime
- sensor.boiler_updated
- type: divider
- input_number.boiler_wwtemp
- sensor.warm_water_current_temperature
- sensor.warm_water_activated
- sensor.warm_water_3way_valve
- type: divider
- sensor.boiler_temperature
- sensor.return_temperature
- sensor.current_flow_temperature
- sensor.pump_modulation
- sensor.ignition
- sensor.gas
- sensor.fan
- sensor.boiler_pump
- sensor.system_pressure
- sensor.burner_max_power
- sensor.burner_current_power
- type: vertical-stack
cards:
- type: entities
title: Shower Monitor
show_header_toggle: true
entities:
- switch.shower_timer
- switch.long_shower_alert
- type: divider
- sensor.last_shower_duration
- sensor.showertime_time
- type: custom:button-card
color: auto
icon: mdi:shower-head
name: send a cold shot of shower water
style:
- text-transform: none
- color: rgb(28, 128, 199)
- font-weight: bold
entity: script.shower_coldshot
show_state: false
- type: vertical-stack
cards:
- type: history-graph
entities:
- sensor.current_room_temperature
- sensor.dark_sky_temperature
- type: thermostat
entity: climate.thermostat