CHG-0033: An Album Asked For on the Bus
| Date | 2026-10-23 |
| Change type | Upgrade |
| Status | In progress |
| Systems | The tenant’s services workload (services.eds.mobile.deevnet.net): the four services rebuilt and restarted. dv02rpi002p01, the relay: npagent replaced |
| How | make -C deploy ship WHERE=builder and make -C deploy/relay push, from the branch voice-play-album |
| Risk | Low. Most likely to go wrong: a service not coming back, which leaves the mobile site’s stand and screen without a current track until shipped again. The home back-end Pi is not touched |
| Decisions | ADR-0040, whose command this puts on the bus |
| Related | CHG-0032, the last change, made on the back-end Pi |
Summary
play_album is the first command that chooses what plays
(ADR-0040).
npagent play-album has already played Van Halen’s first album from the
relay by hand; this puts the same request behind the bus. nowplayd passes
play_album to itunes whatever is current, and the iTunes driver asks
for the album and then asks what plays.
Nothing in the settings changes: NP_ALBUM_SOURCE defaults to itunes.
The workload is shipped from main with this branch’s two commits on it,
so it also takes whatever has merged since it was last shipped.
Goal
- The four services are active after the ship, and
npagentafter the push. {"v":1,"command":"play_album","artist":"Van Halen","album":"Van Halen"}oneds/nowplaying/source/itunes/commandplays the album, andcurrentsays Van Halen.- An album the library does not have is logged as
driver.command_failed, “the library played no album by those names”.
Procedure
make -C deploy ship WHERE=builder.make -C deploy status.make -C deploy/relay push, thenmake -C deploy/relay status.- Publish the command above with nowplayd’s account, which may publish to
a source’s command topic. No account yet may publish
play_albumtonowplaying/commandbut the cover screen’s; nowplayd’s routing of it is tested ininternal/commandand is proved when its sender has an account. - Publish one for an album not in the library.
Undo
Ship and push main again: git switch main, then the two commands above.
Outcome
| When (UTC) | What happened |
|---|---|
| 00:00:45–00:02:25 | ship WHERE=builder from 22889ba: the four images built on the Builder and loaded; all four services active at 00:02:24. nowplayd at once had iTunes playing Van Halen, “Ain’t Talkin’ ‘Bout Love”, and listed the Discogs collection (227 records). |
| 00:02:49 | make -C deploy/relay push: installed 22889ba; npagent active, iTunes followed again. |
| 00:02:57 | play_album for Aerosmith by Aerosmith, asked for by the owner, published with nowplayd’s account on eds/nowplaying/source/itunes/command. Within a second the driver reported Aerosmith, “Make It”, the album’s first track, and nowplayd published it as current. At 00:02:59, after the check, the driver logged command: play_album as done. |
| 00:23:00 | Asked for by the owner: Guns N’ Roses’ first album, named by cmd/discography (ADR-0041) as Appetite for Destruction and published the same way. At 00:23:01 the driver reported “Welcome To The Jungle”, Appetite For Destruction, as the library capitalizes it; at 00:23:02 the command was done. |
Departures from the plan
- Step 5, an album the library does not have, was not run: it would have emptied the queue under the album the owner had just asked for.
Follow-ups
- Step 5, when nothing is being listened to: what iTunes does with an album it does not have, and that the driver logs it.
- An account that may publish
nowplaying/commandfor whatever sendsplay_albumby voice, in the tenant’s Terraform.