<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Anthias 2026.08.1 | Screenly</title><description>A display schedule switches the screen off outside opening hours and back on in the morning, and the TV power controls work on the Raspberry Pi 2, 3 and 4.</description><link>https://www.screenly.io/releases/anthias/2026.08.1/</link><language>en</language><atom:link href="https://www.screenly.io/releases/anthias/2026.08.1/rss.xml" rel="self" type="application/rss+xml"/><lastBuildDate>Fri, 14 Aug 2026 00:00:00 +0000</lastBuildDate><item><title>Anthias 2026.08.1: A new display schedule blanks the screen outside opening hours</title><link>https://www.screenly.io/releases/anthias/2026.08.1/display-schedule/</link><guid isPermaLink="true">https://www.screenly.io/releases/anthias/2026.08.1/display-schedule/</guid><pubDate>Fri, 14 Aug 2026 00:00:00 +0000</pubDate><category>release</category><description>&lt;p&gt;A screen in an office or a shop stays lit all night and all weekend for nobody. People have asked Anthias for a way to turn it off out of hours since 2012, and some ran their own cron job to do it. Anthias 2026.08.1 adds a display schedule to Settings that switches the screen off at closing time and back on in the morning.&lt;/p&gt;
&lt;p&gt;The schedule is off by default, so a player that has always stayed lit keeps doing so after the upgrade. Turn on &amp;quot;Enable schedule&amp;quot; under Settings &amp;gt; Display schedule, then set:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;quot;Turn on at&amp;quot;, 08:00 by default.&lt;/li&gt;
&lt;li&gt;&amp;quot;Turn off at&amp;quot;, 18:00 by default.&lt;/li&gt;
&lt;li&gt;The days it runs. If you uncheck every day, it runs every day.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Times are in the player&amp;#39;s timezone. An overnight schedule belongs to the day it starts: with 18:00 to 06:00 and only Friday checked, the screen comes on Friday evening and stays on until 06:00 on Saturday.&lt;/p&gt;
&lt;h2 id="what-the-screen-does"&gt;What the screen does&lt;/h2&gt;
&lt;p&gt;At each change, Anthias blanks or unblanks the screen itself, and pauses or resumes playback with it. On the Raspberry Pi 5, x86 and arm64 images the display output is switched off, so the display gets no signal. On the Raspberry Pi 2, 3 and 4 images the viewer shows a black screen instead.&lt;/p&gt;
&lt;p&gt;Anthias also sends the HDMI-CEC standby or power-on command to every HDMI port with a CEC display attached. Doing both means a plain monitor goes dark, a TV that obeys CEC goes into standby, and a player with one of each on its 2 ports handles both. You don&amp;#39;t need a CEC adapter or a CEC display for the schedule: it isn&amp;#39;t hidden on boards without one.&lt;/p&gt;
&lt;p&gt;The schedule is checked every minute, so a change lands within about a minute of the time you set. Anthias also repeats the current state about every 10 minutes. That&amp;#39;s what puts a black screen back after the viewer restarts in the middle of the night, and it also means that if you switch the screen on by hand during off hours, it goes off again within about 10 minutes.&lt;/p&gt;
&lt;p&gt;Turning the schedule off while the screen is off brings the screen back on within a minute.&lt;/p&gt;
&lt;h2 id="what-to-check-on-your-setup"&gt;What to check on your setup&lt;/h2&gt;
&lt;p&gt;Whether a TV goes into standby is up to the TV. Anthias 2026.08.1 hasn&amp;#39;t been tested end to end against a CEC-capable display, so if you rely on a TV powering down, watch it the first evening and report what you see. &lt;a href="https://www.screenly.io/releases/anthias/2026.08.1/hdmi-cec-rewrite/"&gt;HDMI-CEC display controls no longer fail on a Raspberry Pi 2, 3 or 4&lt;/a&gt; has the rest of what changed for CEC in this release.&lt;/p&gt;
&lt;h2 id="for-developers"&gt;For developers&lt;/h2&gt;
&lt;p&gt;The schedule is 4 fields on &lt;code&gt;/api/v2/device_settings&lt;/code&gt;, readable with &lt;code&gt;GET&lt;/code&gt; and writable with &lt;code&gt;PATCH&lt;/code&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;display_power_schedule_enabled&lt;/code&gt;, a boolean.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;display_power_on_time&lt;/code&gt; and &lt;code&gt;display_power_off_time&lt;/code&gt;, as &lt;code&gt;HH:MM&lt;/code&gt;. &lt;code&gt;HH:MM:SS&lt;/code&gt; is accepted and stored as &lt;code&gt;HH:MM&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;display_power_days&lt;/code&gt;, a comma-separated list of weekday numbers from &lt;code&gt;0&lt;/code&gt; to &lt;code&gt;6&lt;/code&gt;, where Monday is &lt;code&gt;0&lt;/code&gt;. An empty value means every day. Asset &lt;code&gt;play_days&lt;/code&gt; counts Monday as &lt;code&gt;1&lt;/code&gt;, so the 2 don&amp;#39;t match.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A malformed time or weekday gets a &lt;code&gt;400&lt;/code&gt; response from the API. In the web form, a malformed time keeps its previous value and shows an error.&lt;/p&gt;</description></item><item><title>Anthias 2026.08.1: HDMI-CEC display controls no longer fail on a Raspberry Pi 2, 3 or 4</title><link>https://www.screenly.io/releases/anthias/2026.08.1/hdmi-cec-rewrite/</link><guid isPermaLink="true">https://www.screenly.io/releases/anthias/2026.08.1/hdmi-cec-rewrite/</guid><pubDate>Fri, 14 Aug 2026 00:00:00 +0000</pubDate><category>fix</category><description>&lt;p&gt;If you use Anthias to turn a TV on and off over HDMI, that never worked on a Raspberry Pi 2, 3 or 4, and on a Raspberry Pi 5 only one of the 2 HDMI ports got the command. Anthias 2026.08.1 fixes both, and stops calling an ordinary monitor an error. After upgrading, try it with your TV, because it hasn&amp;#39;t been tested end to end with one yet.&lt;/p&gt;
&lt;p&gt;Before Anthias 2026.08.1, the &lt;a href="https://www.screenly.io/releases/anthias/2026.05.1/hdmi-cec-display-power/"&gt;HDMI-CEC display controls&lt;/a&gt; could only fail on a Raspberry Pi 2, 3 or 4. The &amp;quot;Display Power (CEC)&amp;quot; card on the System Info page read &amp;quot;CEC error&amp;quot;, and &amp;quot;Turn display on&amp;quot; and &amp;quot;Turn display off&amp;quot; in Settings failed, even with a TV that supports CEC.&lt;/p&gt;
&lt;p&gt;From Anthias 2026.08.1, CEC commands go out on the Raspberry Pi 2, 3, 4 and 5 and the Rock Pi 4. They go to every HDMI port that has a CEC display attached, so a second screen isn&amp;#39;t left out. When no port has one, the buttons say &amp;quot;no CEC link on any HDMI port&amp;quot; instead of failing with no reason. Whether the TV then turns on or off is still up to the TV.&lt;/p&gt;
&lt;h2 id="system-info-tells-a-plain-monitor-from-a-fault"&gt;System Info tells a plain monitor from a fault&lt;/h2&gt;
&lt;p&gt;Most desktop monitors don&amp;#39;t support CEC, and Anthias used to report that as &amp;quot;CEC error&amp;quot;. The &amp;quot;Display Power (CEC)&amp;quot; card now reads:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;quot;True&amp;quot; or &amp;quot;False&amp;quot; when every display that answered is on, or in standby.&lt;/li&gt;
&lt;li&gt;&amp;quot;Mixed&amp;quot; when 2 displays disagree, or one is switching.&lt;/li&gt;
&lt;li&gt;&amp;quot;No CEC display detected&amp;quot; when nothing answers. That&amp;#39;s normal for a plain monitor, not a fault.&lt;/li&gt;
&lt;li&gt;&amp;quot;Not available&amp;quot; on a board with no CEC hardware, such as most x86 PCs, as before.&lt;/li&gt;
&lt;li&gt;&amp;quot;CEC error&amp;quot; only when Anthias couldn&amp;#39;t ask at all.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-to-check-on-your-setup"&gt;What to check on your setup&lt;/h2&gt;
&lt;p&gt;Anthias 2026.08.1 hasn&amp;#39;t been tested end to end against a CEC-capable display: no test setup had one. Finding the CEC hardware and telling which ports have a CEC display was checked on a Raspberry Pi 2, 3, 4 and 5, a Rock Pi 4 and an x86 machine. USB CEC adapters haven&amp;#39;t been tried. If you use CEC to turn a TV on and off, try it after upgrading and report what you see.&lt;/p&gt;
&lt;p&gt;The viewer container now does the CEC work for the whole player, so if the viewer isn&amp;#39;t running, the card reads &amp;quot;CEC error&amp;quot; and the buttons fail.&lt;/p&gt;
&lt;h2 id="for-people-who-build-on-anthias"&gt;For people who build on Anthias&lt;/h2&gt;
&lt;p&gt;The images no longer include libcec or &lt;code&gt;cec-client&lt;/code&gt;, since Anthias talks to the kernel&amp;#39;s CEC devices (&lt;code&gt;/dev/cec*&lt;/code&gt;) itself. The viewer container is privileged and already sees them, so the server and Celery containers get no CEC devices: the compose templates drop their &lt;code&gt;/dev/vchiq&lt;/code&gt; entries, and &lt;code&gt;bin/upgrade_containers.sh&lt;/code&gt;, &lt;code&gt;bin/deploy_to_balena.sh&lt;/code&gt; and &lt;code&gt;bin/balena_ota_deploy.sh&lt;/code&gt; no longer rewrite the device list per board. Needing no device list is also what lets CEC work on balena installs, though it hasn&amp;#39;t been tried on a balena device yet.&lt;/p&gt;
&lt;p&gt;On &lt;code&gt;/api/v1/info&lt;/code&gt; and &lt;code&gt;/api/v2/info&lt;/code&gt;, &lt;code&gt;display_power&lt;/code&gt; is still a string or &lt;code&gt;null&lt;/code&gt;. Its values are &lt;code&gt;True&lt;/code&gt;, &lt;code&gt;False&lt;/code&gt;, &lt;code&gt;Mixed&lt;/code&gt;, &lt;code&gt;No CEC display detected&lt;/code&gt;, &lt;code&gt;Not available&lt;/code&gt;, &lt;code&gt;CEC error&lt;/code&gt; and, rarely, &lt;code&gt;No CEC adapter&lt;/code&gt;. &lt;code&gt;Unknown&lt;/code&gt;, which a working adapter with nothing answering used to return, is now &lt;code&gt;No CEC display detected&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Anthias 2026.08.1: Large JPEG and PNG uploads are resized on boards with little RAM</title><link>https://www.screenly.io/releases/anthias/2026.08.1/large-jpeg-png-low-ram-boards/</link><guid isPermaLink="true">https://www.screenly.io/releases/anthias/2026.08.1/large-jpeg-png-low-ram-boards/</guid><pubDate>Fri, 14 Aug 2026 00:00:00 +0000</pubDate><category>improvement</category><description>&lt;p&gt;A phone photo is 12 to 50 megapixels, and a 1080p screen shows about 2 of them. From Anthias 2026.08.1, a board with less than 1.5 GB of RAM shrinks a JPEG or PNG upload that has more pixels than a 1920x1080 image down to about that many, keeping its shape. That covers the Raspberry Pi 2, the Pi 3 and 1 GB boards such as a 1 GB Pi 4. A board with more memory leaves your files as they are.&lt;/p&gt;
&lt;p&gt;In the project&amp;#39;s testing on a 64-bit Raspberry Pi 3, a 6000x4000 photo was stored at 1762x1175, and the viewer used less than half the memory to show it.&lt;/p&gt;
&lt;p&gt;Anthias 2026.08.0 started doing this for images it converts to WebP on upload, such as HEIC and TIFF. JPEG and PNG skip that conversion, so until this release they stayed at full size.&lt;/p&gt;
&lt;h2 id="what-happens-to-your-file"&gt;What happens to your file&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;It keeps its format, and the asset shows as processing until the resize is done.&lt;/li&gt;
&lt;li&gt;A JPEG is saved again at quality 90. A PNG stays lossless.&lt;/li&gt;
&lt;li&gt;A phone photo&amp;#39;s rotation is applied to the pixels and its EXIF data is dropped, so it stays upright.&lt;/li&gt;
&lt;li&gt;GIF, WebP and SVG files aren&amp;#39;t resized.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A resized PNG can end up larger on disk than the original. A flat graphic with big areas of one color compresses very well at full size and less well once it&amp;#39;s scaled down, while a photographic PNG gets smaller. The resize is there to cut the memory the viewer needs to draw the image, so Anthias keeps the resized file either way.&lt;/p&gt;</description></item><item><title>Anthias 2026.08.1: Menu Board's items and World Clock's cities can be set from the Apps tab</title><link>https://www.screenly.io/releases/anthias/2026.08.1/menu-board-installs-with-its-menu/</link><guid isPermaLink="true">https://www.screenly.io/releases/anthias/2026.08.1/menu-board-installs-with-its-menu/</guid><pubDate>Fri, 14 Aug 2026 00:00:00 +0000</pubDate><category>fix</category><description>&lt;p&gt;Installing Menu Board from the Apps tab in &amp;quot;Add asset&amp;quot; gave you a board with your title and footer and no menu under them. Its items are a list, and the form left out any setting that takes a list, so there was nowhere to type them. World Clock&amp;#39;s cities had the same problem.&lt;/p&gt;
&lt;p&gt;From Anthias 2026.08.1, a list setting shows as rows, one per item, with the fields for that item, such as a menu entry&amp;#39;s section, name and price. &amp;quot;Add&amp;quot; puts in a new row and each row has its own remove button. When you edit an installed app, its saved items load back into the rows.&lt;/p&gt;
&lt;p&gt;This closes the gap left when the &lt;a href="https://www.screenly.io/releases/anthias/2026.07.1/signage-app-store/"&gt;Apps tab arrived in Anthias 2026.07.1&lt;/a&gt;, which couldn&amp;#39;t set a list.&lt;/p&gt;</description></item><item><title>Anthias 2026.08.1: A player with nothing to show stops filling its log, and other fixes</title><link>https://www.screenly.io/releases/anthias/2026.08.1/fixes-and-improvements/</link><guid isPermaLink="true">https://www.screenly.io/releases/anthias/2026.08.1/fixes-and-improvements/</guid><pubDate>Fri, 14 Aug 2026 00:00:00 +0000</pubDate><category>roundup</category><description>&lt;h2 id="fixes"&gt;Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;A player with an empty playlist, or with an asset it can&amp;#39;t show, no longer writes the same log line every few seconds. The viewer logs the first time and stays quiet until something changes. The journal on a player is small, and the repeats pushed out the log lines you&amp;#39;d need after a crash.&lt;/li&gt;
&lt;li&gt;On the Raspberry Pi 2 and 32-bit Pi 3 images, a display that disappears while the player runs no longer leaves the viewer retrying on a black screen first, which at startup could take several minutes. The viewer gives up on the first failed start and its container restarts, which is what finds the display again.&lt;/li&gt;
&lt;li&gt;On the Raspberry Pi 5, x86 and arm64 images, when the viewer restarts itself because it started without seeing a connected display, it logs that as a warning instead of an error, so a recovery that worked no longer sends an error report.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="improvements"&gt;Improvements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Anthias&amp;#39;s usage statistics now include the Anthias version, as &lt;code&gt;version_name&lt;/code&gt;, next to the commit and branch they already sent. With &lt;code&gt;analytics_opt_out&lt;/code&gt; set in the player&amp;#39;s config, nothing is sent, as before.&lt;/li&gt;
&lt;li&gt;The API reference on the Anthias website is built from the API itself and updates when the API changes. The old copy was missing 9 endpoints, including the display power and viewer endpoints.&lt;/li&gt;
&lt;li&gt;The Anthias website has pages on using a Raspberry Pi for digital signage, as an advertising display and as an info screen, a link to the signage app store at &lt;a href="https://signage-apps.com/" target="_blank" rel="noopener"&gt;signage-apps.com&lt;/a&gt;, and a Trust Center link with an FAQ entry on where to get the SBOM. It also says plainly that the Raspberry Pi Imager images are the balenaHub Fleets for Good images, which update over the air.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="for-contributors"&gt;For contributors&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;bun run test&lt;/code&gt; runs front-end tests that need a page, using happy-dom, starting with the app settings form.&lt;/li&gt;
&lt;li&gt;New tests for the CEC code, the display schedule, telemetry, image processing and the viewer&amp;#39;s log changes.&lt;/li&gt;
&lt;li&gt;The README no longer carries the broken Star History chart or the stale &amp;quot;Issues and Bugs&amp;quot; note.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Django REST framework, uvicorn, Python development tools and the GitHub Actions used in CI, including CodeQL, were updated.&lt;/p&gt;</description></item></channel></rss>