... for sending notifications via Ntfy (https://ntfy.sh/). TODO: use proper formatting once supported in Android app: https://github.com/binwiederhier/ntfy/issues/889
3 KiB
Notify about health state
ℹ️ Info: This script can not be used on its own but requires the base installation. See main README for details.
Description
This script is run from scheduler periodically, sending notification on health related events:
- high CPU utilization
- low available free RAM
- voltage jumps up or down more than configured threshold
- voltage drops below hard lower limit
- power supply failed or recovered
- temperature is above or below threshold
Note that bad initial state will not trigger an event.
Monitoring CPU utilization and available free RAM works on all devices. Other than that only sensors available in hardware can be checked. See what your hardware supports:
/system/health/print;
Sample notifications
CPU utilization
Available free RAM
Voltage
Temperature
PSU state
Requirements and installation
Just install the script and create a scheduler:
$ScriptInstallUpdate check-health;
/system/scheduler/add interval=53s name=check-health on-event="/system/script/run check-health;" start-time=startup;
ℹ️ Info: Running lots of scripts simultaneously can tamper the precision of cpu utilization, escpecially on devices with limited resources. Thus an unusual interval is used here.
Configuration
The configuration goes to global-config-overlay
, these are the parameters:
CheckHealthTemperature
: an array specifying temperature thresholds for sensorsCheckHealthVoltageLow
: value (in volt*10) giving a hard lower limitCheckHealthVoltagePercent
: percentage value to trigger voltage jumps
ℹ️ Info: Copy relevant configuration from
global-config
(the one without-overlay
) to your localglobal-config-overlay
and modify it to your specific needs.
Also notification settings are required for e-mail, matrix, ntfy and/or telegram.