В вашем примере вы обнаруживаете нарастающий край (штифт идет от низкого к высокому). падающий край противоположен, поэтому вы можете запустить отдельный обратный вызов с помощью:
GPIO.add_event_detect(17, GPIO.FALLING, callback=other_callback, bouncetime=600)
Однако я рекомендую использовать GPIO Zero вместо RPi.GPIO, как вам кажется, более интуитивно понятен:
from gpiozero import InputDevice
sensor = InputDevice(17)
while True:
sensor.wait_for_active()
print("Fire!")
sensor.wait_for_inactive()
print("No fire")
Возможно, вы обнаружите, что логика перевернута (говорит «огонь», когда огня нет), и в этом случае используйте InputDevice(17, pull_up=True)
В качестве альтернативык приведенному выше коду вы можете использовать if sensor.is_active
или использовать механизм обратных вызовов sensor.when_activated = callback
.См. gpiozero документы для получения дополнительной информации.