A method for transiting a state of an optical network unit, ONU, the method comprises: when the ONU is in an asleep state, upon detection of presence of only downlink data, controlling the ONU to transit from the asleep state to an active free state, and transit from the active free state to a listen/watch state; and when the ONU is in the listen/watch state, upon detection of absence of downlink data, controlling the ONU to transit from the listen/watch state to the active free state, and transit from the active free state to the asleep state; characterized by further comprising: after controlling the ONU to transit from the asleep state to the active free state, detecting a local low power indication, LPI, message or a local doze indication, LDI, message; and acquiring and timing a first time period, wherein transiting from the active free state to the listen/watch state comprises: upon detection of the LPI message or the LDI message, controlling the ONU to transit from the active free state to a doze/watch aware state; and controlling the ONU to transit from the doze/watch aware state to the listen/watch state when the timing or a countdown of the first time period expires; and, comprising: after controlling the ONU to transit from the listen/watch state to the active free state, detecting a local sleep indication, LSI, message; and acquiring and timing a second time period, wherein transiting from the active free state to the asleep state comprises: upon detection of the LSI message, controlling the ONU to transit from the active free state to a sleep aware state; and controlling the ONU to transit from the sleep aware state to the asleep state when the timing or a countdown of the second time period expires. when the ONU is in an asleep state, upon detection of presence of only downlink data, controlling the ONU to transit from the asleep state to an active free state, and transit from the active free state to a listen/watch state; and when the ONU is in the listen/watch state, upon detection of absence of downlink data, controlling the ONU to transit from the listen/watch state to the active free state, and transit from the active free state to the asleep state; upon detection of the LPI message or the LDI message, controlling the ONU to transit from the active free state to a doze/watch aware state; and controlling the ONU to transit from the doze/watch aware state to the listen/watch state when the timing or a countdown of the first time period expires; and, comprising: after controlling the ONU to transit from the listen/watch state to the active free state, detecting a local sleep indication, LSI, message; and acquiring and timing a second time period, wherein transiting from the active free state to the asleep state comprises: upon detection of the LSI message, controlling the ONU to transit from the active free state to a sleep aware state; and controlling the ONU to transit from the sleep aware state to the asleep state when the timing or a countdown of the second time period expires. upon detection of the LSI message, controlling the ONU to transit from the active free state to a sleep aware state; and controlling the ONU to transit from the sleep aware state to the asleep state when the timing or a countdown of the second time period expires.