Умный септик в Home Assistant: настройка Lovelace карточки septic-card

Умный септик в Home Assistant: настройка Lovelace карточки septic-card для контроля уровня, критической отметки и отображения ошибок. Open-source проект с примером конфигурации и исходным кодом на GitHub.

Статья посвящена работе с дашбордами Home Assistant. Если нужно разработать или доработать дашборд под ваши задачи (структура, карточки, логика отображения, мобильная версия), можем помочь в рамках услуги Дашборд умного дома. Если задача шире — доступны другие услуги.

Умный септик в Home Assistant: настройка Lovelace карточки septic-card

Введение

Умный септик в системе умного дома — это способ заранее увидеть риск переполнения накопительной ёмкости и отреагировать до аварийной ситуации. Home Assistant позволяет хранить историю показаний, строить автоматизации и выводить данные в понятном интерфейсе.

В этой статье — установка и настройка Lovelace карточки septic-card для наглядного контроля септика. На GitHub опубликован официальный релиз версии 0.9.0 — именно он установлен и проверен в реальной эксплуатации.

Возможности карточки septic-card

Визуализация построена вокруг «бака» с динамическим заполнением и отметкой критического уровня. Уровень жидкости отображается внутри условного контейнера, а критическая отметка выделяется отдельной линией.

Карточка собирает данные в один виджет и может отображать:

  • текущий уровень жидкости
  • температуру
  • давление
  • критический уровень
  • факт превышения уровня
  • уровень сигнала SDT
  • текст ошибки

Нормальный режим

В нормальном режиме карточка показывает септик в виде бака с заполнением и шкалой отметок 10, 20, …, 90. Текущий уровень показывается в процентах в центре бака, а визуальная «вода» поднимается и опускается в соответствии со значением сенсора уровня.

Шкала может располагаться по центру или слева — положение задаётся параметрами конфигурации. Активные отметки подсвечиваются по мере роста уровня.

В нижней части карточки отображаются подключённые параметры, такие как температура, давление, уровень сигнала SDT и другие сущности, указанные в конфигурации.

Превышение критического уровня

В карточке присутствует красная линия критического уровня. Она соответствует значению сенсора критического порога и служит ориентиром для оценки риска переполнения.

Если уровень пересекает критическую отметку, карточка переходит в аварийный вид и визуально подчёркивает критическое состояние.

Отображение ошибок

Карточка поддерживает отображение текстовой ошибки в нижней части под изображением бака. В случае ошибки интерфейс сигнализирует об аварийном состоянии и выводит текстовое сообщение.

Если состояние ошибки равно “ok” на русском или английском языках, ошибка считается отсутствующей. Во всех остальных случаях текст ошибки отображается.

Установка карточки septic-card

Установка через HACS

Перед установкой septic-card необходимо установить HACS (Home Assistant Community Store). Подробно процесс установки рассмотрен в статье блога: Как установить HACS.

  1. Откройте HACS → Frontend
  2. Найдите septic-card через поиск или добавьте репозиторий вручную в разделе «Пользовательские репозитории» (Custom repositories)
  3. Установите карточку
  4. Обновите интерфейс

Ручная установка через GitHub

  1. Скачайте файл septic-card.js из раздела Releases
  2. Скопируйте его в каталог /config/www/septic/
  3. Перейдите в Настройки → Панели управления → Ресурсы
  4. Добавьте ресурс /local/septic/septic-card.js с типом «Модуль JavaScript»

Если карточка не отображается, очистите кэш браузера и обновите страницу

Базовая конфигурация карточки

Карточка ожидает набор сущностей (сенсоров), включая бинарный сенсор для фиксации превышения критического уровня. Обычно эти сущности приходят из реального оборудования или формируются через REST-интеграцию.

Пример сенсоров, построенных на базе input_boolean, input_number и input_text:

- sensor:
    - name: "Septic tank liquid level"
      unique_id: sensor_septic_tank_liquid_level
      state: "{{ states('input_number.septic_tank_level') }}"
      unit_of_measurement: "%"

    - name: "Septic tank temperature"
      unique_id: sensor_septic_tank_temperature
      state: "{{ states('input_number.septic_tank_temp') }}"
      unit_of_measurement: "°C"

    - name: "Septic tank pressure"
      unique_id: sensor_septic_tank_pressure
      state: "{{ states('input_number.septic_tank_pressure') }}"
      unit_of_measurement: "mbar"

    - name: "Septic tank critical level"
      unique_id: sensor_septic_tank_x_level
      state: "{{ states('input_number.septic_tank_x_level') }}"
      unit_of_measurement: "%"

    - name: "Septic tank SDT"
      unique_id: sensor_septic_tank_sdt
      state: "{{ states('input_number.septic_tank_sdt') }}"
      unit_of_measurement: "%"

    - name: "Septic tank error"
      unique_id: sensor_septic_tank_error_name
      state: "{{ states('input_text.septic_tank_error_name') }}"

- binary_sensor:
    - name: "Septic tank exceeds critical level"
      unique_id: binary_sensor_septic_tank_exceeds_x_level
      state: "{{ is_state('input_boolean.septic_tank_exceeds_x_level', 'on') }}"
      device_class: problem

Минимальный рабочий пример конфигурации карточки:

type: custom:septic-tank-card
entities:
  level: sensor.septic_tank_liquid_level
  temp: sensor.septic_tank_temperature
  pressure: sensor.septic_tank_pressure
  x_level: sensor.septic_tank_critical_level
  exceeds_x_level: binary_sensor.septic_tank_exceeds_critical_level
  sdt: sensor.septic_tank_sdt
  error_name: sensor.septic_tank_error

После добавления карточки проверьте, что она корректно отображается, уровень соответствует данным сенсора, критическая отметка совпадает со значением x_level, а превышение фиксируется при состоянии exceeds_x_level = on.

Расширенная настройка карточки

Расширенная конфигурация позволяет управлять отображением заголовка карточки, расположением шкалы и процентов, видом иконок, подписями параметров и логикой отображения отдельных элементов. Ниже — полный пример конфигурации для septic-card версии 0.9.0.

type: custom:septic-tank-card
entities:
  level: sensor.septic_tank_liquid_level
  temp: sensor.septic_tank_temperature
  pressure: sensor.septic_tank_pressure
  x_level: sensor.septic_tank_critical_level
  exceeds_x_level: binary_sensor.septic_tank_exceeds_critical_level
  sdt: sensor.septic_tank_sdt
  error_name: sensor.septic_tank_error
tank:
  header:
    show: true
    label: My septic tank
  level:
    show: true
  scale:
    position: left
level:
  show: true
  icon: mdi:water-percent
  label: Liquid level
temp:
  show: true
  label: Temperature
  icon: mdi:thermometer
pressure:
  show: true
  label: Pressure
  icon: mdi:gauge
x_level:
  show: true
  label: Critical level
  icon: mdi:water-minus
exceeds_x_level:
  show: true
  label: Exceeding the liquid level
  icon: mdi:water-alert
sdt:
  show: true
  label: SDT
  icon: mdi:signal
error_name:
  show: true
  label: Error
  icon: mdi:alert-decagram-outline

Пример полезных автоматизаций

Ниже приведён схематичный пример автоматизации уведомления о превышении уровня септика. Сервис notify.notify — заглушка, замените его на ваш реальный канал уведомлений (Telegram, мобильное приложение Home Assistant и т. п.). При необходимости также замените entity_id на ваши.

alias: "Septic: превышение уровня"
mode: single
trigger:
  - platform: state
    entity_id: binary_sensor.septic_tank_exceeds_critical_level
    to: "on"
action:
  - service: notify.notify
    data:
      title: "Септик: превышен критический уровень"
      message: >
        Текущий уровень: {{ states('sensor.septic_tank_liquid_level') }}%

Поддерживаемое оборудование

Ниже — оборудование, с которым карточка протестирована

Если вы хотите проверить совместимость карточки с другим оборудованием, вы можете связаться с нами, используя контакты, указанные на сайте IoT7m.

Дорожная карта

Мы продолжаем развивать проект. В версиях после 0.9.0 планируется добавление бейджа (badge), tile-карточки и настройки через визуальный редактор.

Будем рады сообщениям об ошибках, предложениям по развитию и обсуждениям на GitHub. Поддержите проект — ставьте звёзды и делитесь обратной связью.

Заключение

Lovelace карточка septic-card делает контроль септика наглядным и быстрым. Вместо набора разрозненных сенсоров вы получаете один визуальный элемент с понятной логикой отображения аварийных состояний.

Полезные ссылки

В Telegram-канале @iot7m_ru публикуются практические заметки по Home Assistant: опыт эксплуатации устройств, интеграция с различным оборудованием, создание дашбордов и разбор типовых проблем. Многие материалы основаны на реальных запросах и консультациях. Подпишитесь на @iot7m_ru, если используете Home Assistant на практике.