Files
Pironman5/root/usr/sbin/pironman5-service
Cantibra 80210e740a
All checks were successful
Pironman 5 Daemon (Bookworm) / Pironman 5 Daemon [arm64] (push) Successful in 11s
Pironman 5 Daemon (Trixie) / Pironman 5 Daemon [arm64] (push) Successful in 11s
Initialize Git Repository: 'Pironman5'
2026-01-26 06:10:22 +01:00

87 lines
3.4 KiB
Bash

#!/usr/bin/env bash
###
#
# Options Section
#
###
set -e
set -u
set -o pipefail
###
#
# Variables Section
#
###
source '/etc/pironman5.cfg'
DEBUG_LEVEL="${DEBUG_LEVEL:='info'}"
OLED_ENABLED="${OLED_ENABLED:='true'}"
OLED_ROTATION="${OLED_ROTATION:='0'}"
OLED_DISK="${OLED_DISK:='total'}"
OLED_NETWORK_INTERFACE="${OLED_NETWORK_INTERFACE:='all'}"
RGB_ENABLED="${RGB_ENABLED:='true'}"
RGB_LED_COUNT="${RGB_LED_COUNT:='4'}"
RGB_COLOR="${RGB_COLOR:='0a1aff'}"
RGB_BRIGHTNESS="${RGB_BRIGHTNESS:='50'}"
RGB_SPEED="${RGB_SPEED:='50'}"
RGB_STYLE="${RGB_STYLE:='breathing'}"
TEMP_UNIT="${TEMP_UNIT:='C'}"
FAN_MODE="${FAN_MODE:='0'}"
FAN_GPIO_PIN="${FAN_GPIO_PIN:='6'}"
###
#
# Runtime Environment
#
###
case "${1}" in
start)
/opt/pironman5/venv/bin/pironman5-service start --debug-level "${DEBUG_LEVEL}" 2>1 1> '/dev/null' &
/usr/bin/pgrep --newest 'pironman5' > '/run/pironman5/pironman5.pid'
;;
stop)
/opt/pironman5/venv/bin/pironman5-service stop 2>1 1> '/dev/null'
/usr/bin/sleep '3s'
;;
normal)
/opt/pironman5/venv/bin/pironman5-service --oled-enable "${OLED_ENABLED}" &> '/dev/null'
/opt/pironman5/venv/bin/pironman5-service --oled-rotation "${OLED_ROTATION}" &> '/dev/null'
/opt/pironman5/venv/bin/pironman5-service --oled-disk "${OLED_DISK}" &> '/dev/null'
/opt/pironman5/venv/bin/pironman5-service --oled-network-interface "${OLED_NETWORK_INTERFACE}" &> '/dev/null'
/opt/pironman5/venv/bin/pironman5-service --rgb-enable "${RGB_ENABLED}" &> '/dev/null'
/opt/pironman5/venv/bin/pironman5-service --rgb-led-count "${RGB_LED_COUNT}" &> '/dev/null'
/opt/pironman5/venv/bin/pironman5-service --rgb-color "${RGB_COLOR}" &> '/dev/null'
/opt/pironman5/venv/bin/pironman5-service --rgb-brightness "${RGB_BRIGHTNESS}" &> '/dev/null'
/opt/pironman5/venv/bin/pironman5-service --rgb-speed "${RGB_SPEED}" &> '/dev/null'
/opt/pironman5/venv/bin/pironman5-service --rgb-style "${RGB_STYLE}" &> '/dev/null'
/opt/pironman5/venv/bin/pironman5-service --temperature-unit "${TEMP_UNIT}" &> '/dev/null'
/opt/pironman5/venv/bin/pironman5-service --gpio-fan-mode "${FAN_MODE}" &> '/dev/null'
/opt/pironman5/venv/bin/pironman5-service --gpio-fan-pin "${FAN_GPIO_PIN}" &> '/dev/null'
;;
error)
/opt/pironman5/venv/bin/pironman5-service --oled-enable "${OLED_ENABLED}" &> '/dev/null'
/opt/pironman5/venv/bin/pironman5-service --oled-rotation "${OLED_ROTATION}" &> '/dev/null'
/opt/pironman5/venv/bin/pironman5-service --oled-disk "${OLED_DISK}" &> '/dev/null'
/opt/pironman5/venv/bin/pironman5-service --oled-network-interface "${OLED_NETWORK_INTERFACE}" &> '/dev/null'
/opt/pironman5/venv/bin/pironman5-service --rgb-enable 'true' &> '/dev/null'
/opt/pironman5/venv/bin/pironman5-service --rgb-led-count '4' &> '/dev/null'
/opt/pironman5/venv/bin/pironman5-service --rgb-color 'ff0000' &> '/dev/null'
/opt/pironman5/venv/bin/pironman5-service --rgb-brightness '100' &> '/dev/null'
/opt/pironman5/venv/bin/pironman5-service --rgb-speed '100' &> '/dev/null'
/opt/pironman5/venv/bin/pironman5-service --rgb-style 'breathing' &> '/dev/null'
/opt/pironman5/venv/bin/pironman5-service --temperature-unit "${TEMP_UNIT}" &> '/dev/null'
/opt/pironman5/venv/bin/pironman5-service --gpio-fan-mode "${FAN_MODE}" &> '/dev/null'
/opt/pironman5/venv/bin/pironman5-service --gpio-fan-pin "${FAN_GPIO_PIN}" &> '/dev/null'
;;
*)
/opt/pironman5/venv/bin/pironman5-service "$@"
;;
esac