So wirklich einfach ist das nicht zu machen. Da es keine Funktion im Adapter dafür gibt, muss man das selbst bauen.
In Blockly wirst du das nicht direkt hinbekommen.
Aber man kann eine JS-Funktion in Blockly bauen, die folgendes tut:
var currentEffect = getState('nanoleaf-lightpanels.0.LightPanels.effect'/*Current effect*/).val;
var effectStates = getObject('nanoleaf-lightpanels.0.LightPanels.effect'/*Current effect*/).common.states;
var keys = Object.keys(effectStates);
var nextIndex = keys.indexOf(currentEffect) + 1;
if (nextIndex >= keys.length) nextIndex = 0;
setState('nanoleaf-lightpanels.0.LightPanels.effect'/*Current effect*/, keys[nextIndex]);
Anschließend kannst du den Funktionsbaustein einfach z.B. in einem Trigger aufrufen. Die Funktion rolliert dann durch alle Effekte durch (fängt beim Letzten dann wieder von vorne an):