Hi, the <switch> tempate directive follows the same logic as the PHP
switch statement, which compares one value with a series of "case" values.
That means comparing $i with "24 || 48" fails because you're comparing an integer with a boolean.
What you can do though, is reverse the logic, and compare TRUE with a series of boolean tests. See:
<switch expr="TRUE">
<case value="{{ @i==0 }}">
MIDNIGHT
</case>
<case value="
{{ @i==24 || @i==48 }}">
MIDNIGHT
</case>
<case value="{{ @i<12 }}">
MORNING
</case>
<default>
OTHER
</default>
</switch>