HABApp migration from JSR223-Jython

I’ make a simplified example:

In my living room, I have on the wall sets of switches that should switch lights on or dim etc.
The case is also that the same light might be switched by different switches positioned across the living room.

switches channel triggers for lamp 1:

deconz:switch:00212E00C488:04cd15fffe6f9d60011111:buttonevent triggered 1002
deconz:switch:00212E00C488:04cd15fffe6f9d60022222:buttonevent triggered 1002
deconz:switch:00212E00C488:04cd15fffe6f9d60033333:buttonevent triggered 1002

switches channel triggers for lamp 2:

deconz:switch:00212E00C488:04cd15fffe6f9d60044444:buttonevent triggered 1002
deconz:switch:00212E00C488:04cd15fffe6f9d60055555:buttonevent triggered 1002
deconz:switch:00212E00C488:04cd15fffe6f9d60066666:buttonevent triggered 1002

Now a sample HABApp sample rule:

class MyChannelRule(Rule):
    def __init__(self):
        super().__init__()
        self.listen_event('deconz:switch:00212E00C488:04cd15fffe6f9d60011111:buttonevent', self.on_channel, EventFilter(ChannelTriggeredEvent,  event="1002"))
        self.listen_event('deconz:switch:00212E00C488:04cd15fffe6f9d60022222:buttonevent', self.on_channel, EventFilter(ChannelTriggeredEvent,  event="1002"))
        self.listen_event('deconz:switch:00212E00C488:04cd15fffe6f9d60033333:buttonevent', self.on_channel, EventFilter(ChannelTriggeredEvent,  event="1002"))
        self.listen_event('deconz:switch:00212E00C488:04cd15fffe6f9d6044444:buttonevent', self.on_channel, EventFilter(ChannelTriggeredEvent,  event="1002"))
        self.listen_event('deconz:switch:00212E00C488:04cd15fffe6f9d60055555:buttonevent', self.on_channel, EventFilter(ChannelTriggeredEvent,  event="1002"))
        self.listen_event('deconz:switch:00212E00C488:04cd15fffe6f9d60066666:buttonevent', self.on_channel, EventFilter(ChannelTriggeredEvent,  event="1002"))

    def on_channel(self, event: ChannelTriggeredEvent):
        if  (event.name == "deconz:switch:00212E00C488:04cd15fffe6f9d60011111:buttonevent" or 
            event.name == "deconz:switch:00212E00C488:04cd15fffe6f9d60022222:buttonevent" or 
            event.name == "deconz:switch:00212E00C488:04cd15fffe6f9d60033333:buttonevent"):

            log.info("Toggle Light 1 on/off") 

        if  (event.name == "deconz:switch:00212E00C488:04cd15fffe6f9d6044444:buttonevent" or 
            event.name == "deconz:switch:00212E00C488:04cd15fffe6f9d60022222:buttonevent" or 
            event.name == "deconz:switch:00212E00C488:04cd15fffe6f9d60033333:buttonevent"):

            log.info("Toggle Light 2 on/off") 

MyChannelRule()

and how I did it in Jython:

triggers = []
triggers.append(ChannelEventTrigger("deconz:switch:00212E00C488:04cd15fffe6f9d60011000:buttonevent", "1002", "TOG1").trigger)
triggers.append(ChannelEventTrigger("deconz:switch:00212E00C488:04cd15fffe6f9d60011000:buttonevent", "1002", "TOG1").trigger)
triggers.append(ChannelEventTrigger("deconz:switch:00212E00C488:04cd15fffe6f9d60011000:buttonevent", "1002", "TOG1").trigger)
triggers.append(ChannelEventTrigger("deconz:switch:00212E00C488:04cd15fffe6f9d60011000:buttonevent", "1002", "TOG2").trigger)
triggers.append(ChannelEventTrigger("deconz:switch:00212E00C488:04cd15fffe6f9d60011000:buttonevent", "1002", "TOG2").trigger)
triggers.append(ChannelEventTrigger("deconz:switch:00212E00C488:04cd15fffe6f9d60011000:buttonevent", "1002", "TOG2").trigger)



@rule("Setting Scenes Rule)", description="This Rule controls the scene selection and execution")
class sceneSwitchRule(object):
    def __init__(self):
        self.triggers = triggers

    def execute(self, module, inputs):
        act = str(inputs["module"]).split("_")[0]

        if act == "TOG1":
            log.info("Toggle Light 1 on/off") 
        elif act == "TOG2":
            log.info("Toggle Light 2 on/off") 

the actual project is described here, which is based on a JSON string out of which all the trigger definition are created: