updatePowerChannelLabel

open suspend fun updatePowerChannelLabel(num: Int, channelIndex: Int, label: String)(source)

Sets a single power-channel label (0-based channelIndex) atomically: the read-modify-write runs inside a transaction that reads the current labels from the DB, so concurrent edits to different channels can't clobber each other via a stale read. Earlier channels keep their slot (blank padding); trailing blanks are dropped.

Reads via getNodeByNum rather than a scalar SELECT power_channel_labels: Room reads a List<String> query result as one String per row (returning the raw JSON text), not as the column's converted List<String>.