1. The sensor/switch only triggers a program to run once and the duration depends on the program’s duration multiplied by the weather adjustment if weather adjustment is selected for that program. After the program finishes running, if the sensor/switch is triggered again it will run again.
2. I checked the code
I am pretty sure the program only triggers when the sensor/switch goes from high to low (or low to high if the reverse logic is selected). So unfortunately the program does NOT continue to run if the sensor remains activated. It’s only triggered when the switch has a status change.
The main reason we made everything open-source is so that users can customize the firmware for their own need. Many users have all sorts of different need and it’s impossible to design one firmware to fit everyone’s need. I understand not everyone has coding skills, but there is only that much we can do. We can’t possibly address everyone’s need.
To modify the program to fit your need, that ‘detect_programswitch_status’ function is basically what you need to modify. So instead of detecting sensor status changes, probably just detect if the sensor remains in one state.
This line is where that function is being used to trigger a program to run: