github bassidus/lgpowercontrol v4.3.1

5 hours ago

A bug-fix release. One suspend in three weeks left the TV on all afternoon, and the cause was a retry cap the sleep hook had no reason to carry. Nothing else in the suspend, wake or idle logic changed.

From 4.3, updating no longer needs a clone:

sudo lgpowercontrol update

Your settings and the TV pairing are carried over.

Fixed

  • The sleep hook gets the ordinary three connect attempts. It passed one, so a single unanswered SYN was the whole budget: 2.1 seconds, no second attempt, and the TV stayed on for the rest of the suspend. The cap's stated reason was that a dead network must not hold up suspend, but the hook only runs where NetworkManager skips the device at sleep — the network is up and nothing is tearing it down. The dispatcher already used three; the hook now does too. When the TV really is unreachable this costs 6.5 seconds instead of 2, once, on a suspend where the TV was on and could not be reached.

    The sleep listener keeps its single attempt, and now says why in the code: everything there has to fit inside logind's delay inhibitor, 5 seconds by default, of which the grace wait already spends one.

  • A failed OFF at suspend says what it cost. The journal logged why the connection failed but never that the TV was therefore left on — a line you want when you read the journal hours later, with the suspend long over.

Changed

  • The README says that SELinux needs no configuration of its own. The installation is labelled once it is written and the NetworkManager entry is placed so it runs in the domain it needs. Confirmed with SELinux enforcing on Bazzite, Fedora and openSUSE Tumbleweed. This was already true; only the documentation was silent about it.

Internal

  • tests/check_installation.py checks the installation itself, in 20 checks: ownership, permissions, units, links, and every installed .py compared byte for byte against the source tree. A version string can be right while the files are old, and a stale copy in /opt has cost this project time twice. tests/install-local.sh installs from a staged copy of the tree so a reinstall does not put your TV's address in a tracked file, and ends by running the checker. Neither ships with the installation.

Don't miss a new lgpowercontrol release

NewReleases is sending notifications on new releases.