Что такое Nut UPS?

Nut UPS (Network UPS Tools) — это набор программных инструментов с открытым исходным кодом для управления и мониторинга устройств UPS (Uninterruptible Power Supply) в компьютерной сети. Эти инструменты позволяют пользователям контролировать состояние батареи, управлять настройками питания и планировать корректное завершение работы в случае отключения электроэнергии.

Как установить Nut UPS на Linux?

Процесс установки Nut UPS в Linux может различаться в зависимости от используемого вами дистрибутива.

Шаг 1. Обновите систему

Перед началом установки важно убедиться, что ваша система обновлена. Для этого откройте терминал и выполните следующие команды:

sudo apt-get update
sudo apt-get upgrade

Шаг 2: Установите ИБП с гайкой

После обновления системы вы можете установить Nut UPS, выполнив следующую команду в терминале:

sudo apt-get install nut

Эта команда установит Nut UPS и все его необходимые зависимости.

Шаг 3: Настройка ИБП Nut

После установки ИБП Nut вам нужно будет настроить его так, чтобы он мог обнаруживать и контролировать ваш ИБП. Для этого откройте конфигурационный файл Nut UPS следующей командой:

sudo nano /etc/nut/nut.conf

MODE=netserver
sudo nano /etc/nut/ups.conf
pollinterval = 1
maxretry = 3
[SAIMADRID]
 driver = "blazer_usb"
 port = "auto"
 desc = "Salicru SPS One"
 vendorid = "0665"
 productid = "5161"
 product = "HID UPS"
 serial = "HID UPS"
 vendor = "HID UPS"
 bus = "001"
sudo nano /etc/nut/upsd.conf
LISTEN 127.0.0.1 3493
LISTEN 0.0.0.0 3493

После внесения этих изменений сохраните файл и закройте редактор.

Шаг 4: Запуск сервисов Nut UPS

Чтобы ИБП Nut начал контролировать ваш ИБП, вам необходимо запустить соответствующие службы. Для этого выполните в терминале следующие команды:

sudo systemctl start nut-server
sudo systemctl start nut-monitor

ИБП Nut теперь установлен и настроен в вашей системе Linux, и ваш ИБП готов к мониторингу и управлению через ИБП Nut.

Мониторинг ИБП из Home Assistant

Для мониторинга ИБП в Home Assistant вы можете использовать надстройку интеграции Network UPS Tools (NUT). NUT — это бесплатный программный пакет с открытым исходным кодом для управления и мониторинга устройств ИБП в компьютерной сети, включая определение состояния батареи и планирование безопасного отключения в случае отключения электроэнергии.

Чтобы использовать NUT в Home Assistant, выполните следующие действия:

Установите надстройку интеграции NUT

На главной странице Home Assistant перейдите в меню «Супервизор» и выберите «Магазин надстроек». Найдите надстройку интеграции NUT и нажмите «Установить». После установки надстройка должна появиться в списке установленных надстроек.

Благодаря этому мы сможем добавлять объекты в наш домашний помощник.

Добавление более высокого уровня интеллекта в нашу систему.

Немного странно говорить, что я хочу сделать систему такого типа интеллектуальной. Под этим я подразумеваю, что я хочу, чтобы с этими данными были предприняты действия. Мы не будем ограничиваться простым хранением данных.

Для этого мы создадим автоматизацию, которая запускается в определенных случаях (состояние Offline / Online Battery.)

В автоматизации мы добавим автоматизацию под названием (Power), которая управляет состоянием сая.

Мы добавим идентификатор к каждому триггеру, чтобы знать, какой из двух был выполнен. После этого мы добавим действие, которое отправит нам уведомление на наш мобильный телефон.

После этого мы добавим опцию в случае, если уровень падает ниже 61% батареи. Это выполнит скрипт на raspberry pi, который будет отслеживать сай и отключать всю систему. В случае, если состояние изменится на онлайн, а процент заряда батареи превысит 70%, он отправит сигнал Wake on Lan на сервер, чтобы включить полное резервное копирование системы proxmox.

Скрипт, который следит за саем:

#!/bin/bash
#Shutdown Proxmox
while :
do
  status=$(upsc saimadrid 2>&1 | grep -v '^Init SSL' | grep 'ups.status:' | awk '{print $2}')
  battery_percentage=$(upsc saimadrid 2>&1 | grep -v '^Init SSL' | grep 'battery.charge:' | awk '{print $2}')
  echo $status
  echo $battery_percentage
    if [ "$status" = "OL" ] && [ "$battery_percentage" >= 80 ];
      then
        wakeonlan 6b:6a:90:35:28:74 && echo "Wake Up Proxmox "`date +%y/%m/%d %H:%M:%S` $@"" >>/home/ubuntu/bin/logs/UPS_log.log
        exit 1
    fi
  sleep 1
done

Служба Systemctl, поддерживающая работу демона

[Unit]
Description=Ups Check Status

[Service]
ExecStart=/home/ubuntu/bin/ups_status.sh

[Install]
WantedBy=multi-user.target

Команда автоматизации от Home Assistant для запуска службы:

turn_on_proxmox: ssh -i /config/ssh_keys/id_rsa -o 'StrictHostKeyChecking=no' [email protected] 'sudo systemctl start ups_status.service'

Если вы хотите увидеть эту статью на испанском языке, вы можете перейти на мою главную страницу блогаURL

Если вам понравилась эта статья и вы хотите угостить меня кофе ☕️подпишитесь на BuyMeACoffe Link