You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Error responses are now JSON {"error": "..."} (was a bare string such as "relay not found"). A 500 carries only internal server error; the cause is in the log.
Unknown config keys are an error. Remove jwtSecret and jwtID from webserver: – JWT is no longer supported, authentication is API key only.
Config validation: each relay needs a GPIO between 2 and 27, and no GPIO may be used twice.
env: prod no longer falls back to the embedded development certificate; certFile must exist.
Environment variables are only expanded in the form ${VAR}; a bare $ stays as it is.
New startState per relay (off default, on, last). For last, create /opt/relayhat/data owned by the service user.
SIGHUP keeps the state of relays that stay configured and refuses a broken config instead of exiting. For systemctl reload, add ExecReload=/bin/kill -HUP $MAINPID to the unit.