31 Commits

Author SHA1 Message Date
vaku
29a7c2586e Ignore .venv
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 01:54:25 +03:00
vaku
ac8a4b88f0 Make daemon stop behavior configurable via signal_ups_on_stop
Off (default): SIGKILL the daemon on addon stop so the UPS keeps power
on. On: SIGTERM it (native behavior) so it saves the RTC and tells the
UPS to cut power. Add translations so the option is documented in the
HA config UI, and document the difference in the README.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 01:51:50 +03:00
vaku
fac31b4d3d Keep UPS power on when the addon is stopped
The daemon treats SIGTERM as system shutdown and clears PI_RUNNING,
making the UPS cut power seconds after the addon stops. Trap the stop
signal and SIGKILL the daemon instead so the UPS is never notified.

When the daemon exits on its own because the UPS commanded a shutdown
(button, low battery, auto shutdown), its init-0 trigger is useless in
a container, so run.sh now performs a clean host shutdown through the
Supervisor (requires hassio admin role).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 01:43:26 +03:00
vaku
6fcef57e7a Remove committed __pycache__ files and add .gitignore
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 01:01:24 +03:00
vaku
93c1f8d3bc Fix entity names and add units per the product brief
VOUT_MAX is the safety limit above which the UPS refuses to boot an
externally-powered Pi, not an output voltage setting. Also clarify
PI_RUNNING, WATCHDOG_GRACE and TOUCH_STATE names, and add documented
units: timeouts and watchdog values are CLI-scaled seconds,
AUTO_SHDN_TIME is minutes; SHDN_DELAY stays raw ticks.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 00:53:01 +03:00
vaku
c1c96d3cfb Rename VIN_THRESHOLD entity to Input voltage threshold
It is a voltage level, not a power quantity.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 00:50:00 +03:00
vaku
3d8deb1176 Disable Docker init so s6-overlay v3 can run as PID 1
The latest homeassistant base images use s6-overlay v3, whose /init
refuses to run unless it is PID 1. Set init:false so the Supervisor does
not inject docker-init in front of it.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 13:53:42 +03:00
vaku
952fc24e90 Make lifepo4wered-daemon the primary process in run.sh
The daemon must contact the UPS within PI_BOOT_TO seconds of power-on
or the UPS cuts power. Start it immediately via exec as the container's
main process; run the MQTT monitor in a background loop with 30s restart
backoff so Supervisor API delays or monitor crashes can never delay or
kill the daemon.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 01:18:46 +03:00
vaku
25b3e2dcc4 Add MQTT monitor with Home Assistant autodiscovery
Poll lifepo4wered-cli every 30s (configurable), publish all registers as
one JSON state payload, and announce sensors/binary sensor via MQTT
discovery. run.sh pulls broker credentials from the Supervisor mqtt
service (Mosquitto addon) with manual overrides in addon options.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 01:15:03 +03:00
vakius
df0864f623 Update README.md 2022-12-09 20:53:57 +02:00
vakius
efd46d1d23 Create LICENSE.md 2022-08-26 13:21:28 +03:00
vakius
e70c0f90e9 Update config.json 2021-06-13 22:44:53 +03:00
vakius
6aede7278f Update config.json 2021-06-13 21:14:35 +03:00
vakius
1aa8ce5643 Update config.json 2021-06-13 21:06:34 +03:00
vakius
685e7847f6 Update config.json 2021-06-13 20:54:02 +03:00
vakius
ddf74596e6 Update Dockerfile 2021-06-13 20:53:21 +03:00
vakius
dae6a23c4d Update config.json 2021-06-13 19:48:56 +03:00
vakius
ee2179a7db Update Dockerfile 2021-06-13 19:48:14 +03:00
vakius
5a832a4f45 Rename 𝚌𝚘𝚗𝚏𝚒𝚐.𝚓𝚜𝚘𝚗 to config.json 2021-06-13 19:41:29 +03:00
vakius
e6379a4ad3 Create run.sh 2021-06-13 19:33:52 +03:00
vakius
a27b569125 Update 𝚌𝚘𝚗𝚏𝚒𝚐.𝚓𝚜𝚘𝚗 2021-06-13 19:09:30 +03:00
vakius
ec428fdc18 Create repository.json 2021-06-13 18:49:39 +03:00
vakius
78af93b804 Rename 𝚌𝚘𝚗𝚏𝚒𝚐.𝚓𝚜𝚘𝚗 to hassio-addon-lifepo4wered/𝚌𝚘𝚗𝚏𝚒𝚐.𝚓𝚜𝚘𝚗 2021-06-13 18:40:04 +03:00
vakius
8717d5ca26 Rename Dockerfile to hassio-addon-lifepo4wered/Dockerfile 2021-06-13 18:39:32 +03:00
vakius
33f9b2abe5 Update README.md 2021-06-13 18:18:05 +03:00
vakius
3c280202ba Update README.md 2021-06-13 18:17:48 +03:00
vakius
7744265241 Create Dockerfile 2021-06-13 18:17:11 +03:00
vakius
5189e1eb30 Update 𝚌𝚘𝚗𝚏𝚒𝚐.𝚓𝚜𝚘𝚗 2021-06-13 17:50:12 +03:00
vakius
6d0b2e567c Update README.md 2021-06-13 17:48:31 +03:00
vakius
a219918a20 Create 𝚌𝚘𝚗𝚏𝚒𝚐.𝚓𝚜𝚘𝚗 2021-06-13 17:46:02 +03:00
vakius
0e8748b2fd Initial commit 2021-06-13 17:41:26 +03:00