Cześć,
Po krótce pokażę co i jak możesz monitorować w swoim Raspberry Pi, na przykładzie modelu 3B+.
HA natywnie umożliwia monitoring systemu za pomocą integracji System Monitor, np.
sensor:
# The systemmonitor sensor platform allows you to monitor disk usage, memory usage, CPU usage, and running processes.
# https://www.home-assistant.io/integrations/systemmonitor/
- platform: systemmonitor
resources:
- type: processor_use
- type: load_1m
- type: load_5m
- type: load_15m
- type: memory_use
- type: memory_use_percent
- type: swap_use
- type: swap_use_percent
- type: disk_use
- type: disk_use_percent
- type: last_boot
To uniwersalna integracja, będzie działać również dla innych urządzeń.
Encja sensor.last_boot
pokazuje czas od ostatniego uruchomienia urządzenia, warto to monitorować i dodać automatyzację na to zdarzenie. Pozwala to zauważyć niekontrolowane restarty systemu, przykład z życia wzięty - burza w nocy a ja śpie jak zabity, żona wstaje i wyłącza wszystkie urządzenia z gniazdek, rano dziecko włącza listwę PDU do gniazdka bo nie ma Netfixa .
Do tego możesz dodać monitoring temperatury procesora Maliny:
sensor:
- platform: command_line
name: CPU temperature
command: "/bin/cat /sys/class/thermal/thermal_zone0/temp"
unit_of_measurement: '°C'
value_template: '{{ (value | int /1000) | round(1) }}'
Dzięki temu komponentowi Raspberry Pi Power Supply Checker możesz sprawdzać poprawność zasilania Raspberry Pi. Po skopiowaniu paczki do /custom_components/
musisz dodać do konfiguracji (poniższy opis dotyczy wersji version: 0.2.0):
binary_sensor:
# Raspberry Pi Power Supply Checker
# https://github.com/custom-components/sensor.rpi_power
- platform: rpi_power
i zrestartować HA, potem pojawi się nowa encja:
binary_sensor.rpi_power_status
state: off
friendly_name: RPi Power status
icon: 'mdi:raspberry-pi'
device_class: problem
Jak można zauważyć, device_class
tej encji to problem co oznacza:
Teraz pozostaje dodać tylko automatyzację z powiadomieniem:
automation:
- id: rpi_power_issue
alias: RPi Power Problem Notification
trigger:
- platform: state
entity_id: binary_sensor.rpi_power_status
from: 'off'
to: 'on'
action:
- service: persistent_notification.create
data_template:
message: "RPi Power reported problem. Check the logs."
title: Power Supply Issue
W przypadku wystąpienia problemu dostaniesz powiadomienie a w logach (menu Configuration → Logs) znajdziesz dokładny opis co jest przyczyną problemu.
Przetestowałem działanie tego dodatku podpinając do Raspberry Pi stary zasilacz komórki o parametrach 5V/1A co jest dla Maliny niewystarczające. Co kilka godzin dostawałem powiadomienia ale ani razu urządzenie nie zrestartowało się.