Skip to content

v4.1

Latest

Choose a tag to compare

@bassidus bassidus released this 09 Aug 12:33
· 1 commit to main since this release

A feature release, built around sharing the TV with something other than this computer.

Updating keeps your TV pairing, so the TV does not have to be paired again. It does not keep your settings: the installer copies the configuration file from the clone over /opt/lgpowercontrol/lgpowercontrol.conf. If you have been editing the installed file, copy your settings into the clone's lgpowercontrol.conf first.

4.1 also changes the shipped configuration file, so git pull refuses to run over a clone where you edited it. Stash your changes across the pull:

cd lgpowercontrol
git stash
git pull
git stash pop
sudo ./install.py

Added

  • The TV can now be shared with another source. If a work laptop, a console or a set-top box sits on another HDMI input, set POWER_OFF_ONLY_ON_HDMI in the configuration file to the input this computer is connected to. The TV is then left alone whenever it is showing something else: it is not turned off when this computer suspends or goes idle, and its input is not switched when this computer wakes. It applies to the TV's own apps too, so watching Netflix on the TV keeps it from being turned off just as another input does. Empty by default, which keeps the previous behaviour exactly.

    Contributed by Nikhil Gohil (#15).

Fixed

  • Turning Wake-on-LAN off did not turn it off. lgpowercontrol wol --disable reported success while leaving the setting switched on on the network card, and wol --status then agreed it was off. Anyone who accepted Wake-on-LAN during installation and later turned it off has had it on since. This one is worth checking after updating:

    lgpowercontrol wol --status

    If it reports that the setting is left to the card, run lgpowercontrol wol --disable once to actually turn it off. --status now also tells the three cases apart instead of guessing.

  • The installer offered Wake-on-LAN on computers that cannot use it. On a system without NetworkManager it described the setting at length and then reported that no wired network device was found, about a card that was working normally. It now says once, up front, that turning the TV off at suspend is unavailable there, and that waking the TV still works.

  • A TV that drops the connection mid-command was reported as a fault in LGPowerControl itself, complete with a traceback, instead of as the network event it is.

  • A misspelled value for the new POWER_OFF_ONLY_ON_HDMI setting turned off the TV power-off entirely and permanently, with a single log line as the only sign. Anything that is not a plain input number is now ignored, and the setting is disabled by leaving it empty.


Repeated from 4.0.2

A small bugfix release, and the fix matters most when updating: on most distributions the background TV monitor kept running the previous version's code until the computer was rebooted. If you updated to 4.0.1 without rebooting afterwards, you were still getting 4.0's behaviour.

Updating from 4.0 or 4.0.1 keeps your TV pairing:

cd lgpowercontrol
git pull
sudo ./install.py

Fixed

  • Updating did not restart the background service. After updating, the TV monitor carried on running the code it started with, until the next reboot. Nothing indicated this had happened.
  • Uninstalling left parts of the installation behind. The TV monitor kept running, and the services' startup entries stayed in place, pointing at files that had just been removed.

Both affected the ordinary distributions — Arch, Fedora, Mint, Ubuntu and the like. Immutable ones such as Bazzite and Silverblue were not affected by either.


Repeated from 4.0.1

The last three releases came within hours of each other, so here are 4.0.1 and 4.0 again in full.

A bugfix release. Four of these were introduced in 4.0 itself: three of them made 4.0 unusable on immutable, SELinux-enforcing distributions such as Bazzite, and the fourth affected every distribution. If 4.0 is working for you today, the last one is still worth updating for.

Updating from 4.0 keeps your TV pairing:

cd lgpowercontrol
git pull
sudo ./install.py

Fixed

  • The installer could not run at all on immutable distributions — Bazzite, Silverblue and other ostree-based systems. It stopped with a read-only filesystem error before installing anything, and uninstalling failed the same way.
  • Turning the TV off when the computer suspends silently never happened on distributions with SELinux enforcing. There was no error and nothing in the system log to indicate it; the TV simply stayed on until its own no-signal timeout. This affected Fedora Workstation and Silverblue as well as Bazzite. Machines with Wake-on-LAN enabled on their network card were unaffected, because a different part of the program handles suspend for them.
  • The TV control could not start from the network hook on distributions with SELinux enforcing, because the installed files were given the wrong security labels.
  • Every command reported success regardless of what happened. lgpowercontrol STATUS exited 0 even when the TV could not be reached, TV authorization reported "TV authorization OK!" against a TV that was never there, and a pairing key the TV had rejected was never cleared, so re-pairing could not fix itself. This one affected every distribution, and any script checking the exit code.

Repeated from 4.0

The two releases came close together, so here is 4.0's changelog again in full.

Updating works differently from now on. The built-in lgpowercontrol update command has been removed, so 4.0 was the last release your installation can fetch for you. Settings and TV pairing carry over automatically when you update to it. After that, updating means pulling the repository and running the installer:

git clone https://github.com/bassidus/lgpowercontrol.git
cd lgpowercontrol
nano lgpowercontrol.conf
sudo ./install.py

Removed

  • lgpowercontrol update, along with the daily update check and its notification.
  • The standalone lgpowercontrol-wol, lgpowercontrol-authorize and lgpowercontrol-update commands. The first two are subcommands now: lgpowercontrol wol, lgpowercontrol authorize. Scripts calling the old names need updating.

Changed

  • The installation no longer runs from a Python virtual environment. It is an ordinary package directory under the system Python, so an operating system upgrade to a new Python version can no longer leave the installation unable to start. This affects rolling-release distributions as much as immutable ones.
  • /opt/lgpowercontrol/lgpowercontrol.conf is now replaced by the repository's copy on every install, which makes reinstalling a way to repair a damaged configuration file. Edit the copy in your clone and reinstall, rather than editing the installed one.
  • The installer now checks the machine before installing: leftovers from older versions are removed automatically, and it stops if LG_Buddy is present, since the two cannot share a machine.
  • Uninstalling no longer asks about Wake-on-LAN on your network card. Change it with lgpowercontrol wol --enable or --disable.

Fixed

  • A 404 no such service or method reply from the TV crashed the command instead of being reported as an error.
  • lgpowercontrol ON and OFF printed a traceback when run without sudo. They now degrade quietly, so the commands stay usable by hand.

Note for installations older than 3.0

Updating straight to this release is supported: your settings and pairing key are carried across. Once it is installed you will no longer have the old update command, so keep the clone instructions above.