def get_next_future_timerange_valid(self, timestamp):
        """Get the next valid timerange (next timerange start in timeranges attribute)

        :param timestamp: base time
        :type timestamp: int
        :return: next time when a timerange is valid
        :rtype: None | int
        """
        sec_from_morning = get_sec_from_morning(timestamp)
        starts = []
        for timerange in self.timeranges:
            tr_start = timerange.hstart * 3600 + timerange.mstart * 60
            if tr_start >= sec_from_morning:
                starts.append(tr_start)
        if starts != []:
            return min(starts)

        return None