updating configuration
@@ -4,7 +4,7 @@
|
||||
water_action:
|
||||
module: water_action
|
||||
class: WaterValveControl
|
||||
water_valve: switch.watercontrol_valves
|
||||
water_valve: switch.water_valve
|
||||
notify: telegram
|
||||
constraint: input_boolean.water_control
|
||||
water_devices:
|
||||
|
||||
@@ -52,7 +52,9 @@ class WaterLeak(hass.Hass):
|
||||
#close water valve
|
||||
self.turn_off(self.args['valve'])
|
||||
## to ensure that water is closed. It is important!!!
|
||||
self.call_service("mqtt/publish", topic = 'home/watercontrol/bath/valve/set', payload = 'close')
|
||||
## (was a direct MQTT publish to the retired neptun2mqtt bridge; now just
|
||||
## re-issue turn_off as a best-effort duplicate call)
|
||||
self.turn_off(self.args['valve'])
|
||||
|
||||
message = "ВНИМАНИЕ! В ваше отстутствие сработал датчик протечки воды ({})!!! Выключаю подачу воды.".format(self.friendly_name(entity_id))
|
||||
globals.send_telegram(self, message, target = self.args['notify'])
|
||||
|
||||
@@ -133,18 +133,19 @@ services:
|
||||
options:
|
||||
max-size: 50m
|
||||
|
||||
neptun2mqtt:
|
||||
build:
|
||||
context: ./neptun2mqtt/docker
|
||||
dockerfile: Dockerfile
|
||||
restart: always
|
||||
container_name: neptun2mqtt
|
||||
env_file: ./neptun2mqtt/settings/neptun.env
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: "10m"
|
||||
max-file: "5"
|
||||
# DISABLED 2026-07-14: migrated to neptun_smart_local HA integration, see neptun-migration-backup-*
|
||||
# neptun2mqtt:
|
||||
# build:
|
||||
# context: ./neptun2mqtt/docker
|
||||
# dockerfile: Dockerfile
|
||||
# restart: always
|
||||
# container_name: neptun2mqtt
|
||||
# env_file: ./neptun2mqtt/settings/neptun.env
|
||||
# logging:
|
||||
# driver: json-file
|
||||
# options:
|
||||
# max-size: "10m"
|
||||
# max-file: "5"
|
||||
|
||||
nginx:
|
||||
image: nginx
|
||||
|
||||
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 8.7 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 7.1 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 8.7 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 5.8 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 9.5 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 2.9 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
@@ -1 +1 @@
|
||||
{"pid": 71, "version": 1, "ha_version": "2026.7.2", "start_ts": 1784034083.5601983}
|
||||
{"pid": 71, "version": 1, "ha_version": "2026.7.2", "start_ts": 1784057808.5709116}
|
||||
@@ -52,7 +52,7 @@ yandex_smart_home:
|
||||
- switch.light_mainroom_mainlamp
|
||||
- switch.light_mainroom_spotlights
|
||||
- switch.shower_mirror
|
||||
- switch.watercontrol_valves
|
||||
- switch.water_valve
|
||||
- vacuum.dreame_p2027_6b1e_robot_cleaner
|
||||
- light.plug_yolka
|
||||
include_entity_globs:
|
||||
|
||||
@@ -1,35 +1,9 @@
|
||||
#################################################
|
||||
# WATER #
|
||||
#################################################
|
||||
mqtt:
|
||||
sensor:
|
||||
- unique_id: counter_cold
|
||||
state_topic: 'home/watercontrol/counter2_1'
|
||||
name: 'counter_cold'
|
||||
value_template: '{{ (value | float ) }}'
|
||||
unit_of_measurement: 'm³'
|
||||
device_class: water
|
||||
state_class: total_increasing
|
||||
- unique_id: counter_hot
|
||||
state_topic: 'home/watercontrol/counter2_2'
|
||||
name: 'counter_hot'
|
||||
value_template: '{{ (value | float ) }}'
|
||||
unit_of_measurement: 'm³'
|
||||
device_class: water
|
||||
state_class: total_increasing
|
||||
- unique_id: uptime_watercontrol
|
||||
state_topic: 'home/watercontrol/$uptime'
|
||||
name: 'uptime_watercontrol'
|
||||
value_template: '{{ value | int }}'
|
||||
switch:
|
||||
- unique_id: water_valve
|
||||
name: water_valve
|
||||
state_topic: "home/watercontrol/valves"
|
||||
command_topic: "home/watercontrol/valves/set"
|
||||
payload_on: true
|
||||
payload_off: false
|
||||
optimistic: false
|
||||
retain: false
|
||||
# NOTE 2026-07-14: MQTT-мост neptun2mqtt отключён, счётчики/клапан
|
||||
# переехали на интеграцию neptun_smart_local (entity_id sensor.counter_cold/hot
|
||||
# и switch.water_valve переименованы в registry, история сохранена).
|
||||
|
||||
template:
|
||||
sensor:
|
||||
@@ -62,4 +36,4 @@ homeassistant:
|
||||
sensor.counter_hot_outer:
|
||||
friendly_name: "Счетчик Внешний Горячая"
|
||||
sensor.counter_cold_outer:
|
||||
friendly_name: "Счетчик Внешний Холодная"
|
||||
friendly_name: "Счетчик Внешний Холодная"
|
||||
|
||||
@@ -4,7 +4,7 @@ new_script:
|
||||
- service: switch.turn_off
|
||||
data: {}
|
||||
target:
|
||||
entity_id: switch.watercontrol_valves
|
||||
entity_id: switch.water_valve
|
||||
- service: climate.set_preset_mode
|
||||
data:
|
||||
preset_mode: away
|
||||
@@ -45,7 +45,7 @@ new_script:
|
||||
- service: switch.turn_on
|
||||
data: {}
|
||||
target:
|
||||
entity_id: switch.watercontrol_valves
|
||||
entity_id: switch.water_valve
|
||||
- service: climate.set_preset_mode
|
||||
data:
|
||||
preset_mode: manual
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
yandex_smart_home:
|
||||
filter:
|
||||
include_domains:
|
||||
- cover
|
||||
- fan
|
||||
- vacuum
|
||||
include_entities:
|
||||
# радиаторы
|
||||
- climate.radiator_bedroom
|
||||
- climate.radiator_bedroom_balcony
|
||||
- climate.radiator_childroom
|
||||
- climate.radiator_kitchen
|
||||
- climate.radiator_mainroom
|
||||
# кондиционеры
|
||||
- climate.ac_mainroom
|
||||
- climate.ac_kitchen
|
||||
- climate.ac_childroom
|
||||
- climate.ac_bedroom
|
||||
# вентиляторы
|
||||
- fan.ventilation_bath
|
||||
- fan.ventilation_shower
|
||||
- fan.ventiliatsionnaia_sistema
|
||||
# свет
|
||||
- light.danil_bedside_lamp_rgbww_light
|
||||
- light.light_balcony_spotlight
|
||||
- light.light_bath
|
||||
- light.light_bath_shelf
|
||||
- light.light_bedroom_mainlight
|
||||
- light.light_bedroom_nightlight_left
|
||||
- light.light_bedroom_nightlight_right
|
||||
- light.light_bedroom_pc_nightlight
|
||||
- light.light_bedroom_pc_spotlight
|
||||
- light.light_bedroom_spotlights
|
||||
- light.light_childroom_bed
|
||||
- light.light_childroom_main
|
||||
- light.light_childroom_spotlights
|
||||
- light.light_hall_long
|
||||
- light.light_kitchen_bar_lamp
|
||||
- light.light_kitchen_set
|
||||
- light.light_kitchen_spotlights
|
||||
- light.light_kitchen_table_lamp
|
||||
- light.light_mainroom_pc_spotlight
|
||||
- light.light_shower_main_spotlights
|
||||
- light.light_shower_shelf_light
|
||||
- light.light_shower_shower_spotlights
|
||||
- light.svetlana_bedside_lamp_rgbww_light
|
||||
- media_player.bedroom_tv
|
||||
- media_player.kitchen_tv
|
||||
- media_player.mainroom_tv
|
||||
- script.away_mode
|
||||
- switch.light_bath_mirror
|
||||
- switch.light_mainroom_mainlamp
|
||||
- switch.light_mainroom_spotlights
|
||||
- switch.shower_mirror
|
||||
- switch.watercontrol_valves
|
||||
- vacuum.dreame_p2027_6b1e_robot_cleaner
|
||||
- light.plug_yolka
|
||||
include_entity_globs:
|
||||
- sensor.temperature_*_temperature
|
||||
#exclude_entities:
|
||||
# - light.highlight
|
||||
#exclude_entity_globs:
|
||||
# - sensor.weather_*
|
||||
@@ -0,0 +1,233 @@
|
||||
version: '3'
|
||||
services:
|
||||
ddns:
|
||||
build:
|
||||
context: ./ddns/docker
|
||||
env_file: ./ddns/settings/token.env
|
||||
environment:
|
||||
- SUBDOMAIN="home-fnv"
|
||||
restart: always
|
||||
|
||||
mosquitto:
|
||||
build: ./mosquitto/docker
|
||||
container_name: mosquitto
|
||||
env_file: ./mosquitto/settings/mqtt.env
|
||||
ports:
|
||||
- "1883:1883"
|
||||
restart: always
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: 50m
|
||||
|
||||
postgres:
|
||||
image: postgres:16.1
|
||||
restart: always
|
||||
volumes:
|
||||
- ./postgres/settings/data:/var/lib/postgresql/data
|
||||
env_file: ./postgres/settings/postgres.env
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: 50m
|
||||
|
||||
hass:
|
||||
image: "homeassistant/home-assistant:stable" #2026.4.2
|
||||
#image: ghcr.io/home-assistant/home-assistant:stable
|
||||
container_name: hass
|
||||
volumes:
|
||||
- ./hass/settings:/config
|
||||
- /dev/hass-wolpipe:/dev/hass-wolpipe
|
||||
- ./secrets/hass-fnv/settings/secrets.yaml:/config/secrets.yaml:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
ports:
|
||||
- "8123:8123"
|
||||
# - "29898:9898/udp"
|
||||
# - "24321:4321/udp"
|
||||
# - "251827:51827" #Homekit
|
||||
devices:
|
||||
- "/dev/ttyUSB0:/dev/ttyUSB0"
|
||||
depends_on:
|
||||
- mosquitto
|
||||
- postgres
|
||||
#network_mode: "host"
|
||||
#privileged: true
|
||||
restart: always
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8123"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 6
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: 50m
|
||||
|
||||
appdaemon:
|
||||
build:
|
||||
context: ./appdaemon/docker
|
||||
container_name: appdaemon
|
||||
depends_on:
|
||||
- hass
|
||||
volumes:
|
||||
- ./appdaemon/settings:/conf
|
||||
- ./secrets/hass-fnv/settings/secrets.yaml:/conf/secrets.yaml:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
restart: always
|
||||
links:
|
||||
- "hass"
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: "10m"
|
||||
max-file: "5"
|
||||
|
||||
node-red:
|
||||
build:
|
||||
context: ./node-red/docker
|
||||
#image: nodered/node-red:latest
|
||||
environment:
|
||||
- TZ=Europe/Moscow
|
||||
ports:
|
||||
- "1880:1880"
|
||||
depends_on:
|
||||
- hass
|
||||
restart: always
|
||||
volumes:
|
||||
- ./node-red/settings/data:/data
|
||||
|
||||
esphome:
|
||||
image: esphome/esphome:latest #2025.6 #esphome-armv7
|
||||
container_name: esphome
|
||||
ports:
|
||||
- "6052:6052"
|
||||
volumes:
|
||||
- ./esphome/settings:/config
|
||||
- ./secrets/hass-fnv/settings/secrets.yaml:/config/secrets.yaml:ro
|
||||
#devices:
|
||||
# - "/dev/ttyUSB0:/dev/ttyUSB0"
|
||||
#network_mode: host
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: "10m"
|
||||
max-file: "5"
|
||||
|
||||
zigbee2mqtt:
|
||||
image: koenkk/zigbee2mqtt:latest #тут отваливается замок, поэтому не latest
|
||||
container_name: zigbee2mqtt
|
||||
ports:
|
||||
- "8080:8080"
|
||||
volumes:
|
||||
- ./zigbee2mqtt/settings:/app/data
|
||||
healthcheck:
|
||||
# в образе нет curl (Alpine), используем wget --spider
|
||||
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8080"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 6
|
||||
start_period: 60s
|
||||
restart: always
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: 50m
|
||||
|
||||
neptun2mqtt:
|
||||
build:
|
||||
context: ./neptun2mqtt/docker
|
||||
dockerfile: Dockerfile
|
||||
restart: always
|
||||
container_name: neptun2mqtt
|
||||
env_file: ./neptun2mqtt/settings/neptun.env
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: "10m"
|
||||
max-file: "5"
|
||||
|
||||
nginx:
|
||||
image: nginx
|
||||
hostname: nginx
|
||||
container_name: nginx
|
||||
links:
|
||||
- "hass"
|
||||
- "certbot"
|
||||
volumes:
|
||||
- ./nginx/settings/site-confs:/etc/nginx/conf.d
|
||||
- ./certbot/settings/data:/config/keys
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
restart: always
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: "10m"
|
||||
max-file: "5"
|
||||
|
||||
certbot:
|
||||
build:
|
||||
context: ./certbot/docker
|
||||
dockerfile: Dockerfile
|
||||
restart: always
|
||||
container_name: certbot
|
||||
volumes:
|
||||
- ./certbot/docker/update_certs.sh:/update_certs.sh:ro
|
||||
- ./certbot/settings/data:/etc/letsencrypt
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
ports:
|
||||
- "8081:80"
|
||||
#entrypoint: certbot
|
||||
#command: certonly --standalone --agree-tos --non-interactive --email admin@yandex5.ru -d gitea.yandex5.ru
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: "10m"
|
||||
max-file: "5"
|
||||
|
||||
#homeconnect2mqtt:
|
||||
# build:
|
||||
# context: ./homeconnect2mqtt/docker
|
||||
# dockerfile: Dockerfile
|
||||
# restart: always
|
||||
# container_name: homeconnect2mqtt
|
||||
# ports:
|
||||
# - "5001:5000"
|
||||
# env_file: ./homeconnect2mqtt/settings/homeconnect2mqtt.env
|
||||
# volumes:
|
||||
# - ./homeconnect2mqtt/settings/config.json:/app/config.json:ro
|
||||
# logging:
|
||||
# driver: json-file
|
||||
# options:
|
||||
# max-size: "10m"
|
||||
# max-file: "5"
|
||||
|
||||
matter-bridge:
|
||||
image: ghcr.io/t0bst4r/home-assistant-matter-hub:latest
|
||||
container_name: matter-bridge
|
||||
ports:
|
||||
- "8482:8482"
|
||||
- "5353:5353"
|
||||
- "5540:5540"
|
||||
- "5541:5541"
|
||||
volumes:
|
||||
- ./matter-bridge/settings/data:/data
|
||||
- ./secrets/hass-fnv/settings/secrets.yaml:/config/secrets.yaml:ro
|
||||
env_file: ./matter-bridge/settings/matter-bridge.env
|
||||
network_mode: host
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: "10m"
|
||||
max-file: "5"
|
||||
|
||||
keenetic:
|
||||
build:
|
||||
context: ./keenetic/docker
|
||||
dockerfile: Dockerfile
|
||||
container_name: keenetic
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8001:8000"
|
||||
env_file: ./keenetic/settings/keenetic.env
|
||||
@@ -0,0 +1,71 @@
|
||||
new_script:
|
||||
alias: Сценарий Я Ушёл
|
||||
sequence:
|
||||
- service: switch.turn_off
|
||||
data: {}
|
||||
target:
|
||||
entity_id: switch.watercontrol_valves
|
||||
- service: climate.set_preset_mode
|
||||
data:
|
||||
preset_mode: away
|
||||
target:
|
||||
area_id:
|
||||
- gostinaia
|
||||
- kukhnia
|
||||
- spalnia
|
||||
- detskaia
|
||||
- service: media_player.turn_off
|
||||
data: {}
|
||||
target:
|
||||
device_id:
|
||||
- 368a8521d684580dd39b88502808b3bc
|
||||
- 07a253973c89fdb7e7b66174bf5a1275
|
||||
- b60210b82dc048bffc5a59f683de2f0a
|
||||
- service: cover.close_cover
|
||||
data: {}
|
||||
target:
|
||||
area_id:
|
||||
- gostinaia
|
||||
- kukhnia
|
||||
- spalnia
|
||||
mode: single
|
||||
icon: mdi:shield-lock
|
||||
'1675839976060':
|
||||
alias: Вскипяти чайник
|
||||
sequence:
|
||||
- service: input_select.set_options
|
||||
data:
|
||||
options: Boil Water
|
||||
target:
|
||||
entity_id: select.chunmi_a1_35e9_cook_mode
|
||||
mode: single
|
||||
'1676313705945':
|
||||
alias: Сценарий Я Дома
|
||||
sequence:
|
||||
- service: switch.turn_on
|
||||
data: {}
|
||||
target:
|
||||
entity_id: switch.watercontrol_valves
|
||||
- service: climate.set_preset_mode
|
||||
data:
|
||||
preset_mode: manual
|
||||
target:
|
||||
area_id:
|
||||
- gostinaia
|
||||
- kukhnia
|
||||
- spalnia
|
||||
- detskaia
|
||||
- if:
|
||||
- condition: sun
|
||||
before: sunset
|
||||
after: sunrise
|
||||
then:
|
||||
- service: cover.open_cover
|
||||
data: {}
|
||||
target:
|
||||
area_id:
|
||||
- gostinaia
|
||||
- kukhnia
|
||||
- spalnia
|
||||
mode: single
|
||||
icon: mdi:shield-lock
|
||||
@@ -0,0 +1,14 @@
|
||||
#################################
|
||||
# HOME PRESENSE #
|
||||
#################################
|
||||
water_action:
|
||||
module: water_action
|
||||
class: WaterValveControl
|
||||
water_valve: switch.watercontrol_valves
|
||||
notify: telegram
|
||||
constraint: input_boolean.water_control
|
||||
water_devices:
|
||||
- binary_sensor.washer_running # стиралка
|
||||
- binary_sensor.bosch_dishwasher_running # посудомойка
|
||||
global_dependencies:
|
||||
- globals
|
||||
@@ -0,0 +1,63 @@
|
||||
import appdaemon.plugins.hass.hassapi as hass
|
||||
import globals
|
||||
|
||||
#
|
||||
# Water leak detector
|
||||
# close water valve and send a report
|
||||
#
|
||||
# Args:
|
||||
#
|
||||
# sensor = water leak sensor group
|
||||
# valve = water valve - app will close it, when leak is detected
|
||||
# notify = notify name to send notification
|
||||
#
|
||||
# None
|
||||
#
|
||||
# Release Notes
|
||||
#
|
||||
# Version 1.0:
|
||||
# Initial Version
|
||||
|
||||
class WaterLeak(hass.Hass):
|
||||
ringtone = 2
|
||||
gw_mac = ''
|
||||
sensors = []
|
||||
def initialize(self):
|
||||
if 'sensor' not in self.args or 'valve' not in self.args or 'notify' not in self.args:
|
||||
self.error("Please provide sensor, valve and notify in config!")
|
||||
return
|
||||
self.sensors = self.get_water_leak_sensors()
|
||||
self.log("leak sensors: {}".format(self.sensors))
|
||||
for sensor in self.sensors:
|
||||
self.listen_state(self.water_leak, sensor)
|
||||
|
||||
def get_water_leak_sensors(self):
|
||||
sensors = []
|
||||
devices = self.get_state()
|
||||
for sensor in devices:
|
||||
if not sensor.startswith(self.args['sensor_prefix']):
|
||||
continue
|
||||
sensors.append(sensor)
|
||||
return sensors
|
||||
|
||||
def water_leak(self, entity, attribute, old, new, kwargs):
|
||||
if new == "on":
|
||||
self.send_alarm(entity)
|
||||
|
||||
def send_alarm(self, entity_id):
|
||||
self.log('water leak alarm triggered!')
|
||||
if 'constraint' in self.args and not self.constrain_input_boolean(self.args['constraint']):
|
||||
return
|
||||
|
||||
#close water valve
|
||||
self.turn_off(self.args['valve'])
|
||||
## to ensure that water is closed. It is important!!!
|
||||
self.call_service("mqtt/publish", topic = 'home/watercontrol/bath/valve/set', payload = 'close')
|
||||
|
||||
message = "ВНИМАНИЕ! В ваше отстутствие сработал датчик протечки воды ({})!!! Выключаю подачу воды.".format(self.friendly_name(entity_id))
|
||||
globals.send_telegram(self, message, target = self.args['notify'])
|
||||
|
||||
message = "Состояние датчиков протечки:\n"
|
||||
for entity_id in self.sensors:
|
||||
message += '{} ({}) = {}\n'.format(self.friendly_name(entity_id), entity_id, self.get_state(entity_id))
|
||||
globals.send_telegram(self, message, target = self.args['notify'])
|
||||
@@ -0,0 +1,65 @@
|
||||
#################################################
|
||||
# WATER #
|
||||
#################################################
|
||||
mqtt:
|
||||
sensor:
|
||||
- unique_id: counter_cold
|
||||
state_topic: 'home/watercontrol/counter2_1'
|
||||
name: 'counter_cold'
|
||||
value_template: '{{ (value | float ) }}'
|
||||
unit_of_measurement: 'm³'
|
||||
device_class: water
|
||||
state_class: total_increasing
|
||||
- unique_id: counter_hot
|
||||
state_topic: 'home/watercontrol/counter2_2'
|
||||
name: 'counter_hot'
|
||||
value_template: '{{ (value | float ) }}'
|
||||
unit_of_measurement: 'm³'
|
||||
device_class: water
|
||||
state_class: total_increasing
|
||||
- unique_id: uptime_watercontrol
|
||||
state_topic: 'home/watercontrol/$uptime'
|
||||
name: 'uptime_watercontrol'
|
||||
value_template: '{{ value | int }}'
|
||||
switch:
|
||||
- unique_id: water_valve
|
||||
name: water_valve
|
||||
state_topic: "home/watercontrol/valves"
|
||||
command_topic: "home/watercontrol/valves/set"
|
||||
payload_on: true
|
||||
payload_off: false
|
||||
optimistic: false
|
||||
retain: false
|
||||
|
||||
template:
|
||||
sensor:
|
||||
- name: counter_hot_outer
|
||||
device_class: water
|
||||
state_class: total_increasing
|
||||
unit_of_measurement: 'm³'
|
||||
state: "{{ states('sensor.counter_hot') | float + 88.97 | round(2) }}"
|
||||
- name: counter_cold_outer
|
||||
device_class: water
|
||||
state_class: total_increasing
|
||||
unit_of_measurement: 'm³'
|
||||
state: "{{ states('sensor.counter_cold') | float + 144.7 | round(2) }}"
|
||||
|
||||
binary_sensor:
|
||||
- name: dryer_running
|
||||
state: "{{ not is_state('sensor.sushilnaia_mash_machine_state', 'stop') }}"
|
||||
- name: washer_running
|
||||
state: "{{ not is_state('sensor.stiralnaia_mashina_machine_state', 'stop') }}"
|
||||
|
||||
homeassistant:
|
||||
customize:
|
||||
switch.water_valve:
|
||||
friendly_name: Подача воды
|
||||
binary_sensor.dryer_running:
|
||||
friendly_name: "Сушильная машина"
|
||||
binary_sensor.washer_running:
|
||||
friendly_name: "Стиральная машина"
|
||||
|
||||
sensor.counter_hot_outer:
|
||||
friendly_name: "Счетчик Внешний Горячая"
|
||||
sensor.counter_cold_outer:
|
||||
friendly_name: "Счетчик Внешний Холодная"
|
||||