If you want to support multiple alarms, you have to update your TRUE case as well, of course. You need to concatenate new alarm to existing values.
So far it's working well like this:
power < 12.2 && (!ignition || !motion) ? ( alarm ? (alarm.contains("lowBattery") ? alarm : alarm + ",lowBattery") : "lowBattery" ) : (alarm ? alarm : null)
If you want to support multiple alarms, you have to update your TRUE case as well, of course. You need to concatenate new alarm to existing values.