Багато користувачів хочуть бачити системні метрики своїх серверів прямо в Home Assistant. Один із найпростіших шляхів — зчитати температуру CPU на вузлі Proxmox і передати її в Home Assistant через вбудований REST API. Цей метод не потребує окремого брокера (типу MQTT) і налаштовується за кілька кроків.
Крок 1: Налаштування сенсорів на Proxmox
Встановіть пакети та перевірте, що температура читається коректно:
apt install lm-sensors
sensors-detect
sensors | grep 'Package id 0'Команда sensors має показати значення температури CPU (наприклад, рядок із Package id 0).
Крок 2: Створення токена в Home Assistant
- Увійдіть у свій Home Assistant:
http://<IP>:8123. - Натисніть іконку профілю (ліворуч унизу).
- Прокрутіть до розділу Long‑Lived Access Tokens.
- Натисніть Create Token, дайте назву (наприклад, “Proxmox CPU”).
- Скопіюйте створений довгий рядок (починається з
eyJh...) — це ваш токен доступу.
Токен показується лише один раз при створенні. Збережіть його безпечно та додайте у скрипт.
Крок 3: Скрипт на Proxmox для передачі даних у Home Assistant
Створіть файл /root/scripts/send_cpu_temp_to_ha.sh з таким вмістом:
#!/bin/bash
url_base="http://10.57.14.60:8123/api/states"
token="eyJh..." # вставте ваш токен
sensor_id="sensor.proxmox_cpu_temperature"
cpu_temp=$(sensors | grep 'Package id 0' | awk '{print $4}' | sed 's/+//;s/°C//')
payload=$(cat <<EOF
{
"state": "${cpu_temp}",
"attributes": {
"friendly_name": "Температура CPU 🧊",
"unit_of_measurement": "°C",
"icon": "mdi:cpu-64-bit"
}
}
EOF
)
curl -s -X POST \
-H "Authorization: Bearer ${token}" \
-H "Content-Type: application/json" \
--data "${payload}" \
"${url_base}/${sensor_id}"Зробіть файл виконуваним:
chmod +x /root/scripts/send_cpu_temp_to_ha.shКрок 4: Автоматизація через cron
Додайте завдання у crontab (оновлення кожні 5 хвилин):
crontab -e
*/5 * * * * /root/scripts/send_cpu_temp_to_ha.shКрок 5: Результат у Home Assistant
Після першого виконання скрипта в Home Assistant з’явиться сутність sensor.proxmox_cpu_temperature. Вона оновлюватиметься відповідно до розкладу cron і міститиме дружнє ім’я, одиниці вимірювання та іконку.
Важливо: сенсор, створений через REST API, не має unique_id, тому його налаштуваннями не можна керувати з інтерфейсу. Якщо потрібне керування через UI, додайте дзеркальний template‑сенсор у YAML:
- platform: template
sensors:
proxmox_cpu_temp_ui:
friendly_name: "Температура CPU 🧊"
unique_id: "proxmox_cpu_temp_ui"
unit_of_measurement: "°C"
icon_template: "mdi:cpu-64-bit"
value_template: "{{ states('sensor.proxmox_cpu_temperature') }}"Де увімкнути або знайти API Home Assistant
REST API у Home Assistant увімкнений за замовчуванням і доступний за адресою http://<IP>:8123/api/. Доступ контролюється токенами (див. розділ про створення токена). Окремих налаштувань у UI для увімкнення API немає — достатньо токена і коректного запиту.
Як бачити сенсори безпосередньо в Proxmox
На самому вузлі використовуйте команду sensors для перегляду температур:
sensors
sensors | grep 'Package id 0'За потреби встановіть додаткові пакети (наприклад, hddtemp для дисків). У веб‑GUI Proxmox відображаються базові метрики, а деталі зручно дивитися через консоль.
Висновок
Схема Proxmox → Home Assistant через REST API — це швидкий і надійний спосіб інтеграції температури CPU: Proxmox збирає дані через lm-sensors, скрипт надсилає їх у /api/states, Home Assistant відображає сенсор, а cron забезпечує регулярні оновлення. Для повного керування сенсорами через UI додайте дзеркальний template‑сенсор з unique_id.


Коментувати