mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-07 08:19:52 +03:00
rename
This commit is contained in:
65
doc/home_assistant/automations.yaml
Normal file
65
doc/home_assistant/automations.yaml
Normal 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 }}'
|
||||
|
||||
|
||||
12
doc/home_assistant/binary_sensor.yaml
Normal file
12
doc/home_assistant/binary_sensor.yaml
Normal 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"
|
||||
|
||||
20
doc/home_assistant/climate.yaml
Normal file
20
doc/home_assistant/climate.yaml
Normal 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
|
||||
|
||||
12
doc/home_assistant/customize.yaml
Normal file
12
doc/home_assistant/customize.yaml
Normal 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
BIN
doc/home_assistant/ha.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 102 KiB |
BIN
doc/home_assistant/ha_notify.jpg
Normal file
BIN
doc/home_assistant/ha_notify.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
9
doc/home_assistant/input_number.yaml
Normal file
9
doc/home_assistant/input_number.yaml
Normal 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
|
||||
|
||||
16
doc/home_assistant/notify.yaml
Normal file
16
doc/home_assistant/notify.yaml
Normal 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
|
||||
7
doc/home_assistant/scripts.yaml
Normal file
7
doc/home_assistant/scripts.yaml
Normal file
@@ -0,0 +1,7 @@
|
||||
shower_coldshot:
|
||||
sequence:
|
||||
- service: mqtt.publish
|
||||
data_template:
|
||||
topic: 'home/boiler/shower_coldshot'
|
||||
payload: '1'
|
||||
|
||||
144
doc/home_assistant/sensors.yaml
Normal file
144
doc/home_assistant/sensors.yaml
Normal 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") }}'
|
||||
|
||||
|
||||
|
||||
20
doc/home_assistant/switches.yaml
Normal file
20
doc/home_assistant/switches.yaml
Normal 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
|
||||
|
||||
59
doc/home_assistant/ui-lovelace.yaml
Normal file
59
doc/home_assistant/ui-lovelace.yaml
Normal 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
|
||||
Reference in New Issue
Block a user